Ревью трансформации нашло, что тема 78 спорит сама с собой в четырёх местах.
Учёт был отдан агенту, хотя перечень оркестратора объявлен закрытым, а
границы задания прямо говорят «задач не заводит»: вызов av-dev:task-track
вернулся оркестратору, агенту третьего такта осталось письмо в документы.
Ветка отказа не была покрыта — на ответе «ничего» правка первого такта
уезжала в коммит невычитанной и с непрогнанным гейтом. Теперь третий такт
идёт всякий раз, когда была реплика; не идёт он только тогда, когда реплики
не было вовсе. Дом правила вычитки в doc-sync знает про два захода.
Барьер карты кластеров из сценария «задачи из ревью и аудита» снимается там,
где его уже прошли: список показан человеку и получил ответ. При прямом
вызове и вызове из code-deep-review карта по-прежнему вопрос.
Счёт стопов сведён в таблицу по сценариям; у обслуживания появился второй
заход и одна реплика с поводом «новый запрет или инвариант». Сигнал сверки
считается по архиву change и каталогу задач разом — иначе chore и research
не считались вовсе — и вошёл в возврат агента и в доклады трёх сценариев.
Ось «род правки документа» внесена в перечень осей.
Журнал — тема 80; отложенный старший долг назван в С287.
Состав прогона постоянный: гейт, спеки, код, триаж; приёмник тем идёт,
когда у проекта есть свои темы. Метка, разметка и проход review-scope
упразднены, review-levels.md удалён, ось «метка» снята из axes.md.
Ступень 4 ушла из цикла: review-proof упразднён через день после
заведения, review-architecture переехал в code-deep-review вслед за
adversary и ops. Темы security, operations и architecture закрывает
review-code сверкой с записанными инвариантами, потолком 1 находка.
Умолчание разметки действий перевёрнуто на инлайн; развилка осталась
за необратимым, изменением дельта-спек и нарушенным инвариантом.
Задачи из урожая заводятся по слову человека, а не шагом сценария.
Чекпоинт назван единственным местом, где решается форма решения.
Потеряны ось времени в цикле и суждение о форме после кода — обе
потери названы в «Честном пределе» строкой границ покрытия.
Журнал — тема 77.
В цикле задачи темы security и operations закрывает один лёгкий проход
review-proof: чтением и рассуждением, без запуска, потолки раздельные. Машину
он не держит, поэтому идёт в общем залпе — цепочки за ресурс в обычном прогоне
не осталось. Тяжёлая пара adversary и ops переехала в новый скилл
code-deep-review: вход — названная область кода, глубина постоянная, исход —
разбор с человеком и задачи через task-track. Вход глубокому прогону копит сам
цикл строками «отложено». Журнал — тема 76.
Сценарий решения идёт от предложения сразу к чекпоинту и коду: стадия ревью
дизайна упразднена целиком, review-scope запускается после apply и меряет
размер по диффу, сложность — сверкой обещанных границ с тронутыми. Чекпоинт
остался единственным плановым стопом и стоит теперь до кода. review-rubric
конвейером не зовётся, слот рубрики в скелете config.yaml снят. Журнал —
тема 74.
«Пять ревью», «три capability», «десять проходов» читаются как сведение, а
живут до ближайшего пополнения корпуса. Расхождение молчаливое вдвойне:
фраза остаётся грамматически исправной, диффом не ловится — правят не её, а
корпус, — и проверяется только пересчётом, которого никто не делает.
Сослаться можно двумя способами, и оба не стареют: на конкретную запись
именем, слагом или датой либо на корпус целиком. Величину называет сам
каталог в момент чтения, а абзац её только запоминает.
Две границы названы явно, иначе правило запретило бы форму, на которой
держится половина процессных текстов. Число-заголовок к перечню,
приведённому тут же, не задето: правят его в той же строке, что и список.
Замер с провенансом не задет тоже — он про прошлое и не пополняется.
Разделяет вопрос «изменится ли число само, без правки текста».
Судит вычитка, пофразно: правило уехало помеченной копией в уставы
doc-wording и task-wording, у обоих названы частое место находки и запрет
пересчитывать корпус — находка в самом числе, а не в его неверности.
Описания агентов дополнены, чтобы не отстать от механики. В карте домов
канона стоит ссылка: счёт корпуса выглядит не копией, а собственным
наблюдением документа.
Собственная проза приведена к правилу: девять правил языка (их стало
десять этим же коммитом), десять агентов-проходов и девять скиллов в
README, восемь скриптов в перечне осей, шесть тем ядра в сценарии решения
и в конвейере ревью, семь проходов в правилах нарезки.
Задачу часто нужно решить прямо по описанию в разговоре, без файла в
каталоге — так её берёт и opsx:propose. Скилл вход текстом объявлял, но
прорабатывала его одна разведка: у решения и обслуживания шаг «прочитать
задачу» читал разделы записи, шаг закрытия закрывал запись, признак
обслуживания опирался на объявленный автором тип, а критерии приходили
«от проекта».
Форм постановки теперь две, и они равноправны. Отпадают ровно те шаги, у
которых пропал предмет: ready гонять нечего, закрывать нечего. Ни один
шаг с предметом не выпал — гейт, ревью, синк, чекпоинт и коммит идут как
обычно, а сценарий, метку и глубину форма не выбирает.
Взамен пропавшего — названное вслух первой репликой: как понята
постановка, каким типом её считаешь и где проводишь границу. Человек,
написавший текст, сидит в этом же разговоре и поправляет одной фразой;
названный после работы тип не признак, а объяснение готового диффа.
По сценариям: решение добирает недостающие критерии приёмки на чекпоинте
и считает их данными только после ответа; обслуживание объявляет их
отсутствие строкой (чекпоинта у него нет) и само называет границы,
которых текст не дал; разведка увязана с общим правилом, а её шаг
закрытия отпал с оговоркой про единственный след — записанный ответ.
Записи в каталог скилл по-прежнему не заводит: ни перед работой, ни
задним числом ради закрытия. Похожую строку беклога не разыскивает.
Перечень осей пополнен формой постановки: по ней ветвятся готовность,
источник типа и наличие закрытия.
Команда 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
перестал объявлять юрисдикцию над чужим плагином.
Тип goal и индекс ROADMAP.md убраны: цель — зонтик над параллельными
направлениями, а у проекта на одного человека список работ линеен. Роадмап
при этом наполовину дублировал беклог, а «что уже умеет» отвечают спеки и
git log индекса. Секция «Готово» удалена, а не перенесена.
Вместо цели — ось «стадия проекта»: build (беклог это план стройки, порядок
строк значит зависимость, секция одна) и support (очередь правок, порядок
значит важность, секции — полки домена). Стадия объявляется ключом
[tasks] stage, меняется командой stage, без неё check отказывает: порядок
строк нечем прочитать.
Ушли теги goal:/decomposed, поле «Секция», раздел «Завершение», флаги
--goal и edit --section. Версия раскладки 2 → 3, перевод проекта расписан
записью журнала.
- каталог скилла и все вызовы переименованы: префикс `doc-` называл материал,
а скилл занят формой — раскладкой всех частей проекта и общим повышением
версии, включая каталог задач;
- README перестроен: `canon` вынесен из семейства документов отдельным блоком
и отдельным узлом графа, правило префиксов переформулировано, у документов
уточнено владение — содержимым, а не раскладкой;
- заведена запись 2 журнала версий: в проекте ничего не переехало, но путь к
`docs.py` и имя вызова живут в гейте и в `CLAUDE.md` проекта и сломаются
молча;
- прежние адреса в записи 1 и в журнале решений оставлены как есть: журнал
описывает состояния, которые были, и задним числом не переписывается.
- `decisions.py` судит четыре вещи: уникальность номеров Т/Р/С, раскладку тем,
указатель и ссылки — цель существует, подпись называет именно её;
- проверка идёт без glob, как адреса: файл темы и ссылки на него лежат порознь,
и переименование темы трогает только одну сторону, а ломает обе;
- ссылка внутри блока кода ссылкой не считается — в скелетах канона она
адресована дереву проекта.
Слияние ничего из идей не тронуло, но сделало дешёвым дом для правила, натянутого
между скиллами. Заведён shared/axes.md — дом перечня, а не значений: девять осей,
их адреса и чего каждая не решает. Механика остаётся у владельца.
Целиком сюда переехали две оси, у которых владельца не было. Коды выхода
объявлялись общим словарём в одиннадцати местах, и каждое объявление называло
свой набор соседей; машина их не сверяла, потому что copies.py смотрит markdown,
а перечни лежали в docstring'ах. Теперь дом один, скрипты держат указатель, а три
SKILL.md — помеченную копию, потому что на кодах они ветвятся. Режим прогона
(с меткой, без метки) был размазан по четырём файлам и осью назван не был, хотя
в уставе review-basics задаёт саму возможность запуска.
Разведены два значения слова «стадия»: ступени 1-5 внутри прогона кода, стадии
дизайна и кода снаружи.
Карта нашла ошибку в себе: клетка «категория документа × метка» пустой не была —
review-basics приёмник проектных тем при любой метке. Пустой оказалась соседняя:
на прогоне без метки план фиксирован, и своих тем проекта в нём нет вовсе.
Обе оставшиеся пустоты названы вслух, а не заполнены наугад.