секции роадмапа названы и закреплены линтером
готово | запланировано | направления | разработка, англ. done | planned | directions | tooling. Из четырёх предложенных имён отвергнуто одно, и по проверяемой причине: «окружение» уже занято — в architecture.md это боевое окружение приложения, «где работает, что рядом, кто перезапускает», и одно слово в двух смыслах развело бы документы канона. Секции роадмапа стали каноническими, в отличие от секций беклога, и разница выведена, а не назначена: у каждой секции роадмапа своя семантика, в первую пишет сам close, и роадмап, названный по-своему, читался бы только своим автором. Секции беклога — полки, смысла не несут, остаются делом проекта. check проверяет три вещи: состав закреплён (чужая секция — ошибка), все четыре обязаны быть, язык один на весь индекс. Проверено на том случае, ради которого правило и заводилось: «Что уже пройдено», которую healthlog вёл руками, теперь называется ошибкой поимённо. Оба языка прогнаны вживую, включая close в английский роадмап. Ключа tasks.achieved_section не появилось — секция достигнутого опознаётся по каноническому имени в любом из языков; --roadmap-sections у init упразднён, выбирать больше нечего. Названные вслух компромиссы: «готово» слегка тянет в трекерную рамку «состояние работы», тогда как секция про возможность — перевесила читаемость; цель в «запланировано» может быть уже наполовину построена, это очередь, а не «не начато», «в работе» живёт в SPRINT.md. DECISIONS 19: ГГГ переписан, добавлен ДДД, следствие 78 заменено. TODO 7 закрыт. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+27
-7
@@ -1407,16 +1407,36 @@ SSS: рубрика на узел без нового понятия порож
|
||||
словаре, тесте готовности, автомате переходов, `split.md` и трёх местах
|
||||
`tasks.py`.
|
||||
|
||||
**ГГГ. Имена секций роадмапа временные.** `умеет` / `строим` / `направления` /
|
||||
`станок` приняты как рабочие и признаны неудачными на месте — особенно `станок`
|
||||
(слово пришло из `CLAUDE.md`, где «общий станок» уже значит инструмент,
|
||||
врывающийся в спринт). Вопрос запаркован до отдельного захода.
|
||||
**ГГГ. Имена секций роадмапа — `готово` / `запланировано` / `направления` /
|
||||
`разработка`.** Первый набор (`умеет` / `строим` / `станок`) прожил один заход и
|
||||
был признан неудачным. Из четырёх предложенных имён отвергнуто одно, и по
|
||||
проверяемой причине: **`окружение` уже занято** — в `architecture.md` это боевое
|
||||
окружение приложения, «где работает, что рядом, кто перезапускает», и одно слово
|
||||
в двух смыслах развело бы документы канона. Взято `разработка`.
|
||||
|
||||
Принятый компромисс назван вслух: `готово` слегка тянет обратно в трекерную рамку
|
||||
«состояние работы», тогда как секция про **возможность**. Перевесила читаемость с
|
||||
первого взгляда, а смысл несут заголовки целей внутри секции. Так же принято, что
|
||||
цель в `запланировано` может быть уже наполовину построена: это очередь, а не
|
||||
«не начато», а «в работе» живёт в `SPRINT.md`.
|
||||
|
||||
**ДДД. Секции роадмапа канонические, секции беклога — нет.** Разница выведена, а
|
||||
не назначена: у секций роадмапа есть **семантика** (достигнутое, очередь, долгое,
|
||||
не про продукт), в первую пишет сам `close`, и роадмап, названный по-своему,
|
||||
читался бы только своим автором. Секции беклога (`ядро`, `инфра`) семантики не
|
||||
несут — это полки. Поэтому `check` проверяет у роадмапа три вещи: состав закреплён
|
||||
(чужая секция — ошибка), все четыре обязаны быть, язык один на весь индекс;
|
||||
`--roadmap-sections` у `init` упразднён. Английский набор — `done` | `planned` |
|
||||
`directions` | `tooling`.
|
||||
|
||||
Проверено на том самом случае, ради которого правило и заводилось: секция «Что
|
||||
уже пройдено», которую healthlog вёл руками, теперь называется ошибкой поимённо.
|
||||
|
||||
### Что из этого следует
|
||||
|
||||
78. **Секция достигнутого — единственная, чьё имя знает скрипт.** Остальные
|
||||
берутся из заголовков индекса как есть; в эту `close` пишет сам, поэтому её
|
||||
имя живёт в `docs/.pm.json`, ключ `tasks.achieved_section`.
|
||||
78. **Ключа `tasks.achieved_section` не появилось.** Секция достигнутого
|
||||
опознаётся по каноническому имени в любом из двух языков, и лишний knob не
|
||||
заводится: канонический состав отвечает на тот же вопрос надёжнее конфига.
|
||||
79. **`reopen` цели снимает строку достигнутого.** Иначе роадмап продолжает
|
||||
утверждать, что приложение умеет то, что вернулось в работу.
|
||||
80. **Прозаический раздел в индексе — дрейф.** Любой `##` проверка считает
|
||||
|
||||
Reference in New Issue
Block a user