Files
selfpost/docs/implementation-plan.md
T
mix 22f86d120a docs: trim implementation-plan to open release gate
Leave only pre-release security review (section D) in implementation-plan.md. Move closed B.1-C.4 as-built detail to architecture.md and development.md; document accepted risks in security.md; optional send-log follow-ups in roadmap.md.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 00:50:13 +03:00

2.8 KiB
Raw Blame History

План реализации: SelfPost

Статус: для линии v1.0/v1.x до тега релиза остаётся один пункт (ниже). B.1–B.3 и C.4 закрыты — as-built в architecture.md, e2e/CI в development.md, принятые риски в security.md. Текущее состояние и следующий шаг: progress.md. Объём 2.x.x — roadmap.md.

Основа: product.md v1.0.


D. Предрелизная ревизия безопасности

Проверка на уязвимости моделью Fable — после B.1B.3 и C.4, до тега релиза. Не выполнено.

Почему один проход по итоговому состоянию, а не по каждому пункту. B.1–C.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 как принятый риск с обоснованием. «Посмотрели и ладно» — не закрытие.