11 KiB
Промт: бэкенд-сессия «КОНСИСТЕНТНОСТЬ КАК ЗАКОН» — приоритет владельца №1
Ты — бэкенд-сессия TextMachine. Зона записи: backend/. Сессия НЕ коммитит — готовое дерево
передаёшь оркестратору на лендинг. Чужие зоны (platform/, frontend/, eval/, docs/) не трогать;
расхождения — пингом в секцию «Бэкенд» файла docs/PROGRESS.md. .env не читать.
Карта чтения — ЗАКОН, дальше только по её ссылкам
CLAUDE.md— цели и нормы. Особо: комментарий не доказывает поведение, источник утверждения о смысле — тест · тесты и гейты не подгонять под зелень · мутация засчитывается по ТЕКСТУ сообщения, а не по факту красноты · отрицательный замер печатает контрольную величину.- Строки бэклога 295, 267, 318, 320, 322 (
docs/PROGRESS.md, греп^| N |) — предмет пака целиком. docs/architecture/03-implementation-notes.md— через баннер.backend/README.md— механика движка.docs/architecture/12-go-style-notes.md— норматив стиля, только больные места.
Зачем этот пак
Приоритет владельца №1 — консистентность терминов и голосов на всю книгу. Сегодня она держится на банке, а банк на проводе — закон для всех ролей. Пак закрывает четыре места, где этот закон либо не доезжает, либо описан неверно, и одно место, где принятая работа может быть потеряна.
⚠ Ни одна из этих строк не предлагает ослабить закон банка (D39.104). Он ратифицирован, и
доказательств против него нет ни у одного голоса. Предмет — исполнение и честность описания.
Состав — пять предметов, порядок мой, отступления объявляй
1. Подать подписанный канон в прогон (половина строки 295) — ПЕРВЫМ
Без этого полигон не может мерить приоритет №1 вообще: точность чекера меряется на прогоне, в котором подписанный канон участвовал. Это разблокирует чужую зону, поэтому идёт первым.
Приёмка: прогон, где подписанный канон реально участвовал, предъявлен исполнением; что именно поехало на провод — видно из артефакта, а не из отчёта.
2. Гард перекрытия окон при слиянии (строка 267)
Один термин в одном смысле может нести две конкурирующие формы, и обе доезжают на оба провода — дыра в проверке схлопывания. Решение владельца 05.09 состоялось; строка несёт разбор.
⚠ Смежное, проверь заодно: совет оператору «пометь одну строку статусом» (строка 320а) гвард полисемии не исполняет — он статус НЕ СМОТРИТ вовсе. Либо совет приводится к тому, что код делает, либо гвард учится смотреть статус. Выбор объяви и обоснуй, молча не решай.
3. Комментарий постчека — привести к поведению (строка 318)
Комментарий обещает, что промах ловит и случай «мы вложили неверный dst, и модель его исполнила (страх
владельца)». Код при найденной форме делает continue: исполненная неверная строка промаха не даёт.
⇒ метрика «нет промахов» означает «банк ИСПОЛНЕН», а читается как «исполнен ВЕРНО».
⛔ Заказ здесь узкий: честный комментарий плюс пин. Детектор правильности ЗНАЧЕНИЯ — не этот пак, он живёт строкой 286 и упирается в замер точности, а не в код. Не строй его тут.
4. Не уничтожать и адресовать принятую редактуру (строка 322, части «а» и «б»)
Ре-проход пере-делывает затронутую единицу целиком тем же редакторским промптом; прежний текст остаётся
в чекпойнтах, но без адреса — ни одна строка статуса на него не указывает, экспорт не видит, отката
нет. И один путь уничтожает его физически: ре-проход флагнулся → redrive → сброс сносит чекпойнты
флагнутой стадии по всем снапшотам, прежняя хорошая редактура в их числе.
Заказ: (а) история финальных хешей при перезаписи финальной строки + ограда, чтобы сброс не удалял чекпойнт, на который ссылается история; (б) адресация выгрузки «по состоянию на».
⭐ Всё это ВНЕ снапшота и хеша запроса ⇒ перепокупки нет, ключ манифеста и версия встроенных данных не двигаются. Проверь это исполнением, не поверь на слово.
5. Два ложных комментария — снять (строки 320 и 322)
chunkstatus.go утверждает, что обычный резюм перезаписывает строку статуса — не перезаписывает,
он выходит раньше; пишет только ре-пин. И оправдание nil-переноса в редакторской волне (строка 321)
ложно — но саму передачу переноса в этом паке НЕ СТРОИТЬ: там сначала замер (см. ниже).
Чего в этом паке НЕТ и почему
- Строка 321 (перенос sticky) — не строить. Экспозиция замерена (49 строк, 4 из них уже в черновике), а дрейф — нет, инцидентов ноль. Сначала замер на следующем платном прогоне, потом решение. В этом паке — только правка ложного оправдания в комментарии.
- Строка 324 (вход рендера) — не долг, а контракт входа; расцеплена от 321, строить не надо.
- Детектор верности значения — строка 286, упирается в замер.
- Перекрой структуры глав (161/283) — отдельный дизайн-пак с мандатом качества.
Самопроверка — обязательна, и вот чем ЭТОТ пак уязвим
Не отчёт «проверено», а исполнение. Направление задаю, глубину и веер выбираешь сам:
- Ты правишь ОПИСАНИЯ поведения. Соблазн подогнать текст под то, что «должно быть», максимален. После каждой правки комментария спроси: это описание того, что код ДЕЛАЕТ, или того, что я хотел бы? Сегодня проект нашёл пять таких мест за смену, все — прозой.
- Мутации засчитывай по ТЕКСТУ. Правый вердикт по неправой причине — дыра, а не поимка: сегодня мутация покраснила гейт сообщением о рецепте, который делал ровно обратное сказанному.
- Не двигает ли твоя правка деньги. Для каждой правки скажи прямо: двигает ли она снапшот, хеш запроса, ключ манифеста, версию встроенных данных. Если да — это перепокупка, и её надо объявить.
- Числа с деревом и популяцией. Приводишь счёт — назови коммит и что посчитано.
- ⭐ И отдельный проход, заказанный владельцем: ЛОГИЧЕСКИЕ баги, а не исполнительские. Пока ты в этих файлах — ищи места, где код работает как написано, но написанное не то, что задумывалось: гейт, отвечающий на свой вопрос вместо заказанного; метрика, чьё имя шире её смысла; ветка, которая по построению не исполняется. Найденное — не чинить молча, а вынести списком в отчёт: это заказ владельца, и он идёт в отдельный разбор.
Отчёт
Секция «Бэкенд» в docs/PROGRESS.md + сообщение оркестратору: что построено · чем предъявлено (команда
и её вывод) · какие правки двигают деньги · список логических расхождений «задумано против сделано» ·
что осталось открытым · что ты сам считаешь слабым местом своей работы.
⚠ Числа батареи снимай после последней правки, не до. Пере-съём голдена, если понадобится, объявляй
явно с причиной (D39.183).