Hand two packs their prompts: the instrument the polygon must repair before measuring, and the law the engine states but does not keep
This commit is contained in:
parent
b5cdd3dc11
commit
6457d778ef
3 changed files with 218 additions and 0 deletions
108
docs/BACKEND_CONSISTENCY_SESSION_PROMPT.md
Normal file
108
docs/BACKEND_CONSISTENCY_SESSION_PROMPT.md
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
# Промт: бэкенд-сессия «КОНСИСТЕНТНОСТЬ КАК ЗАКОН» — приоритет владельца №1
|
||||
|
||||
Ты — бэкенд-сессия TextMachine. **Зона записи: `backend/`**. **Сессия НЕ коммитит** — готовое дерево
|
||||
передаёшь оркестратору на лендинг. Чужие зоны (`platform/`, `frontend/`, `eval/`, `docs/`) не трогать;
|
||||
расхождения — пингом в секцию «Бэкенд» файла `docs/PROGRESS.md`. `.env` не читать.
|
||||
|
||||
## Карта чтения — ЗАКОН, дальше только по её ссылкам
|
||||
|
||||
1. `CLAUDE.md` — цели и нормы. Особо: **комментарий не доказывает поведение, источник утверждения о
|
||||
смысле — тест** · **тесты и гейты не подгонять под зелень** · **мутация засчитывается по ТЕКСТУ
|
||||
сообщения, а не по факту красноты** · **отрицательный замер печатает контрольную величину**.
|
||||
2. Строки бэклога **295**, **267**, **318**, **320**, **322** (`docs/PROGRESS.md`, греп `^| N |`) —
|
||||
предмет пака целиком.
|
||||
3. `docs/architecture/03-implementation-notes.md` — через баннер.
|
||||
4. `backend/README.md` — механика движка.
|
||||
5. `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)** — отдельный дизайн-пак с мандатом качества.
|
||||
|
||||
## Самопроверка — обязательна, и вот чем ЭТОТ пак уязвим
|
||||
|
||||
Не отчёт «проверено», а **исполнение**. Направление задаю, глубину и веер выбираешь сам:
|
||||
|
||||
1. **Ты правишь ОПИСАНИЯ поведения.** Соблазн подогнать текст под то, что «должно быть», максимален.
|
||||
После каждой правки комментария спроси: **это описание того, что код ДЕЛАЕТ, или того, что я хотел
|
||||
бы?** Сегодня проект нашёл пять таких мест за смену, все — прозой.
|
||||
2. **Мутации засчитывай по ТЕКСТУ.** Правый вердикт по неправой причине — дыра, а не поимка: сегодня
|
||||
мутация покраснила гейт сообщением о рецепте, который делал ровно обратное сказанному.
|
||||
3. **Не двигает ли твоя правка деньги.** Для каждой правки скажи прямо: двигает ли она снапшот, хеш
|
||||
запроса, ключ манифеста, версию встроенных данных. Если да — это перепокупка, и её надо объявить.
|
||||
4. **Числа с деревом и популяцией.** Приводишь счёт — назови коммит и что посчитано.
|
||||
5. ⭐ **И отдельный проход, заказанный владельцем: ЛОГИЧЕСКИЕ баги, а не исполнительские.** Пока ты в
|
||||
этих файлах — ищи места, где код работает **как написано**, но написанное **не то, что задумывалось**:
|
||||
гейт, отвечающий на свой вопрос вместо заказанного; метрика, чьё имя шире её смысла; ветка, которая
|
||||
по построению не исполняется. Найденное — **не чинить молча**, а вынести списком в отчёт: это заказ
|
||||
владельца, и он идёт в отдельный разбор.
|
||||
|
||||
## Отчёт
|
||||
|
||||
Секция «Бэкенд» в `docs/PROGRESS.md` + сообщение оркестратору: что построено · чем предъявлено (команда
|
||||
и её вывод) · какие правки двигают деньги · **список логических расхождений «задумано против сделано»** ·
|
||||
что осталось открытым · **что ты сам считаешь слабым местом своей работы**.
|
||||
|
||||
⚠ Числа батареи снимай **после последней правки**, не до. Пере-съём голдена, если понадобится, объявляй
|
||||
явно с причиной (`D39.183`).
|
||||
108
docs/POLYGON_INSTRUMENT_REPAIR_SESSION_PROMPT.md
Normal file
108
docs/POLYGON_INSTRUMENT_REPAIR_SESSION_PROMPT.md
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
# Промт: полигон-сессия «РЕМОНТ ПРИБОРА» — линза слепого чтения и гигиена стенда
|
||||
|
||||
> **⚠ ЭТОТ ПАК ИДЁТ ПЕРЕД ЛЮБЫМ СЛЕДУЮЩИМ ПЛАТНЫМ ЗАМЕРОМ, включая продолжение фазы Д.**
|
||||
> Причина не в очереди, а в смысле: прибор, которым мы судим редактора, сегодня меряет НЕ ТО,
|
||||
> что мы редактору заказали. Пока это так, каждый следующий замер редакторского тира стоит
|
||||
> меньше, чем кажется, — и фаза Д в том числе.
|
||||
|
||||
Ты — полигон-сессия TextMachine. **Зона записи: `eval/` + `docs/experiments/`**, пинг оркестратору —
|
||||
секция «Полигон» в `docs/PROGRESS.md`. **Сессия НЕ коммитит**, кроме пре-рег-фризов (право полигона);
|
||||
готовое дерево передаёшь оркестратору на лендинг. Чужие зоны не трогать. `.env` не читать.
|
||||
|
||||
## Карта чтения — ЗАКОН, дальше только по её ссылкам
|
||||
|
||||
1. `CLAUDE.md` — нормы проекта. Особо: **комментарий не доказывает поведение** · **число называет
|
||||
ДЕРЕВО и ПОПУЛЯЦИЮ** · **отрицательный замер печатает контрольную величину** · **мутация
|
||||
засчитывается по ТЕКСТУ сообщения, а не по факту красноты**.
|
||||
2. Строка **319** бэклога (`docs/PROGRESS.md`, греп `^| 319 |`) — предмет этого пака целиком.
|
||||
3. `eval/dovodka/blind-read/PREREG-2-BLIND-READ.md` — пре-регистрация замера; §5 (линзы) и §8.
|
||||
4. `eval/dovodka/prereg-4axes/stand/editor-p9.md` — инструкция судимой руке.
|
||||
5. Строки **300** и **265** бэклога — гигиена стенда, обе помечены «до следующего платного замера».
|
||||
|
||||
## Что не так — и это ратифицировано (`D39.215` п.3)
|
||||
|
||||
Судимой руке предписано: **сверяй смысл черновика с исходным текстом, исправляй искажения смысла**.
|
||||
А первичная **блокирующая** линза замера — **«точность относительно черновика»**. То есть редактор,
|
||||
правильно отошедший от черновика ради оригинала, по главной линзе выглядит хуже.
|
||||
|
||||
⚠ **Осторожно с масштабом.** Оркестратор сначала записал, что прибор «систематически» наказывает за
|
||||
отход, и это было **преувеличением**: в сыром судейском массиве такая пометка встречается ОДИН раз.
|
||||
**Доказано противоречие конструкции; величина искажения НЕ ЗАМЕРЕНА.** Твой пак — не «доказать вред»,
|
||||
а починить конструкцию и **дать величине носитель**.
|
||||
|
||||
## Состав пака — три части, в этом порядке
|
||||
|
||||
### Часть 1 — ТРИ ЭРРАТЫ В НОСИТЕЛЯХ ЗАМЕРА ($0, первым касанием, до всего остального)
|
||||
|
||||
⛔ **Форма — БАННЕР В ШАПКЕ, тела документов НЕ ПРАВИТЬ.** Оба документа заморожены, и
|
||||
пре-регистрация ценна именно неизменяемостью: правка тела уничтожает то, ради чего фриз делался.
|
||||
|
||||
1. `RESULT-2-BLIND-READ.md` — утверждение «правильный ответ по построению — ничья» противоречит
|
||||
собственному тексту того же отчёта (судья видит разницу двух случайных реализаций) и измеренному
|
||||
расхождению рук. Снять баннером.
|
||||
2. `PREREG-2-BLIND-READ.md` §8 — при замене предыдущего пре-рега выпало унаследованное ограничение
|
||||
**«опора судьи — ЧЕРНОВИК, не оригинал»**. Это дыра в протоколе, а не в критике: верни баннером,
|
||||
назвав, откуда выпало.
|
||||
3. `PREREG-2-BLIND-READ.md`, правило решения в §5 — оно готово выдать вывод «одна рука не хуже по
|
||||
точности» из НЕПРОХОЖДЕНИЯ теста, тогда как отчёт результата этот вывод запрещает дословно.
|
||||
Исполнитель отказался сам, а норма в носителе осталась и повторится в следующем пре-реге.
|
||||
|
||||
**Приёмка части 1:** три баннера стоят; ни одно тело не изменено (`git diff` показывает только шапки).
|
||||
|
||||
### Часть 2 — ГИГИЕНА СТЕНДА (строки 300 и 265, до любого платного вызова)
|
||||
|
||||
Обе строки помечены «до следующего платного замера», и обе про то, что прибор мерит не тем, чем думает:
|
||||
репо-широкий сторож не дотягивается до соседнего воркри, и питоново зеркало полигона держит ВТОРУЮ
|
||||
копию таблицы плейсхолдеров движка, которая уже разошлась.
|
||||
|
||||
⚠ **Зеркало — не переписывать копию, а убрать второй носитель**, если это возможно без хаков; если
|
||||
невозможно — предъявить, почему, и поставить сверку, которая краснеет при расхождении.
|
||||
|
||||
**Приёмка части 2:** расхождение зеркала либо устранено, либо краснеет автоматически; стенд предъявлен
|
||||
прогоном, а не отчётом.
|
||||
|
||||
### Часть 3 — ЛИНЗА (главное)
|
||||
|
||||
Обвязка сверки с **исходником** уже написана в этом же дереве — `eval/dovodka/judge-prompts/`. **Нужен
|
||||
не новый прибор, а пере-подключение готового.** Не строй второй.
|
||||
|
||||
Заказ: судейская линза, которая судит правку **против исходника**, а не против черновика, и норматив
|
||||
судейства из строки **143** — **разброс инструмента ДО замера** и **объявленный порог различимости**.
|
||||
Без второго первое бессмысленно: односудейный вердикт при разбросе 33 % не различает ничего.
|
||||
|
||||
⛔ **Границу держать:** это ремонт ЗАМЕРНОГО прибора. Судейская роль в самом движке — другой предмет,
|
||||
её здесь не касаться.
|
||||
|
||||
**Приёмка части 3:** пре-регистрация новой линзы заморожена ДО первого платного вызова (право полигона
|
||||
коммитить фриз) · в ней объявлены разброс и порог · сказано прямым текстом, какой вопрос прибор задаёт
|
||||
и какой НЕ задаёт.
|
||||
|
||||
## Деньги
|
||||
|
||||
Части 1 и 2 — **$0**, платных вызовов нет вовсе. Часть 3 до фриза — тоже $0. Первый платный вызов
|
||||
только после фриза и только по санкции владельца через оркестратора. **Санкции на замер этот промт НЕ
|
||||
несёт.**
|
||||
|
||||
## Самопроверка — обязательна, и вот чем этот пак уязвим
|
||||
|
||||
Не отчёт «проверено», а **исполнение**:
|
||||
|
||||
1. **Ты чинишь прибор прибором.** Проверь свою же починку тем же вопросом, каким ловим её предмет:
|
||||
**то ли она мерит**. Зелёный тест на фикстуре доказывает отображение, а не жизнь.
|
||||
2. **Три эрраты — про ФОРМУ.** Убедись исполнением, что тела не тронуты: соблазн «заодно поправить»
|
||||
здесь максимальный, а цена — уничтоженный фриз.
|
||||
3. **Число называет дерево и популяцию.** Если приводишь долю или счёт — скажи, на каком коммите снято
|
||||
и что именно посчитано. Сегодня на этом погорели все три роли.
|
||||
4. **Рядом с нулём — контрольная величина.** «Ноль расхождений» неотличимо от «искал не там».
|
||||
5. **Адверсариальный проход по своей готовой работе** — направление задаю, глубину выбираешь сам.
|
||||
|
||||
## Что НЕ делать
|
||||
|
||||
Не продолжать фазу Д в этом паке · не строить второй судейский прибор · не править тела замороженных
|
||||
документов · не трогать движок и платформу · не покупать ни одного платного вызова без санкции.
|
||||
|
||||
## Отчёт
|
||||
|
||||
Секция в `docs/PROGRESS.md` «Полигон» + сообщение оркестратору: что построено · чем предъявлено
|
||||
(команда и её вывод, а не пересказ) · что осталось открытым · **что ты сам считаешь слабым местом
|
||||
своей работы**.
|
||||
|
|
@ -22,11 +22,13 @@
|
|||
| Роль | Активный промт | Статус |
|
||||
|---|---|---|
|
||||
| Оркестратор | [ORCHESTRATOR_SESSION_PROMPT.md](ORCHESTRATOR_SESSION_PROMPT.md) | роль и нормы; счётчик роли — CURRENT-STATE |
|
||||
| **Бэкенд · КОНСИСТЕНТНОСТЬ** | [BACKEND_CONSISTENCY_SESSION_PROMPT.md](BACKEND_CONSISTENCY_SESSION_PROMPT.md) | приоритет владельца №1: канон в прогон (295) · гард перекрытия окон (267) · честный комментарий постчека (318) · не уничтожать принятую редактуру (322 а/б) · два ложных комментария. ⚠ Несёт заказ владельца на список ЛОГИЧЕСКИХ расхождений «задумано против сделано» |
|
||||
| Бэкенд · СТРУКТУРА ГЛАВ | активного НЕТ | пак 1 «форматы и честный словарь» ОТРАБОТАН, ПРИНЯТ С ДОФИКСОМ и ЗАЛЕНДЕН 06.09 — акт **D39.210**, `2f65d1d`; промт в `archive/prompts/CHAPTER_STRUCTURE_SESSION_PROMPT_2026-09-05.md` с баннером исхода. ⚠ **ПАК 2 (лексиконы не-CJK, корпус, замер оракулом, валидаторы) — НЕ НАПИСАН и ждёт файлов владельца** (страта скрейпов); промта под него нет, брать нечего. Открытые следствия пака 1 — строки бэклога **302** (резка по якорям) и **303** (безъюнитная грамматика) |
|
||||
| Бэкенд · отозванный | активного НЕТ | пак КАЧЕСТВО написан и ОТОЗВАН до выдачи 05.09 (`archive/prompts/…_WITHDRAWN.md`): предмет дешевле пака — точность чекера уже измерена, пере-снять её стоит одной команды. Следующий пак — СТРУКТУРА ГЛАВ (решение владельца 05.09 «любая книга любого формата»), пишется |
|
||||
| Бэкенд · прежний | активного НЕТ | пак «денежный стоп» ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 05.09 — акт **D39.206** (`81a89e9` + `616a8e4`), промт в `archive/prompts/` с баннером исхода. Следующая работа зоны — строки **291** (флаг вместо клина, `D39.204`) · **294** (форма «сколько добавить», `D39.203`) · **296** (точечная перегенерация по промаху глоссария, после 295) |
|
||||
| Платформа · ФОРМА ЗАКАЗА | активного НЕТ | пак ОТРАБОТАН, ПРИНЯТ С ДОФИКСОМ и ЗАЛЕНДЕН 06.09 — акт **D39.208**, код + канон **0.11.0**; промт уведён в `archive/prompts/ORDER_FORM_SESSION_PROMPT_2026-09-05.md` с баннером исхода. ⚠ **НЕ построено, хотя заказывалось:** денежный ползунок на проводе объявлен, а отправить его нечем, и оценки под ВЫБРАННЫЙ заказ нет; «упрощение резюма» не сделано — обе позиции живут строками бэклога, брать их как новый пак СЛЕДУЮЩЕЙ сессии, не читать промт как задание |
|
||||
| Платформа · прежний | активного НЕТ | пак «пустить внутрь можно» ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 05.09 — акт **D39.201** (`7e2226a` + `3e84716`), промт в `archive/prompts/` с баннером исхода. Следующая работа зоны — строки **294** (зеркало словаря под минор потока) ⚠ (строка 293 — зона ОРКЕСТРАТОРА, не платформы: правило игнора общее для всех рабочих деревьев клона) |
|
||||
| **Полигон · РЕМОНТ ПРИБОРА** | [POLYGON_INSTRUMENT_REPAIR_SESSION_PROMPT.md](POLYGON_INSTRUMENT_REPAIR_SESSION_PROMPT.md) | ⚠ **ИДЁТ ПЕРЕД любым следующим платным замером, включая продолжение фазы Д**: три эрраты носителей БАННЕРАМИ · гигиена стенда (300, 265) · линза против ИСХОДНИКА + порог различимости (319, 143). Санкции на платный замер НЕ несёт |
|
||||
| Полигон | [POLYGON_EXP2223_REDO_SESSION_PROMPT.md](POLYGON_EXP2223_REDO_SESSION_PROMPT.md) (отложенный — [POLYGON_PACKAGE4_SESSION_PROMPT.md](POLYGON_PACKAGE4_SESSION_PROMPT.md), строка 85) | фаза Д ИДЁТ; ⚠ живой носитель курса — в `eval/dovodka/`, какой именно называет зона (⚠ [POLYGON_PHASE_D_HANDOFF.md](POLYGON_PHASE_D_HANDOFF.md) — перекрытый снимок, читать не как курс) |
|
||||
| Фронт | активного НЕТ | **ЗОНА ЗАМОРОЖЕНА** (D39.136 п.2 + D39.147: разморозка отдельным словом владельца, не привязана к P7); перечень первого касания — в зонном журнале |
|
||||
| Контракт | активного НЕТ | канон — `architecture/14-api-contract/`; ⚠ версию брать ФАЙЛОМ (`grep '^ version:' openapi.yaml`), не отсюда: миноры ратифицируются D-нотами и их содержание грепается по реестру нот. |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue