Close the exp16 gender sign-off and issue the pre-rerun-prep backend prompt: mining-wiring fixes, echo-split, read-model naming, and single-resnapshot readiness
This commit is contained in:
parent
8dd1f4ea07
commit
ac5f312834
3 changed files with 107 additions and 1 deletions
102
docs/BACKEND_RERUN_PREP_SESSION_PROMPT.md
Normal file
102
docs/BACKEND_RERUN_PREP_SESSION_PROMPT.md
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
# Промт: сессия БЭКЕНД — пере-прогон-преп (mining-wiring фиксы · echo-сплит · read-model чистка · готовность к единому resnapshot), 2026-07-19
|
||||
|
||||
> **Место в очереди (пост-D39.18):** ПАК-11 ЗАВЕРШЁН (Block A → continuation → арх-проход → R1 драйвер-свитч →
|
||||
> parent-cancel-фикс → c-lite blast-radius). Осталось перед пере-прогоном — **набор мелких целевых фиксов**,
|
||||
> накопленных приёмками (рубеж-2 R1 + пост-лендинг-ревью). После этой сессии → пере-прогон (ОДИН `--resnapshot`
|
||||
> fresh-translate под финальным конфигом) → чтение владельца. **Это НЕ сам пере-прогон** (тот — операционная/
|
||||
> полигон-сессия с langpack+contrast+mined_delta+армами) и НЕ смена алгоритмов.
|
||||
|
||||
## Директива дисциплины (владелец, в силе): не упарываться на миноры
|
||||
|
||||
Это заход **целевых фиксов из ратифицированных находок**, НЕ рефакторинг-ради-рефакторинга и НЕ минор-хант.
|
||||
Скоуп-лист ниже — исчерпывающий; сверх него ничего не трогать. Чистый код, стандарт «сеньор Google», stdlib/
|
||||
`x/text`, но без над-инженерии.
|
||||
|
||||
## Кто ты и что сдаёшь
|
||||
|
||||
Бэкенд-сессия. **Зона: `backend/`.** Прочее read-only. **НЕ коммитить** (лендит оркестратор). Сдаёшь: код по
|
||||
скоупу + тесты (пины/golden/race) + отчёт **в финальном сообщении** (НЕ `backend/*_REPORT.md`; детальный
|
||||
артефакт при нужде → `docs/archive/reports/`). $0 к провайдерам (вся верификация build/test/golden/фикстуры).
|
||||
|
||||
## Онбординг
|
||||
|
||||
1. `CLAUDE.md` (гардрейлы) → `backend/README.md` (**инварианты 1–8**).
|
||||
2. D-лог `05-decisions-log.md`: **D39.17 (R1) · D39.17-errata (parent-cancel) · D39.18 (c-lite + read-модели)**
|
||||
целиком + шапка-актуальность. План `11-implementation-plan.md` **§8 (манифест единого resnapshot)**.
|
||||
3. Отчёты приёмок (контекст находок): `docs/archive/reports/R1_DRIVER_SWITCH_REPORT_2026-07-19.md` +
|
||||
`R1_POST_LANDING_REVIEW_2026-07-19.md`.
|
||||
4. Код по скоупу: `cmd/tmctl/main.go`+`render.go` (exit-коды), `mining.go`+`waverun.go` (стоп),
|
||||
`memnorm.go` (Ш-2), `quality.go`+`status.go`+`export.go` (echo/read-модели), `snapshot.go` (§8-манифест).
|
||||
5. `docs/experiments/00-provider-quirks.md`.
|
||||
|
||||
## Скоуп (исчерпывающий — 6 пунктов)
|
||||
|
||||
### 1. R1-FL-A — CLI обрабатывает `WaveSignatureStop` (exit-код)
|
||||
Сейчас `exitCode()` (`main.go`) маппит только `*CompletedWithFlags`→2; `*WaveSignatureStop` падает в default→
|
||||
**exit 1 (== крэш)** → exit-код-автоматику вводит в заблуждение (человек видит stderr, но код неотличим от
|
||||
падения). Фикс: `errors.As(&sigStop)` рукав → **distinct exit-код** (предлагаю 3, отдельный от 2-flagged/1-крэш;
|
||||
задокументировать в `render.go`-комменте кодов) + рендер `Terms`/`SignaturePath` оператору. **Поправить
|
||||
оверклейм-комменты** (`waverun.go:72/77` «CLI-сентинел»/«carried up like CompletedWithFlags» — сейчас ложь).
|
||||
Тест: `WaveSignatureStop` → ожидаемый exit-код. Wire/снапшот НЕ трогает.
|
||||
|
||||
### 2. R1-FL-B — mining-стоп: reject-set (нужен дизайн, ниже — дефолт)
|
||||
Сейчас стоп очищается ТОЛЬКО при пустой дельте (`mining.go`); reject-механизма нет → терм, который владелец
|
||||
ОТКЛОНИЛ (опустил из `mined_delta`), ре-предлагается каждый прогон → **стоп фаерит вечно** (livelock), edit-волна
|
||||
недостижима; единственный костыль-escape (пометить `status:auto` no-dst) не задокументирован. **Дизайн-дефолт
|
||||
(реализуй, если владелец не переопределит):** **reject-set файлом** — `Book.MinedRejects` (yaml, список `src`
|
||||
отклонённых термов) грузится в `runBankMiningStop`, `MineBank`-эмиссия исключает их (как seedSurfaces).
|
||||
**Стоп очищается, когда каждый предложенный терм ЛИБО промоутнут (`mined_delta`) ЛИБО отклонён (reject-set).**
|
||||
Reject-set НЕ фолдится в снапшот (влияет только на ПРЕДЛОЖЕНИЕ, не на контент банка). Обнови stop-сообщение:
|
||||
«промоутни в mined_delta ИЛИ отклони в mined-rejects». Тест: отклонённый терм не ре-фаерит стоп. *(Это закрытие
|
||||
твоего же вопроса W1.5-UX §10-1 — чистый reject-list вместо status:auto-костыля.)*
|
||||
|
||||
### 3. R1-FL-C — `x/text/norm` Unicode-редакция в Ш-2
|
||||
`memoryNormVersion` фолдит stdlib `unicode.Version`, НО `x/text/unicode/norm` (NFKC в `normalizeSourceKey`)
|
||||
несёт СВОЮ Unicode-редакцию независимо → `go get -u golang.org/x/text` мог бы тихо сдвинуть NFKC → пере-вердикт
|
||||
post-check без сдвига снапшота. Фикс: вплести версию x/text (модуль-версию из `runtime/debug.ReadBuildInfo`
|
||||
для `golang.org/x/text`, ИЛИ явную пин-константу + трипваер-коммент «бампать x/text только с resnapshot»).
|
||||
**Двигает снапшот** (`memoryNormVersion`) → golden re-capture (version-only, masked-diff чист). Строка §8-манифеста.
|
||||
|
||||
### 4. echo-сплит `echo_draft_rate` / `echo_edit_rate` (решение владельца)
|
||||
Заменить агрегат `EchoRate` + re-derive-хак (`quality.go:124`) на **два поля по стадии**: `echo_draft_rate` =
|
||||
доля draft-стадия chunk_status с `FlagReason=cjk_artifact` (переводчик эхнул — вкл. дропнутых c-lite, считается
|
||||
ПРЯМО из draft-строк) / `echo_edit_rate` = доля edit-стадия строк с `cjk_artifact` (редактор эхнул / echo в
|
||||
шипнутом — качество доставленного). Убирает костыль (draft-echo не нужно пере-выводить per-unit — он в draft-
|
||||
строках). Старое `echo_rate`/`echo_chunks` — снести или пометить deprecated (JSON-консюмеры: report — наблюдаемость,
|
||||
не контракт). Тест: дропнутый draft-echo → `echo_draft_rate`>0, `echo_edit_rate`=0. Report — наблюдаемость, снапшот
|
||||
НЕ трогает.
|
||||
|
||||
### 5. read-model naming-debt
|
||||
Поля `chunk`/`total_chunks` в read-моделях теперь несут UNIT-счётчики (пост-c-lite) — имена вводят в заблуждение
|
||||
JSON-консюмеров. Переименовать в unit-семантику (`unit`/`total_units` или явный алиас), внутренние счётчики уже
|
||||
верны (D39.18). Косметика контракта, не логика. Наблюдаемость, снапшот НЕ трогает.
|
||||
|
||||
### 6. Ниты D39.17-errata (ЛЁГКАЯ гигиена — только явно-мёртвое/дешёвое; НЕ раздувать)
|
||||
- `minedToCandidates` — dead в live-пути (вытеснен file-based `loadMinedDelta`) → снести, если реально мёртв (греп-подтверди).
|
||||
- `jobs.status`-трэш под shared chapter×stage строкой — **advisory, ничего не гейтит** → коммент-note, не фикс (если фикс дёшев и чист — можно, иначе оставить).
|
||||
- `escMu` через LLM-вызов — известный трейд (throughput vs soft-cap-точность) → **НЕ трогать** (осознанно).
|
||||
- HTTP-адаптер concurrency неотестирован фейк-клиентом → **опционально** один live-parallel smoke-тест (stdlib `http.Client` thread-safe by design) — если дёшево; иначе коммент-note.
|
||||
Всё под «не упарываться»: сомнительное/дорогое → note, не фикс.
|
||||
|
||||
## Готовность к единому resnapshot (§8-манифест — ВЕРИФИЦИРОВАТЬ, НЕ исполнять)
|
||||
Пере-прогон будет ОДНИМ `--resnapshot` fresh-translate (D30.9). Эта сессия его НЕ запускает — но обязана
|
||||
**подтвердить, что §8-манифест полон**: всё снапшот-двигающее свёрнуто (memmatch-v4 · sanitizer-v6 · чанкер-v5
|
||||
segmentation · src→dst render-format · pack.Version · **+ R1-FL-C unicode/x/text** · reseed-сид). Сверь список
|
||||
§8 с реальными фолдами в `snapshot.go`; расхождение → в отчёт (не тихо). Golden после сессии: только version-only
|
||||
сдвиги (Ш-2/R1-FL-C) + новые поля report — НУЛЬ вердикт/wire-правок (echo-сплит/naming — наблюдаемость).
|
||||
|
||||
## Гардрейлы
|
||||
Инварианты 1–8 не трогать · $0 к провайдерам · Go-каноны (`gofmt`/`vet`/`-race` чисто; `%w`; table-driven) ·
|
||||
неконсистентность → даблчек тулзами + эскалация · `.env` не читать · книга/производные вне git · не коммитить.
|
||||
|
||||
## Верификация (мандат самопроверки)
|
||||
`build/vet/test -race` после каждого куска (лог, не слово) · golden: version-only (Ш-2/R1-FL-C) + новые
|
||||
report-поля, НОЛЬ вердикт/wire-правок · пины на каждый фикс (exit-код · reject-set не-livelock · x/text-фолд ·
|
||||
echo-сплит · naming) · **адверсариальный селф-ревью** (author≠reviewer) по несущему (reject-set-логика,
|
||||
echo-сплит-корректность, §8-манифест-полнота) — находки чинить до сдачи.
|
||||
|
||||
## Приёмка (оркестратор — знай заранее)
|
||||
Прямая верификация исполнением (build/race/golden-version-only/пины) + спот-чек §8-манифеста; тяжёлый воркфлоу
|
||||
по надобности (эти фиксы локальны — вероятно прямой верификации хватит). Затем лендинг → D-блок → **пере-прогон**
|
||||
(операционная сессия: langpack+contrast+подписанная сид-дельта[карта exp16]+армы редактора; ОДИН resnapshot; риг-
|
||||
стандарт D39.7; finish=stop; ⚠ ре-чек прайса DeepSeek у катовера 24.07 ДО платных вызовов) → чтение (планка 2 претензии).
|
||||
|
|
@ -9,6 +9,10 @@
|
|||
> - **Ждём от владельца:** тачпойнты exp16 (карта подписи/пол · мини-голд алиасов · precision@30, `books/gu-zhenren/exp16/`, ~30–40 мин — для сид-дельты к пере-прогону) · развилки плана §10 (W1.5-UX · DC5-стих-политика · Edit-ceiling · и др.) · реплика ja→ru (тест общности §B5) · **ре-чек прайса DeepSeek у катовера слагов 24.07** (до него платных deepseek-прогонов нет) · чтение пере-прогона (после R1+resnapshot) · старые висящие: планка запуска (лучше-фана/гибрид/издательский) · билингв-якорь пилота (D25.9-Q1) · контаминация пилот-корпуса (D27.4) · publishable/waiver (D25.1) · FN-bound L3 (D25.4) · юр-пакет · провенанс 12-*-доков.
|
||||
> - Архивы хроники: `archive/PROGRESS-2026-07-04-10.md` (D31) · `archive/PROGRESS-2026-07-10-13.md` (D39.6-гигиена). Записи ниже — живая эра D39.
|
||||
|
||||
## Оркестратор №7 — gender-signoff закрыт + промт пере-прогон-препа выдан, 19.07
|
||||
|
||||
**Gender-signoff карты exp16 ЗАКРЫТ** (владелец «male ок», оркестратор проставил корректно, не бланк-штампом): **male** (name-персоны he-доминантно) 方源·古月·方正·人祖·花酒行者·古月赤练/赤城/漠北/漠尘/冻土 · **female** 沈嬷嬷 (嬷嬷=нянька, 0/2) + **沈翠** (KWIC разрешил ничью 2/2: 丫鬟/丫头=служанка, дочь 沈嬷嬷 — счётчики 他 были от окружающих мужчин) · **hidden** 白凝冰 · **n/a** все title/term/place + 困境 («Беды»=имя стаи). Флагов не осталось. Карта (`books/gu-zhenren/exp16/signature_map.md`, вне git) — dst-канон + пол закрыты, готова к сид-дельте. **Промт `BACKEND_RERUN_PREP_SESSION_PROMPT.md` ВЫДАН** — 6 целевых фиксов (R1-FL-A CLI-exit · R1-FL-B mining-reject-set [дизайн-дефолт: reject-list файлом] · R1-FL-C x/text-версия в Ш-2 · echo-сплит · read-model naming · лёгкие ниты) + верификация полноты §8-манифеста единого resnapshot; директива «не упарываться на миноры» вшита. Пере-прогон (ОДИН resnapshot fresh-translate + армы + подписанная карта) — операционная сессия ПОСЛЕ препа; гейт: ре-чек прайса DeepSeek 24.07.
|
||||
|
||||
## Оркестратор №7 — D39.18: c-lite blast-radius + 4 read-модель-фикса залендены, 19.07
|
||||
|
||||
Ратифицирован product-вариант (c) по blast-radius (флагнутый черновик-член бланкал всю edit-единицу → регресс). **Залендено `488c8d4` (c-lite):** флагнутый член дропается, редактор бежит по чистому остатку (source+draft хороших), при всех флагнутых → ""; без флага байт-идентично (golden цел). Приёмка прямая (локализованный flag-путь — тяжёлый воркфлоу не нужен; сессия сама прогнала 4-линзовый адверсариал): build/race/golden зелёные сам, деньги честны (draftCost по всем членам, редактура 1×). + 4 read-модель-фикса пост-лендинг-ревью сессии: quality-echo пере-выведен (**открытое решение владельцу: echo «где угодно» [текущее] vs «только шипнутое» — one-line**), status first-flagged, export --pairs source realign, export detail. Отчёт `docs/archive/reports/R1_POST_LANDING_REVIEW_2026-07-19.md`. R1-FL-A/B/C — deferred в пере-прогон-преп (live-mining-гейтнуты). **Echo-метрика РЕШЕНА (владелец, идея владельца лучше моего A/B): сплит `echo_draft_rate` (переводчик эхнул — здоровье модели, вкл. дропнутых c-lite прямо из draft-строк) / `echo_edit_rate` (редактор эхнул / echo в шипнутом — качество доставленного, серьёзнее).** Заменяет A/B И убирает re-derive-хак `quality.go` (draft-echo считается прямо из draft-строк по Stage+`cjk_artifact`). → пере-прогон-преп. **Очередь без изменений:** пере-прогон-преп (R1-FL-A/B/C + echo-сплит + единый resnapshot; blast-radius уже сделан) → пере-прогон → чтение.
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
- `experiments/` — эмпирика «Полигона»: `00-provider-quirks` (читать перед любым вызовом провайдера), `01-token-calibration`, `02-refusal-benchmark`, `03-local-stand`, `04-editor-quality`, `06-local-extraction`, `07-coverage-precision`, `08-cost-model-v2` (актуальная денежная модель), `09-pilot-protocol` (пилот Ф2.5 + поправки D13), `10-explicit-benchmark` (18+ violence-рука канала B), `11-erotica-benchmark` (erotica по трём парам/регистрам — закрытие D14.4, D22).
|
||||
- `research/` — фактура исследований 04–05.07: `01–10` базовые, `11-gap-*` добор критиком, `12-*` режимы отказа/отзывы/таксономии (+ два внешних материала с провенанс-шапками), `13` валидация памяти, `14` адаптивная память, `15` голос и состояние (принят, D21), **`16` ридер-IDE (принят с ревью-шапкой, D29)**, **`17` внешняя критика GPT-5.6 (принят с ревью-шапкой, D25)** — у 16/17 читать шапку прежде тела. **`18` рычаги качества (два отчёта, D36)** · **`19` нарезка+когезия+контракт t/e (D39.1)** · **`20` банк-майнинг W1.5 (D39.6)** — у всех ревью-шапки. ⚠ Часть под superseded-баннерами (01/02/03/04/05/09 и gap-1/2/5) — **читай баннер прежде содержимого**.
|
||||
- `PROGRESS.md` — **журнал** (CURRENT-STATE сверху, ниже хронология; НЕ источник решений).
|
||||
- **Активные хендофф-промты (пост-D39.17, 19.07):** [`ORCHESTRATOR_SESSION_PROMPT.md`](ORCHESTRATOR_SESSION_PROMPT.md) (хендофф №5 оркестратора; статус-баннер — пост-D39.17) · [`POLYGON_PACKAGE4_SESSION_PROMPT.md`](POLYGON_PACKAGE4_SESSION_PROMPT.md) (residual пилот/18+/echo). **ПАК-11 ЗАВЕРШЁН** — след. шаг = пере-прогон-преп (3 mining-wiring-фикса R1-FL-A/B/C + единый resnapshot; промт пишет оркестратор). Закрытые — в `archive/prompts/` (свежие: пак-11/R1→D39.17, арх-cleanup→D39.16, дизайн-синтез→D39.12).
|
||||
- **Активные хендофф-промты (пост-D39.18, 19.07):** [`BACKEND_RERUN_PREP_SESSION_PROMPT.md`](BACKEND_RERUN_PREP_SESSION_PROMPT.md) (**СТАРТОВЫЙ — пере-прогон-преп: 6 целевых фиксов [R1-FL-A/B/C · echo-сплит · read-model naming · ниты] + готовность §8-манифеста; перед пере-прогоном**) · [`ORCHESTRATOR_SESSION_PROMPT.md`](ORCHESTRATOR_SESSION_PROMPT.md) (хендофф №5 оркестратора) · [`POLYGON_PACKAGE4_SESSION_PROMPT.md`](POLYGON_PACKAGE4_SESSION_PROMPT.md) (residual пилот/18+/echo). **ПАК-11 ЗАВЕРШЁН.** Очередь: преп → пере-прогон (ОДИН resnapshot + армы + подписанная карта) → чтение. Закрытые — в `archive/prompts/` (свежие: пак-11/R1→D39.17, арх-cleanup→D39.16).
|
||||
- `archive/` — закрытые сессионные промты (только история, инструкции оттуда не исполнять).
|
||||
|
||||
## Статус (2026-07-19, пост-D39.16 — стройка пере-прогонного стека)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue