resolve: ревью дизайна снято, разметка переехала за код

Сценарий решения идёт от предложения сразу к чекпоинту и коду: стадия ревью
дизайна упразднена целиком, review-scope запускается после apply и меряет
размер по диффу, сложность — сверкой обещанных границ с тронутыми. Чекпоинт
остался единственным плановым стопом и стоит теперь до кода. review-rubric
конвейером не зовётся, слот рубрики в скелете config.yaml снят. Журнал —
тема 74.
This commit is contained in:
av
2026-08-23 15:08:17 +03:00
parent 17be316634
commit 72d9aa8034
19 changed files with 356 additions and 417 deletions
@@ -0,0 +1,74 @@
# 74. Ревью дизайна снято, разметка переехала за код (2026-08-23)
## Что было
Сценарий решения шёл так: `propose` → разметка → ревью дизайна → чекпоинт →
`apply` → ревью кода. Разметка считала метку по написанному о задаче, а стадия
ревью дизайна смотрела предложение до кода: `specs` на каждой задаче, `rubric` с
`medium`, `architecture` с `large`.
Замер по прогонам в проекте transcriber 22–23 августа: полный прогон сценария
занимал 3 часа 20 минут машинного времени, из них разметка и ревью дизайна с
отработкой находок — 30 минут, а повторная разметка с повторным архитектурным
проходом после чекпоинта — ещё 15. Владелец назвал целью час на прогон.
## Решено
**Р280. Стадия ревью дизайна снята целиком.** Ни `specs`, ни `rubric`, ни
`architecture` на предложении не запускаются. Требования сверяет `specs` на
готовом коде — тот же проход, тот же дом темы, другой момент.
**Р281. Разметка переехала за `apply`.** `review-scope` идёт после того, как код
написан и гейт зелёный, и до первой ступени прогона. Величина по-прежнему
считается один раз на задачу: перезапуск прогона по находке «переделать форму»
разметку не повторяет.
**Р282. Размер меряется по диффу, сложность — по написанному о задаче.** Дифф
отвечает «сколько мест тронуто на самом деле» и ничего не обещает; на вопрос
«знали ли форму решения заранее» он не отвечает вовсе — по готовому коду не
видно, нащупывали его или писали по образцу. Признак незнакомого стал
проверяемым: **обещанные границы задачи сверяются с тронутыми**, разошлись
поимённо — формы не знали.
**Р283. Правило «метка не пересматривается по факту диффа» снято.** Оно
существовало ровно потому, что разметка шла до кода: пересмотр означал бы второй
запуск разметчика. Теперь дифф — вход разметки, а не повод её оспорить, и
пересматривать внутри прогона нечего: второй запуск на том же дереве вернёт то
же самое.
**Р284. Чекпоинт остался и переехал к предложению.** Он стоит сразу после
`propose` и до кода. Прежде он стоял после ревью дизайна намеренно — человек
читал объяснение, уже просеянное машиной; теперь просеивать нечем, и это прямая
цена решения. Взамен стоп пришёл раньше: коррекция здесь стоит правки спеки, а не
переписывания готового кода.
**Р285. `review-rubric` осиротел, и это сказано в его уставе.** Проход жил только
на снятой стадии: рубрика, составленная при видимом коде, подстраивается под
увиденное, а судить код по критерию, под который он писался, — корреляция по
построению. Устав остаётся рабочим для прямого вызова человеком; конвейер его не
зовёт.
**Р286. Приёмочные критерии приходят только от постановки и с чекпоинта.**
Раньше третьим источником была рубрика, уезжавшая в `tasks.md`. Слот в скелете
`openspec/config.yaml` снят вместе с ней.
## Следствия
**С257. Архитектурная находка теперь стоит переписывания.** Довод «та же находка
на предложении стоит абзаца» был основанием стадии, и он остаётся верным — просто
конвейер за него больше не платит. `architecture` работает по коду и только с
меткой `large`; что этот класс сузился, идёт строкой в границы покрытия каждого
прогона.
**С258. Разведённость выбора метки сохранена, а её основание сменилось.** Прежде
метка выбиралась **до** кода, и давление «я почти закончил» на неё не действовало
по построению. Теперь защита держится только на том, что метку называет не автор:
разметчик работу не писал и обе оси выводит из фактов.
**С259. Разрез задачи снова удваивает разметку.** У каждой половины свой дифф, и
мерить его приходится порознь; прежний довод «разметка платится один раз на
задачу, и разрез её не удваивает» верен теперь только для перезапуска прогона.
**С260. Стадий у ревью больше нет — есть ступени.** Слово «стадия» в конвейере
означало членение, видное снаружи; оно исчезло вместе со второй стадией, и проза
приведена к «ступени».
+1
View File
@@ -125,3 +125,4 @@
| 71 | [Образец языка назван прямо; «интейк» снят вслед за «провенансом»](71-language-model-popular-science.md) | 2026-08-13 |
| 72 | [Письмо уходит агентам: оркестратор ставит задание и читает возврат](72-writing-delegated-to-agents.md) | 2026-08-22 |
| 73 | [Гейт, прогнанный до ревью, не гоняется второй раз](73-gate-run-reused-by-fingerprint.md) | 2026-08-23 |
| 74 | [Ревью дизайна снято, разметка переехала за код](74-design-review-dropped-scope-after-code.md) | 2026-08-23 |