задачи: починена смена стадии, разобраны находки ревью плагина
Команда stage была дефектна по шести пунктам, и все шесть подтверждены прогоном: не звала raw_last (переход оставлял каталог красным), не переписывала шапку беклога (индекс продолжал объявлять прежнюю стадию), шла в обход write_config, молча пропускала файлы с непересобираемой метой, ломалась на беклоге без заголовков и схлопывала полки при первом объявлении стадии. Объявление и смена разведены: объявление беклога не трогает вовсе, смена трогает состав секций только по явному --sections, а слить полки скрипт не берётся ни в одном случае. Абзац шапки размечен парой «стадия», и расхождение с конфигом стало обычным дрейфом. Отказ по недостающей строке индекса запирал запись, пережившую упразднение роадмапа: edit, close и reopen теперь заводят или пропускают строку сами. Прочее: регистр stage нормализуется при чтении; --fix снимает мёртвые теги и у неразобранных записей; move отказывает переставлять сырьё; adopt держит место сырья; docs.py bump двигает одну запись журнала за раз; tasks.py получил перечень упразднённых адресов, и гейт наконец видит собственное упразднение ROADMAP.md. Запись «Версия 3» переписана по прогону на игрушечном проекте: прежний порядок шагов был неисполним. Закрыты дыры модели стадий (пересмотр плана стройки стал сценарием, приёмка отвязана от груминга, from-review, research и adopt получили развилку по стадии, перечень осей пересчитан) и находки, старшие этой сессии: review-triage получил режим без метки, три списка проектных копий сведены к дому с проверяемыми копиями, пять пересказов правил стали помеченными копиями или ссылками, language.md перестал объявлять юрисдикцию над чужим плагином.
This commit is contained in:
@@ -190,7 +190,9 @@ stateDiagram-v2
|
||||
|
||||
Вместе с целью ушли: секция `Готово` (её ответ дают спеки и история), теги
|
||||
`goal:<слаг>` и `decomposed`, поле меты `Секция` (осталась `Категория`), раздел
|
||||
`Завершение` и команды `list --goal`, `edit --goal`. Встретились в проекте —
|
||||
`Завершение`, ключи `[tasks] roadmap` и `[tasks] completion_heading`, флаги
|
||||
`add --goal`, `list --goal`, `list --index`, `edit --goal`, `edit --section` и
|
||||
`init --roadmap`. Встретились в проекте —
|
||||
`check` назовёт их поимённо, `check --fix` снимет теги, а запись типа `goal`
|
||||
оставит человеку: во что она превращается — в задачу или в ничто, — машина не
|
||||
решает.
|
||||
@@ -517,7 +519,9 @@ python3 $tk adopt scan --from … --stage S | apply --plan … # разова
|
||||
пять файлов из одной мысли, а сорок файлов из сорока сырых находок. Защита та
|
||||
же, что в самом ревью: кластеризация по причине, дедуп против живых и
|
||||
`REJECTED.md`, находка без свидетельства → сырьё (`research`), а не задача, и карта кластеров
|
||||
пользователю до создания файлов. Порядок и отображение серьёзности —
|
||||
пользователю до создания файлов. **Стадию смотри и здесь**, тем же нулевым
|
||||
шагом: от неё зависит, куда ляжет тяжёлая находка — наверх очереди или после
|
||||
своей зависимости. Порядок и отображение серьёзности —
|
||||
[references/from-review.md](references/from-review.md).
|
||||
|
||||
### Прийти в репозиторий, где задачи уже как-то ведутся
|
||||
@@ -530,6 +534,32 @@ python3 $tk adopt scan --from … --stage S | apply --plan … # разова
|
||||
Если переводить надо не только задачи, а весь `docs/` — это скилл
|
||||
`av-dev:canon`, и он зовёт этот сценарий сам на своём шаге.
|
||||
|
||||
### Пересмотр плана стройки
|
||||
|
||||
Операция стадии `build`, и на доработке её нет: там переоценка идёт порциями и
|
||||
называется грумингом. **Повод один — сменился замысел**, а не «давно не
|
||||
смотрели»: план стройки протухает не по частям, а целиком, потому что порядок в
|
||||
нём — зависимость, и одна изменившаяся посылка переставляет всё, что ниже.
|
||||
|
||||
Порционный разбор здесь вреден, и это не вкус: вынуть пять шагов из середины
|
||||
списка, порядок которого и есть его содержание, — значит получить план, про
|
||||
который никто уже не скажет, почему он такой.
|
||||
|
||||
1. **Назови, что изменилось в замысле.** Одной фразой, и она уедет причиной в
|
||||
каждое движение. Не находится — значит повода нет, и пересмотр не нужен.
|
||||
2. **Прочитай список целиком**, сверху вниз, и по каждой строке ответь одно из
|
||||
трёх: остаётся как есть, переезжает (`move --after` с причиной), уходит
|
||||
(`close --reason`). Дописанное новое встаёт туда, куда велит зависимость, а
|
||||
не в конец.
|
||||
3. **Покажи человеку весь новый список**, а не отдельные решения: план читается
|
||||
только целиком. `AskUserQuestion` с готовым порядком и доводом на каждое
|
||||
движение.
|
||||
4. `check` и доклад: сколько строк тронуто из скольких, что ушло и почему.
|
||||
|
||||
**Границу с грумингом держи твёрдо.** Если хочется пересмотреть план «потому что
|
||||
накопилось» — это не пересмотр, а признак того, что стройка кончилась: беклог
|
||||
перестал быть планом и стал очередью. Проверь `stage`.
|
||||
|
||||
### Декомпозиция и штурм сырья
|
||||
|
||||
[references/split.md](references/split.md). Обе операции превращают одну запись в
|
||||
@@ -557,7 +587,7 @@ python3 $tk adopt scan --from … --stage S | apply --plan … # разова
|
||||
одну половину делает дорогой, а вторую — поверхностной.
|
||||
|
||||
Модель у обоих одна, `sonnet`, и это не отменяет разреза. Оба судят по
|
||||
**записанному правилу** — семь пунктов формы против правил языка, — а их находка
|
||||
**записанному правилу** — шесть пунктов формы против правил языка, — а их находка
|
||||
приходит готовой формулировкой, которую читает и отклоняет человек, а не молча
|
||||
реализует оркестратор. Ошибка здесь стоит строки чтения, и платить за неё верхней
|
||||
моделью не за что.
|
||||
|
||||
Reference in New Issue
Block a user