docs: consolidate process docs into development.md (v1.x closure phase 3)
test / test (push) Has been cancelled

Fold documentation-plan and progress into development.md, drop docs/archive,
retarget live links, and point README plus agent-rules at the new home.

Co-Authored-By: Composer <noreply@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mixeme
2026-08-09 00:37:35 +03:00
parent 9d6d89c79d
commit 5a0724778a
11 changed files with 208 additions and 674 deletions
+32 -34
View File
@@ -10,17 +10,20 @@
пункта здесь фиксирует намерение и дизайн; кодирование начинается отдельным
решением.
**Основа:** [product.md](product.md) v1.0. Несделанное для v1.0/v1.x
— в [implementation-plan.md](implementation-plan.md). Хвост закрытого
**Основа:** [product.md](product.md) v1.0. Процесс и правила документации —
[development.md](development.md). Несделанное для v1.0/v1.x до тега — в
[implementation-plan.md](implementation-plan.md) и
[v1.x-closure-plan.md](v1.x-closure-plan.md). Хвост закрытого
документационного прохода (D1–D9) — в секции ниже.
---
## v1.x — хвост документации и деплоя
**Статус:** не блокирует релизный тег; перенесено из закрытого
[documentation-plan.md](documentation-plan.md) (бывшая находка 11 и отложенный
пункт D4). Делать по желанию или в релизном коммите, где указано.
**Статус:** не блокирует релизный тег; бывший хвост закрытого
документационного прохода (D1–D9). Делать по желанию или в релизном коммите,
где указано. Сводка чек-листов до тега —
[v1.x-closure-plan.md](v1.x-closure-plan.md).
**Тег образа в compose + git tag — один релизный коммит (R1).** В
[deploy/docker-compose.yml](../deploy/docker-compose.yml) поле `image:` бампить
@@ -28,36 +31,33 @@
Сейчас там `0.1.0`, то есть отстаёт от целевой версии; несовпадение мешает
только до первого выката по тегу. Сам тег — последний шаг релизного гейта:
содержательная часть (e2e C.4, ревизия § D) закрыта, режется по явной команде
оператора ([progress.md](progress.md)). После тега `release.yml`
собирает и публикует `ghcr.io/mixeme/selfpost:X.Y.Z`, поэтому compose с новым
тегом и сам тег обязаны появиться вместе — иначе compose неделю ссылается на
несуществующий образ.
оператора ([development.md](development.md) § Commits and release build). После
тега `release.yml` собирает и публикует `ghcr.io/mixeme/selfpost:X.Y.Z`,
поэтому compose с новым тегом и сам тег обязаны появиться вместе — иначе
compose неделю ссылается на несуществующий образ.
**Убрать `implementation-plan.md` — в релизном коммите.** Документ закрыт:
уникального содержания в нём нет, § D (предрелизная ревизия безопасности)
продублирован в [progress.md](progress.md), [security.md](security.md) и
CHANGELOG `[Unreleased]/Security`, а разделы B.1–B.3 и C.4 вырезаны ещё в
`22f86d1`. Держится до тега только потому, что описывает релизный гейт, пока тот
формально не закрыт. При резке версии:
продублирован в [security.md](security.md) и CHANGELOG `[Unreleased]/Security`,
а разделы B.1–B.3 и C.4 вырезаны ещё в `22f86d1`. Держится до тега только
потому, что описывает релизный гейт, пока тот формально не закрыт. При резке
версии:
1. Переместить в `docs/archive/` (рядом со `specification-v1.0.md`) — история
§ D сохраняется, из активной документации уходит.
1. Удалить файл (история § D — в git и CHANGELOG; `docs/archive/` не храним).
2. Перецелить ссылки из кода и CI ([Makefile](../Makefile),
[.github/workflows/release.yml](../.github/workflows/release.yml),
[test/e2e/main_test.go](../test/e2e/main_test.go)) — они ссылаются на «план
C.4», секцию, которой в файле уже нет; актуальное описание e2e — в
[development.md](development.md).
3. Перецелить ссылки из документации: [README.md](../README.md) («Open v1.x
questions» — открытых вопросов там нет) [progress.md](progress.md);
[security.md](security.md), [documentation-plan.md](documentation-plan.md),
[progress.md](progress.md) и шапку этого файла → на
`progress.md`/`security.md`.
4. В [progress.md](progress.md) убрать шаг «Открыть `implementation-plan.md`» —
он выполнен.
3. Перецелить оставшиеся ссылки из документации на
[development.md](development.md) / [security.md](security.md) /
[roadmap.md](roadmap.md).
4. Удалить [v1.x-closure-plan.md](v1.x-closure-plan.md) в том же или следующем
коммите.
**Готово, когда:** тег образа в compose совпадает с релизом и рядом стоит
git-тег `vX.Y.Z`; `implementation-plan.md` в `docs/archive/`, ссылок на него в
активных документах и в коде/CI не осталось.
git-тег `vX.Y.Z`; `implementation-plan.md` и `v1.x-closure-plan.md` удалены,
ссылок на них в активных документах и в коде/CI не осталось.
(Закрыто и действия не требует: `docs/logo` как каталога нет — критерию «либо
содержит файлы, либо отсутствует» удовлетворяет; Quick start в
@@ -65,11 +65,9 @@ git-тег `vX.Y.Z`; `implementation-plan.md` в `docs/archive/`, ссылок
`raw.githubusercontent.com` — это и есть единственная площадка проекта, зеркал
больше нет.)
**Сводный индекс документации в README.** Ссылки на `docs/` разбросаны по
тексту README (блок в шапке плюс упоминания по месту), единого списка нет —
читателю, который ищет «а где вообще что», приходится вычитывать документ.
Стоит одного абзаца со списком всех файлов `docs/` и одной строкой на каждый.
Мелочь, но именно она делает набор документов набором, а не россыпью.
**Сводный индекс документации в README.** ~~Ссылки на `docs/` разбросаны по
тексту README…~~ **Закрыто (v1.x-closure Фаза 3):** секция Documentation в
[README.md](../README.md) — единый список operator docs + roadmap.
**Опрос мониторинга у открытой, но незанятой вкладки.** ~~Скрытая вкладка уже не
опрашивает сервер (фильтр на `htmx:beforeRequest` в
@@ -154,17 +152,17 @@ git-тег `vX.Y.Z`; `implementation-plan.md` в `docs/archive/`, ссылок
**Что это.** Точка входа для стороннего контрибьютора: dev loop, маршрутизация
моделей по типу работы, протокол коммитов, требование
`gofmt`/`vet`/`test`/`make e2e` до PR. Сейчас всё это есть, но в
[development.md](development.md) и [progress.md](progress.md) — то есть на
русском и вперемешку с внутренним состоянием проекта.
`gofmt`/`vet`/`test`/`make e2e` до PR. Сейчас всё это есть в
[development.md](development.md) (английский процесс) и в этом файле (открытая
работа, русский).
**Почему 2.x, а не v1.x.** Файл имеет смысл, когда есть кому его читать: у
проекта один разработчик и внешнего потока PR нет, поэтому сейчас
`CONTRIBUTING.md` был бы документом без аудитории и ещё одним местом, где
расходится правда о dev loop. Уместен вместе с тем, что реально открывает
проект вовне: английская документация процесса ([development.md](development.md),
README, `architecture.md`; `progress.md`, `roadmap.md` — внутренние, на русском)
и первый внешний интерес после публикации релиза.
README, `architecture.md`; [roadmap.md](roadmap.md) — внутренний трекер, на
русском) и первый внешний интерес после публикации релиза.
**Готово, когда:** `CONTRIBUTING.md` в корне описывает dev loop, требования к
проверкам перед PR и протокол коммитов; [development.md](development.md) не