Files
selfpost/docs/implementation-plan.md
T
mix aaf0711326 docs: add full codebase review and implementation plan
Record comprehensive code review in docs/code-review.md covering architecture, quality, documentation, GUI, legacy, and risks. Link from implementation-plan and progress; update CHANGELOG.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 10:31:15 +03:00

40 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# План реализации: SelfPost
**Статус:** для линии v1.0/v1.x до тега релиза остаётся **один пункт** (ниже).
B.1–B.3 и C.4 закрыты — as-built в [architecture.md](architecture.md),
e2e/CI в [development.md](development.md), принятые риски в
[security.md](security.md). Комплексное рецензирование кодовой базы и план
доработок — [code-review.md](code-review.md). Текущее состояние и следующий
шаг: [progress.md](progress.md). Объём 2.x.x — [roadmap.md](roadmap.md).
**Основа:** [product.md](product.md) v1.0.
---
## D. Предрелизная ревизия безопасности
**Проверка на уязвимости моделью Fable** — после B.1–B.3 и C.4, **до тега
релиза**. Не выполнено.
**Почему один проход по итоговому состоянию, а не по каждому пункту.** B.1C.4
меняли одну и ту же поверхность (сессии в SQLite, logrotate + `postfix reload`,
гейт `SELFPOST_HOSTNAME`, e2e-override с ослабленными настройками). Срезы по
отдельным коммитам не заменяют просмотр дифа от `v1.0.0` до HEAD.
**Объём.** Диф от тега `v1.0.0` до состояния перед следующим тегом — вместе с
Фазами 12–14, которых в аудите v1.0 не было — плюс повторный проход по чек-листу
ТЗ 7.6 целиком, а не только по изменённым строкам. Приоритет: аутентификация и
сессии, валидация ввода, запись в конфиги и map-файлы (injection), `os/exec` без
shell, права на файлы в `/data`, обращение с секретами (пароли приложений,
`sasldb2`, архив бэкапа).
**Модель — Fable** (не Opus): код писал Opus, проверка собственной работы
систематически слабее независимой. Правило progress.md «безопасность/инфра →
Opus» — про написание; здесь ревизия. Форма: `/security-review` по изменениям
(скилл смотрит диф) + ручной проход по 7.6.
**Гейт.** Вместе с e2e (C.4, готов): до тега. Находка класса «эксплуатируется
снаружи» откладывает тег. Каждая находка закрывается явно: правка до тега либо
запись в [security.md](security.md) как принятый риск с обоснованием. «Посмотрели
и ладно» — не закрытие.