14 KiB
Промт: бэкенд-сессия «ЗАКОН БАНКА — ЧЕСТНО» (пак одного предмета)
1. Какая проблема и что решит твой результат
Приоритет владельца №1 — консистентность терминов и голосов на всю книгу. Она держится на банке памяти: строка «термин → перевод» едет в промпт как ЗАКОН для каждой роли. Сегодня закон исполняется, но три места описывают его неверно, а одно не исполняет собственный совет. Цена — не поломка, а хуже: мы не можем узнать правду о собственной работе. Метрика «промахов нет» означает «банк исполнен», а читается как «исполнен ВЕРНО» — и ровно в случае, которого владелец боится (вложили неверный перевод, модель послушалась), прибор молчит надёжнее всего.
Твой результат: закон банка описан тем, что код делает, и один настоящий пробел в нём закрыт.
2. Зона и git
Зона записи: backend/. Чужие зоны (platform/, frontend/, eval/, docs/) — только чтение;
расхождения — пингом в секцию «Бэкенд» файла docs/PROGRESS.md.
Сессия НЕ коммитит — готовое дерево передаёшь оркестратору. Канон git-дисциплины — CLAUDE.md.
.env не читать. Не работать под /tmp.
3. Карта чтения — ЗАКОН, дальше только по её ссылкам
CLAUDE.md— цели владельца и гардрейлы.- Строки бэклога 267, 318, 320 (
docs/BACKLOG.md, греп^| N |). backend/README.md— механика движка.docs/architecture/03-implementation-notes.md— через баннер.docs/architecture/12-go-style-notes.md— только больные места.
Ратифицированное, что нужно для работы, — в теле промта, чтобы не искать (D39.216 требует так):
- Закон банка (
D39.104): строка на проводе — закон для КАЖДОЙ роли и КАЖДОЙ строки, независимо от статуса. ⛔ Ослаблять его этот пак НЕ предлагает: он ратифицирован, доказательств против нет ни у одного голоса. Предмет — исполнение и честность описания. D39.216(мандат владельца, 06.09), делай РОВНО так: проектировать и чинить без хаков и воркэраундов; где нынешняя форма не тянет — развязать или переписать, а не обложить заплатой. «Дешевле подпереть» доводом НЕ является. Отступление законно, но объявляется с ценой.- Комментарий не доказывает поведение (
D39.214п.3): источник утверждения о СМЫСЛЕ — тест или прогон. ⚠ Эту норму НЕ ищи грепом вCLAUDE.md— её там нет, она живёт нотой. - Число называет ДЕРЕВО и ПОПУЛЯЦИЮ: приводишь счёт — назови коммит и что именно посчитано.
- Рядом с нулём — контрольная величина: «0 совпадений» неотличимо от «искал не там» (
CLAUDE.md). - Мутация засчитывается по ТЕКСТУ сообщения, а не по факту красноты (
CLAUDE.md): правый вердикт по неправой причине — дыра, а не поимка. - Тесты и гейты не подгонять под зелень (
D39.121, мотив решает).
4. Состав и разметка свободы
4.1 Гард перекрытия окон при слиянии (строка 267) — делай РОВНО так
Один термин в одном смысле может нести две конкурирующие формы, и обе доезжают на оба провода — дыра в проверке схлопывания. Решение владельца 05.09 состоялось, строка несёт разбор. Закрыть.
4.2 Совет, который движок не исполняет (строка 320а) — реши сам, аргументируй
Диагностика советует оператору пометить одну строку статусом, а гвард полисемии статус не смотрит вовсе. Два честных выхода: привести совет к тому, что код делает, или научить гвард смотреть статус. Выбор объяви и обоснуй; молча не решай. ⚠ Второй вариант меняет поведение — тогда это смена заказа, и нужен пинг, а не правка.
4.3 Комментарий постчека — привести к поведению (строка 318) — делай РОВНО так
Комментарий обещает ловить и случай «вложили неверный перевод, модель исполнила»; код при найденной
форме делает continue ⇒ промаха нет. Приведи текст к поведению и поставь пин, чтобы описание
больше не могло разойтись молча.
⛔ Детектор правильности ЗНАЧЕНИЯ здесь НЕ строить. Он живёт строкой 286, упирается в замер точности, а не в код, и его постройка тут будет расширением заказа.
4.4 Два ложных комментария — снять (строки 321 и 322) — делай РОВНО так
- Оправдание
nil-переноса в редакторской волне («единица есть глава или её часть») — ложно: глава регулярно делится на несколько правочных единиц. ⛔ Сам перенос НЕ строить — по строке 321 сначала замер дрейфа, инцидентов пока ноль. Здесь только честный комментарий. - Утверждение, что обычный резюм перезаписывает строку статуса, — ложно: он выходит раньше, пишет только ре-пин.
4.5 Чего в паке НЕТ и почему — не делай
- Строка 322 (история принятой редактуры) — другой предмет: жизненный цикл чекпойнтов и схема, а не закон банка. Отдельным паком.
- Строка 295 (подать подписанный канон в прогон) — снята из этого пака: у бэкенд-сессии нет ни книги, ни стенда, ни санкции на деньги. Если найдёшь чисто бэкендовую половину — назови её пингом, но не бери.
- Перекрой структуры глав (161/283) — отдельный дизайн-пак.
5. Мандат самопроверки ИСПОЛНЕНИЕМ — механизм назван, и пустое исполнение его не удовлетворяет
⛔ «Перечитал сам» не считается. Обязательны все три:
- Мутационная проверка каждого пина, который ты заводишь или трогаешь. Механизм: сломай проверяемое свойство, прогони пин, прочитай ТЕКСТ падения и убедись, что он говорит про сломанное тобой, а не про что-то соседнее; восстанови файл и сверь sha256 с исходным. Артефакт: таблица «мутация → текст падения → хеш восстановлен».
- Опровергатель твоей готовой работы отдельным субагентом. ⚠ Харнесс по умолчанию субагентов не
спавнит — тебе это РАЗРЕШЕНО и требуется. Модель задай ЯВНО (
fable— контролёр проекта), знай, сколько их у тебя работает; одного-двух достаточно. Мандат ему: «найди в этой работе отсутствующее и противоречащее», а не «проверь, всё ли хорошо». - Греп по отозванной формулировке перед словом «исправлено»:
grep -c "<снятая фраза>" <файл>— ноль либо только внутри пометки. Смена 06.09 попалась на этом трижды.
6. Оси ревью — характер работы «Код» и «Доки»
Из таблицы приёмки, две оси, обе твои:
- Код: ⚠ «тест утверждает не то, что думает» — проверь, что каждый твой пин падает ИМЕННО от того, что он охраняет (см. §5.1).
- Доки: сверка утверждений против кода и живых носителей — весь этот пак ровно об этом.
7. Записка-план ДО работы
До первой правки пришли оркестратору ≤15 строк: что берёшь по каждому из четырёх пунктов · где ждёшь сопротивления · что считаешь спорным в самом заказе. Это дешевле, чем разойтись на готовом.
8. Заявление = команда
Любое число и любая категорика в отчёте — с командой, которой получены, и её выводом, а не пересказом. «Батарея зелёная» без команды и её кода возврата — не факт.
9. Эхо-протокол старта
ДО работы пришли ≤10 строк: скоуп (что берёшь) · инварианты (что обязано уцелеть) · не-делать (что в паке запрещено). Если эхо разойдётся с моим заказом — лучше здесь, чем в приёмке.
10. Что НЕ удалось — обязательная секция отчёта
Что не проверено · что не воспроизвелось · где данных не хватило. «Не измерено» вместо догадки.
11. Канал вопросов и право отказаться
Конфликт промта с кодом или доками — пинг, не правка. И у тебя есть право сказать «этого делать не надо» с аргументом: если по коду окажется, что предмет описан мимо, это самый ценный ответ.
12. Прямой канал
Механизм — CLAUDE.md §«Связь между сессиями»: файл /tmp/textmachine-channel, свой блок впиши первым
делом, адреса других ролей — оттуда, живость сверяй ListAgents. ⚠ Нужной роли нет или файла нет —
это НОРМАЛЬНЫЙ случай: вопрос секцией в отчёт, сессии подряд не опрашивать.
Деньги
Этот пак — $0. Платных вызовов к моделям в нём нет ни одного: все четыре предмета — код, комментарии и пины на фикстурах. ⛔ Если по ходу окажется, что предъявить что-то можно только платным прогоном — это пинг оркестратору за санкцией, а не твоё решение. Санкции на деньги промт не несёт.
Отчёт
Секция «Бэкенд» в docs/PROGRESS.md + сообщение оркестратору: что построено · чем предъявлено (команда
и вывод) · таблица мутаций из §5.1 · что сказал опровергатель и что ты с этим сделал · двигает ли
что-нибудь из сделанного снапшот, хеш запроса, ключ манифеста или версию встроенных данных · секция §10 ·
что ты сам считаешь слабым местом своей работы.
⚠ Числа батареи снимай после последней правки, не до.