канон 4: секция «Сопровождение», «Готово» вниз, порядок закреплён
healthlog уже переехал на канон 3, а переименование секции я внёс правкой записи версии 3 задним числом — то есть переписал текст, по которому он ехал. Посылка «ни один проект на каноне 3 не стоит» была ложной, решение ШШШ отменено. Запись версии — черновик ровно до первого переехавшего проекта. После этого она история, и любое изменение канона заводит новую версию, даже если меняется одно слово. Проверять дёшево: grep '"canon"' по живым проектам. Дорого обратное — проект, повышенный по тексту, которого больше не существует, невоспроизводим. Запись версии 3 восстановлена дословно (Разработка | Tooling), переименование уехало в версию 4. jellybit, стоящий на каноне 2, прочтёт обе записи подряд и заведёт Разработка, чтобы через шаг переименовать; в шаг версии 3 добавлена оговорка «едешь сразу на 4 — заводи Готово последней и не переставляй дважды». «Готово» переехало вниз, и порядок секций стал каноническим. Достигнутое копится: через год этой секции больше, чем всех остальных вместе, и стоя первой она отодвигает за экран то, ради чего роадмап открывают чаще всего. Порядок проверяет roadmap_lint, переставляет check --fix — вместе с содержимым секций, потому что двигать десяток строк руками это работа, на которой ошибаются. Чужую секцию перестановка не трогает вовсе: её место в порядке неизвестно. Индексы позиций считаются из самого кортежа: ACHIEVED был 0 и стал 3, хардкод пережил бы перестановку молча и сломал бы close. Обкатка нашла два дефекта оформления, оба порождённые самой перестановкой. Отбивка нужна и перед заголовком — сдвиг блоков ставит два заголовка вплотную. Удаление строки индекса оставляет две пустые подряд, и пустоты копятся. Проверка оформления теперь сверяется с самим нормализатором, а не своим набором условий: два описания одного правила разъедутся, и check начнёт молчать о том, что --fix правит. CANON_VERSION = 4 в docs.py, примеры .pm.json в canon.md и skeletons.md. DECISIONS тема 26 (ЭЭЭ, ЮЮЮ, ЯЯЯ, следствия 98–100). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -225,7 +225,7 @@
|
||||
|
||||
| Файл | Что отвечает | Секции |
|
||||
| --- | --- | --- |
|
||||
| `ROADMAP.md` | что приложение уже умеет и чего ещё не умеет | канонические: `Готово`, `Запланировано`, `Направления`, `Сопровождение` (англ. `Done`, `Planned`, `Directions`, `Operations`) |
|
||||
| `ROADMAP.md` | что приложение уже умеет и чего ещё не умеет | канонические и в этом порядке: `Запланировано`, `Направления`, `Сопровождение`, `Готово` (англ. `Planned`, `Directions`, `Operations`, `Done`) |
|
||||
| `BACKLOG.md` | что **можно взять** — только задачи | секции проекта (по умолчанию Ядро/Инфра) |
|
||||
| `SPRINT.md` | какая цель и какой набор под неё | одна: «Набор» |
|
||||
| `REJECTED.md` | что ушло без реализации и почему | — |
|
||||
@@ -250,11 +250,13 @@
|
||||
строки не той формы, что у прочих индексов: дата, слаг, заголовок — как в
|
||||
`REJECTED.md`, и по той же причине (файла уже нет, ссылаться некуда).
|
||||
|
||||
**Секции роадмапа закреплены** — состав, полнота и единство языка проверяются
|
||||
`check`; секции беклога проект называет сам. Почему так — SKILL.md.
|
||||
**Секции роадмапа закреплены** — состав, полнота, единство языка и **порядок**
|
||||
проверяются `check`; секции беклога проект называет сам. Почему так — SKILL.md.
|
||||
Порядок закреплён потому, что `Готово` копится: стоя первым, достигнутое
|
||||
отодвигает за экран то, ради чего роадмап открывают чаще всего.
|
||||
|
||||
**Заголовок секции пишется с прописной, и после него идёт пустая строка** — во
|
||||
всех индексах, включая секции беклога, имена которых выбирает проект. Написание
|
||||
**Заголовок секции пишется с прописной и отбивается пустой строкой с обеих
|
||||
сторон** — во всех индексах, включая секции беклога, имена которых выбирает проект. Написание
|
||||
канонических секций и отбивку правит `check --fix`; он же сводит написание
|
||||
секции в мете файла с заголовком индекса — **имя секции принадлежит заголовку**,
|
||||
файл на неё лишь ссылается, и принадлежность сверяется по нижнему регистру.
|
||||
|
||||
Reference in New Issue
Block a user