Actualize the backend pack-11 session prompt for the continuation run over residuals R1-R5

This commit is contained in:
Claude (backend session) 2026-07-19 08:59:53 +03:00
parent 85f5b9e633
commit 88b5e7b47d

View file

@ -1,4 +1,7 @@
> **СТАТУС: ЧАСТИЧНО ОТРАБОТАН — Block A + ядра ПРИНЯТЫ И ЗАЛЕНДЕНЫ (19.07, D39.13).** Сдано: WS2 ✅ (чанкер output-бюджет + edit-единицы + src→dst + golden) · WS1a/b/c-инфра ✅ (eager-clients, rate-guard, base/enriched split) · WS4-core ✅ (банкнота-парсер) · WS6-частично (конфиг-тай). **Резидуал R1R5** (волновой ИСПОЛНИТЕЛЬ · WS3-майнер · WS4-12-точек · WS5-чекеры · арм-конфиги) — точные дизайны в `backend/PACK11_REPORT.md` §Резидуал. **Промт ОСТАЁТСЯ АКТИВНЫМ:** сессия-продолжение стартует по нему + отчёту (читать ОБА; сданное не пере-строить — оно под тестами).
> **⚠ АКТУАЛИЗИРОВАН ПОД ПРОДОЛЖЕНИЕ (19.07, пост-D39.13; исходная версия — в git-истории).** Сессия №1 сдала
> Block A + ядра — ПРИНЯТО И ЗАЛЕНДЕНО (`85f5b9e`): WS2 ✅ · WS1a/b/c-инфра ✅ · WS4-core ✅ · WS6-конфиг-тай ✅.
> **Эта версия — стартовая для СЕССИИ-ПРОДОЛЖЕНИЯ (резидуал R1R5).** Сданное — под тестами, НЕ пере-строить;
> дизайны резидуала — `backend/PACK11_REPORT.md` §Резидуал (авторитет наравне с планом; исполнять, не пере-изобретать).
# Промт: сессия БЭКЕНД — единый пак по плану 11 (волновой раннер · чанкер/единицы · банк W1.5 · банкнота · чекеры · армы), 2026-07-19
@ -12,9 +15,13 @@
Бэкенд-сессия TextMachine. **Зона записи: `backend/`** (вкл. `configs/`, `prompts/`); всё остальное читать
можно, править нельзя (расхождения — пингом через отчёт/владельца). **НЕ коммитить** — лендит оркестратор
после приёмки (git-гардрейл CLAUDE.md: никаких reset --hard/rebase/checkout поверх грязного дерева). Сдаёшь:
1. Код WS1WS6 по плану + тесты из (д)-секций (пины/golden/race/kill-9).
2. **`backend/PACK11_REPORT.md`** — per-буллет чек-лист (✓/девиация+причина), тест-логи, golden-диффы,
раздел «багфиксы вне плана», раздел «структурные переносы» (если рефакторил), residual.
1. Код резидуала R1R5 + тесты из (д)-секций плана (пины/golden/race/kill-9).
2. **`backend/PACK11_CONT_REPORT.md`** — отчёт продолжения: per-буллет чек-лист (✓/девиация+причина),
тест-логи, golden-диффы, «багфиксы вне плана», «структурные переносы», residual. Сданный
`PACK11_REPORT.md` НЕ редактировать (история приёмки D39.13).
Онбординг-добавка продолжения: **`backend/PACK11_REPORT.md` читать ЦЕЛИКОМ** сразу после плана — что уже
сдано (Block A, под тестами) и §Резидуал R1R5 с пошаговыми дизайнами.
## Онбординг (порядок чтения, ~45 мин)
@ -37,17 +44,32 @@
## Порядок работы (по §7 плана; единый пак, 4 блока, гейты между)
- **Блок A** = WS1 (волновой раннер) + WS2 (чанкер-бюджет + edit-единицы) — несущий каркас, разблокирует всё.
- **Блок B** = WS3 (Go-майнер W1.5) + WS4 (банкнота, 12 точек).
- **Блок C** = WS5 (DC-чекеры + omission-бэкстоп + данные пакета zh-ru + `tmctl export --pairs`).
- **Блок D** = WS6 (армы конфигом + связка с rate-guard + атрибуция) — конфиг-пак.
- **R1 = волновой ИСПОЛНИТЕЛЬ** (отчёт §R1, 7 шагов): `snapshotIDForWave` (W1 = draft-стадии +
`BaseVersion()`, W2 = edit + `Version()` — механика версий уже сдана), партиция стадий по роли, W0
sticky-precompute (golden: инъекц-байты ≡ последовательному раннеру), W1/W2-dispatch (W2: `prev` =
конкатенация draft-чекпоинтов единицы по `final_hash`, СВЕЖИЙ `Select` по тексту единицы над
enriched-банком; **W2 НИКОГДА не пере-рендерит draft** — несущий инвариант), W1.5-стоп + mined-write-путь
(пустая дельта → авто-продолжение), kill-9 с N живыми резервами, **golden-рерайт под волновую модель +
обновление ~10 последовательно-модельных тестов** (список — отчёт §0).
- **R2 = WS3 Go-майнер** (отчёт §R2: порт по frozen exp16, дефолт-лемматизатор B с пере-пином 古月→22,
инвариантные фикстуры EXACT, mined-write, `tmctl seed-lint`).
- **R3 = WS4 12 интеграционных точек** (отчёт §R3: срез ДО classify, derived-checkpoint с NULL-байтами,
re-point ПОСЛЕ резолва эскалации, `banknoteSnap`, инструкция в файл промпта, телеметрия).
- **R4 = WS5** чекеры + omission-бэкстоп + данные пакета zh-ru + `tmctl export --pairs` (отчёт §R4).
- **R5 = WS6** арм-пайплайн-конфиги + `echo_mine_test` под варианты + атрибуция арма (отчёт §R5).
После КАЖДОГО из блоков A/B/C — чекпойнт-ревью (см. §Верификация). Единый `--resnapshot` по §8 в сессии
После R1, после R2+R3 и после R4 — чекпойнт-ревью (см. §Верификация). Единый `--resnapshot` по §8 в сессии
**НЕ исполнять** (плановое событие после приёмки, одна переоплата); но **golden re-capture** под
ратифицированную смену поведения — исполнять по мере: маскированный структурный дифф обязан быть объясним
(только хеши/версии/новые поля) и прикладывается в отчёт каждый раз.
## Чек-лист исполнения (буллеты; ТОЧНАЯ спека — в плане; при расхождении буллета с планом побеждает ПЛАН)
## Чек-лист исполнения (буллеты; ТОЧНАЯ спека — план + отчёт §Резидуал; при расхождении побеждает ПЛАН)
> **Статус после Block A (D39.13):** WS2 — ✅ сдан целиком (кроме «инъекция W2-единицы» — часть исполнителя
> R1); WS1 — ✅ сданы WS1a/b/c-инфра (eager-clients, rate-guard, base/enriched split), остался волновой
> ИСПОЛНИТЕЛЬ (R1); WS4 — ✅ сдано ядро `banknote.go`, остались 12 точек (R3); WS6 — ✅ rate_limit-конфиг,
> остались арм-конфиги (R5); WS3/WS5 — резидуал целиком (R2/R4). Сданные буллеты ниже читай как КОНТЕКСТ
> и контракт (не пере-строить — под тестами); строишь только резидуальные.
**WS1 (план §1):**
- Eager-build ВСЕХ клиентов в W0 (`Stages[].Model EscalateTo`); `client()` в волнах read-only + громкий