Refresh checker prompt after bank arc: anchors re-pinned, fix-pack lessons added to reading map, row 79 scope split made explicit, anchors doc update duty assigned
This commit is contained in:
parent
d09d9d5de3
commit
fe5a959dc1
2 changed files with 12 additions and 9 deletions
|
|
@ -1,8 +1,8 @@
|
|||
# Промт бэкенд-сессии: ПАКЕТ-ЧЕКЕРОВ — детекторы качества против размеченного корпуса ($0-код)
|
||||
|
||||
**Выдан 01.08.2026, оркестратор №9; санкция владельца D39.67/68 (строка 25 бэклога — переведена в работу этим промтом).** Ты — бэкенд-сессия TextMachine. Зона: `backend/` (+ `configs/langpacks/`) + свой отчёт в `docs/archive/reports/`. НЕ коммитить — лендит оркестратор. **Первый деливерабл — эхо-блок ≤10 строк** (первым сообщением ДО работы: как понял скоуп/стоп-точки/$0/зону; продублируй шапкой отчёта; подтверждения не жди — СТОП только в конце).
|
||||
**Выдан 01.08.2026, оркестратор №9; санкция владельца D39.67/68 (строка 25 — в работе этим промтом); ОСВЕЖЁН 02.08 после лендинга банк-дуги D39.69–77 и холодного пере-чтения.** Ты — бэкенд-сессия TextMachine. Зона: `backend/` (+ `configs/langpacks/`) + свой отчёт в `docs/archive/reports/`. НЕ коммитить — лендит оркестратор. **Первый деливерабл — эхо-блок ≤10 строк** (первым сообщением ДО работы: как понял скоуп/стоп-точки/$0/зону; продублируй шапкой отчёта; подтверждения не жди — СТОП только в конце).
|
||||
|
||||
⚠ **Денег — НОЛЬ** (развилка 74). ⚠ **Параллельно может идти банк-сессия в режиме read-only дизайна** — её файлов нет; если в дереве появятся чужие правки `backend/` — СТОП и пинг. `--resnapshot` не запускать; `TM_UPDATE_GOLDEN` — только ОДИН раз в самом конце (см. приёмку).
|
||||
⚠ **Денег — НОЛЬ** (развилка 74). **Банк-дуга залендена ЦЕЛИКОМ (D39.69–77) — параллельных сессий НЕТ**; дерево на старте чистое (кроме START_PROMT.MD владельца); появятся чужие правки `backend/` — СТОП и пинг. `--resnapshot` не запускать; `TM_UPDATE_GOLDEN` — только ОДИН раз в самом конце (см. приёмку).
|
||||
|
||||
## Глобальный критерий владельца (01.08 — мерило каждого фикса)
|
||||
|
||||
|
|
@ -14,20 +14,21 @@
|
|||
|
||||
## ШАГ 0 — карта чтения
|
||||
|
||||
1. `CLAUDE.md` → CURRENT-STATE `docs/PROGRESS.md` (строка 25 — твой полный перечень) → **`docs/architecture/13-tech-debt-anchors.md`, секция «строка 25»** — там file:line-якоря КАЖДОГО дефекта (chevron `cheapgates.go:248-275` · K5a digit-требование `:508-519` · заглавная латиница `checkers.go:527` · K5c-супрессор `:411-435` + «a design, not a patch» `cheapgates.go:84-89` · 两 `dc-checkers.txt:65` · 转-подстрока `memory.go:1048/144` · R4-резидуал).
|
||||
1. `CLAUDE.md` → CURRENT-STATE `docs/PROGRESS.md` (строка 25 — твой полный перечень) → **`docs/architecture/13-tech-debt-anchors.md`, секция «строка 25»** — там file:line-якоря КАЖДОГО дефекта (chevron `cheapgates.go:248-275` · K5a digit-требование `:508-519` · заглавная латиница `checkers.go:527` · K5c-супрессор `:411-435` + «a design, not a patch» `cheapgates.go:84-89` · 两 `dc-checkers.txt:65` · 转-подстрока `memory.go:1071/144` (якорь уехал после банк-пака; :144 = minKeyLen/allow_short) · R4-резидуал).
|
||||
**1а. Свежий контекст банка (обязателен — membank менялся ПОСЛЕ якорей справочника):** ревью-шапки `docs/archive/reports/BANK_QUALITY_DESIGN_2026-08-01.md` (что построено: серия-батчинг · тип-классификатор · `lang.TargetStemmer`+neuter) и `SOFTSIGN_DECL_FINDING1_2026-08-02.md` («ь» НЕ возвращать — глобальная коллизия «Синь/синий» доказана, регресс-гвозди `stemmer_test.go`/`memdecl_test.go` упадут; anchor-правило отвергнуто как переносящее коллизию) и `BANK_FIXPACK_2026-08-02.md` (**§е: стеммер = accept-biased ФЛАГГЕР, не гейт, и в voice-канал НЕ заводится** — контракт `voice.go:368-378` + `mempostcheck.go:132-142`; **§и: `lang.TokenizeWords`→`text.TokenizeLetters` с combining-mark-фиксом — ГЛАВНЫЙ кандидат-объяснение дельт при калибровке metrics.json**; §а — первоисточник «ь»-отката).
|
||||
2. **Контракты:** D39.63 — **Р2 = детекторы единиц/шкал жёстко флагают ТОЛЬКО неверное ЗНАЧЕНИЕ, неконвертированная форма = мягкий счётчик** (нужен split hard/soft в результате чекера); **Р4 = потолок recall by construction записывается В КОНТРАКТ правила** (комментарий+тест), не «переспрашивается».
|
||||
3. **Корпус и харнесс:** `~/books/gu-zhenren/labels/` (разметка УРОВНЕМ НИЖЕ: `labels/labels/{k1..k4,k5a-d,k6}.jsonl` · `pools/` · `raw/corpus.jsonl` (91 юнит) · `verdicts/` · **`metrics.json` — ратифицированный базлайн пакета-6**; README с рецептом ре-рана НАСТОЯЩИХ чекеров, вкл. ловушку ApplyHeading) — корпус СТАТИЧЕН, свежий прогон не нужен. Прежний харнесс замера утрачен в scratch (урок «персист, не scratch») — **пересобери и положи В GIT**; рекомендуемая форма — env-гейченный Go-тест по образцу майнер-парити (`TM_CHECKER_LABELS=1 go test …`), выбор за тобой, но durable.
|
||||
4. Происхождение дефектов: D39.39/40 (пакет-6, 12 дефектов) · `docs/archive/reports/GENERALITY_RESEARCH_2026-07-31.md` §8 (актуальные якоря; ссылки D39.39 устарели) · D39.64 отчёт §5.5 (что фаза-2 сознательно НЕ делала и почему).
|
||||
4. Происхождение дефектов: D39.39/40 (пакет-6, 12 дефектов) · `docs/archive/reports/GENERALITY_RESEARCH_2026-07-31.md` §8 (происхождение и корзины; ⚠ его якоря ЧАСТИЧНО устарели после фазы-2/банк-пака — верить справочнику-13 и п.1 ЭТОГО промта) · D39.64 отчёт §5.5 (что фаза-2 сознательно НЕ делала и почему).
|
||||
5. `docs/experiments/00-provider-quirks.md` — НЕ нужен (вызовов нет); `12-go-style-notes.md` — норматив общности.
|
||||
|
||||
## Состав пакета (= строка 25 + строка 79; приёмка КАЖДОГО — по labels)
|
||||
|
||||
**Корзина II пака-21:** #3 атрибуция речи сверх «X», — (восклицательные/безатрибуционные; 38/46 реплик мимо) · #5 K5a: 数/几-магнитуды проходят к подчекеру (сейчас recall=0 на 149k знаков; узкий DC2-проб покрывает ровно 数十万) · #6 класс «заглавная латиница/маркеры TM-BANK в финале» (с allowlist) · #7 порог-3 — решить ПО ДАННЫМ labels: фикс или Р4-запись «потолок by construction» · #10 однознаковые Han-ключи пост-чека (转 в 转身): **СТРОИТЬ ЗДЕСЬ** — `membank/mempostcheck.go`+`memory.go` пишешь ТЫ (банк-сессия на этапе 1 read-only, её стройка идёт после твоего лендинга — D39.68); контракт границы/контекста коротких Han-ключей опиши отдельным §-блоком отчёта — оркестратор релеит его в дизайн-пак банка.
|
||||
**Корзина II пака-21:** #3 атрибуция речи сверх «X», — (восклицательные/безатрибуционные; 38/46 реплик мимо) · #5 K5a: 数/几-магнитуды проходят к подчекеру (сейчас recall=0 на 149k знаков; узкий DC2-проб покрывает ровно 数十万) · #6 класс «заглавная латиница/маркеры TM-BANK в финале» (с allowlist) · #7 порог-3 — решить ПО ДАННЫМ labels: фикс или Р4-запись «потолок by construction» · #10 однознаковые Han-ключи пост-чека (转 в 转身): **СТРОИТЬ ЗДЕСЬ** — `membank/mempostcheck.go`+`memory.go` пишешь ты (банк-дуга залендена, файлы свободны); ⚠ в `dstFormPresent` теперь ЖИВЁТ стеммер-путь `declinedFormPresent` (банк-пак §3) — не сломай его и его гвозди; контракт границы/контекста коротких Han-ключей опиши отдельным §-блоком отчёта.
|
||||
**Из (I)/(III):** #1 K5c-супрессор пер-вхождением + **имплементация Р2-контракта** (сравнение ЗНАЧЕНИЯ, hard/soft split — «a design, not a patch», проектируй как дизайн) · #8 两/兩 → `cheng_re` (данные, батчем).
|
||||
**Отложенные фазой-2 (D39.64 §5.5):** K4b-атрибуция · inner_marker-вето-на-тире · приёмка гомоглиф-детектора (существует — `tk.mixed`, замерить на labels) · строгий OffLanguage (⚠ оговорка 36а: «甲等 → класс Цзя» строгой формой НЕ ловится — не заявлять выигрышем).
|
||||
**R4-резидуал пака-11:** DC7 grade/role (⚠ предусловие — approved-promote 甲乙丙丁, owner-only, PACK11_CONT:195: если approved-строк нет — легитимный исход тройки = дизайн + вопрос владельцу, не стройка вслепую) · omission-бэкстоп (лёгкий ru-стеммер + лемма-матч по {dst, decl.forms, aliases}) · DC2 word↔word дроби (дизайны: PACK11_CONT §«Открытые эскалации» п.4 (:195-197) → полные — план-11 §5(б), `archive/architecture/11-implementation-plan.md`).
|
||||
**Довески:** Problem-классы research/22 §2 №5 (char-freq-degeneration, control-code-loss) — вердикт-тройка, строить только если labels подтверждают класс · alignment-защита рефренов: МИНИМУМ = правка `prompts/zh-ru/editor.md` + `editor-mono.md` той же строкой («повторы, которых НЕТ в оригинале»; двигает PromptSHA256/wire — допустимо, перекупок нет D39.63; mono — DORMANT, но класс закрывается целиком), детектор повторов — только вердикт-тройкой · **строка 79:** `checks/repair.go:131` DC1-трим и `checkers.go:457,474` isCyrLetter → `c.wordScript`; `lintNumberMagnitude` гейтить по объявленному письму источника (`SourceScripts`).
|
||||
**Довесок (строка 89, D39.72) — чистка ведра D карты D39.60 по пути:** удалить/поправить мёртвое в файлах, которые всё равно трогаешь — указатели на несуществующий `checkers_zh_ru.go` (cheapgates.go:56,125,130 · langpack.go:73+) · ложную шапку checkers.go:22-25 (register читает пар-пак, не target-данные) · дубль isHeaderContentRune↔isHeaderSeparator · прочее из дюжины ведра D сверить по карте GENERALITY_RESEARCH §3 (что не в твоих файлах — оставить строке 89); заодно свериться, закрыла ли фаза-2 ведро B («6 пар-модуль без гейта»).
|
||||
**R4-резидуал пака-11:** DC7 grade/role (⚠ предусловие — approved-promote 甲乙丙丁, owner-only, PACK11_CONT:195: если approved-строк нет — легитимный исход тройки = дизайн + вопрос владельцу, не стройка вслепую) · omission-бэкстоп: стеммер НЕ строить — **УЖЕ построен** (`lang.TargetStemmer`, примитив C банк-пака) — переиспользуй его в лемма-матче по {dst, decl.forms, aliases}; уроки softsign обязательны (только флаггер; «ь»-класс не трогать) · DC2 word↔word дроби (дизайны: PACK11_CONT §«Открытые эскалации» п.4 (:195-197) → полные — план-11 §5(б), `archive/architecture/11-implementation-plan.md`).
|
||||
**Довески:** Problem-классы research/22 §2 №5 (char-freq-degeneration, control-code-loss) — вердикт-тройка, строить только если labels подтверждают класс · alignment-защита рефренов: МИНИМУМ = правка `prompts/zh-ru/editor.md` + `editor-mono.md` той же строкой («повторы, которых НЕТ в оригинале»; двигает PromptSHA256/wire — допустимо, перекупок нет D39.63; mono — DORMANT, но класс закрывается целиком), детектор повторов — только вердикт-тройкой · **строка 79:** `checks/repair.go:131` DC1-трим и `checkers.go:457,474` isCyrLetter → `c.wordScript`; `lintNumberMagnitude` гейтить по объявленному письму источника (`SourceScripts`). ⚠ Третий компонент строки 79 — граница ПЛОТНОСТИ письма (`cjkScriptNames`-константа) — **НЕ в твоём скоупе**, остаётся строке 79 (дизайн-уровень).
|
||||
**Довесок (строка 89, D39.72) — чистка ведра D карты D39.60 по пути:** удалить/поправить мёртвое в файлах, которые всё равно трогаешь — указатели на несуществующий `checkers_zh_ru.go` (cheapgates.go:56,125,130 · langpack.go:73+) · ложную шапку checkers.go:22-25 (register читает пар-пак, не target-данные) · дубль isHeaderContentRune↔isHeaderSeparator (`chunk/` — ВНЕ твоих файлов, скорее всего останется строке 89) · прочее из дюжины ведра D сверить по карте GENERALITY_RESEARCH §3 (что не в твоих файлах — оставить строке 89); заодно свериться, закрыла ли фаза-2 ведро B («6 пар-модуль без гейта»).
|
||||
**Выход пакета:** пере-замер recall чекеров на labels (вход решения строки 12 `postcheck_gate`) — таблица per-класс ДО/ПОСЛЕ со вскрытыми единицами.
|
||||
|
||||
## Приёмка и самопроверка (обязательны, «ВСЕГДА на важных»)
|
||||
|
|
@ -38,4 +39,6 @@
|
|||
4. Общность: свип своих диффов на новые язык-ветвления (их быть не должно — данные/контракт).
|
||||
5. Адверсариальное селф-ревью исполнением: свой код + свои метрики (author≠reviewer внутри сессии).
|
||||
|
||||
**Плюс обязанность лендинга:** актуализировать устаревшие якоря срезов «строка 25»/#10 в `docs/architecture/13-tech-debt-anchors.md` (memory.go:1048→1071 и др. — банк-пак сдвинул) — пометь исполненное D-номером, не удаляй.
|
||||
|
||||
**Отчёт:** `docs/archive/reports/CHECKER_PACKAGE_<дата>.md` — эхо-блок · вердикт-тройки ВСЕХ пунктов (вкл. «не чинить» с обоснованием) · метрики · голден-протокол · вопросы владельцу отдельным блоком. Плюс краткий итог 3–5 строк — в секцию «Бэкенд» `docs/PROGRESS.md` (таблицу бэклога и CURRENT-STATE НЕ трогать). Расхождение промта с кодом = пинг. **СТОП — приёмка оркестратора.**
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
| **— ТЕКУЩАЯ ОЧЕРЕДЬ (D39.59) —** | | | | | |
|
||||
| 74 | ⚠ **DeepSeek-V4-Flash-0731: боевая черновая форма покупает пустые ответы — блокер ПЛАТНЫХ прогонов.** Оперативное состояние = «(в) ждать» (D39.63; фаза-2 всё равно $0-код). Перед следующим платным прогоном — ре-проба flash за копейки → если не устаканилось, выбор: (а) флор 16000 (сдвиг request_hash безболезнен — перекупок на этой фазе нет; хвост не закрывает, упор 2/5) или (б) слать `reasoning_effort` явно (вендорская модель, дешевле ~22%; но амендмент `echoMineViolation`, эхо ~6% и качество черновика при `low` не судилось — нужен замер ~$0.05; тогда же предмет для постинструкции/префилла); включение ручки #77 (ре-ген эха перед эскалацией, построена D39.64, дефолт 0) — тем же решением; при включении помнить общий счётчик attempt с length-ре-геном + рост `maxTokensForAttempt`; остаток §12.7 (8 несудимых fidelity-пар ≈$0.10 · ja-вход ≈$0.005 · prefill-continuation research/21 §1.17) — вернуться при предмете wiring; ⚠ cap 8000 бьёт и СТАДИЮ ТЕРМИНОЛОГА (reasoning 8063/батч, D39.65) — резолюция обязана накрыть терминолога; тем же заходом: платный порог приёмки §2 классификатора (6/6 harm-набор, ~$0.01, D39.69) + полигон-слоты Q2 (36б-замер) и Q7 (эмиссия головы, после #10) | владелец (по ре-пробе) | перед следующим платным прогоном | ре-проба → решение | D39.61, D39.63, D39.64, POLYGON_PROMPTLANG_ANTIECHO §12.4 |
|
||||
| 78 | Леджер денег = НИЖНЯЯ граница: «2xx body decode failed (call IS billed)» — провайдер списал, исходная попытка в `request_log` НЕ попадает (≤$0.009/сессия); дизайн фикса ГОТОВ (GENERALITY_PHASE2 §5.6: `BilledDecodeFails` + per-billed-attempt settle с `Estimated=true`), но это money/ledger-путь — не $0-хастл | бэкенд | когда-нибудь (money-паком) | отдельное решение (дизайн §5.6) | D39.61, D39.64 |
|
||||
| 79 | Остаточные Cyrillic-хардкоды пар-гейтед DC-чекеров: `checks/repair.go:131` (трим DC1-спана) · `checks/checkers.go:457,474` (`isCyrLetter` словограница register) — инертны без dc-данных пары, но пара С DC-чекерами и не-ru целью потребует правки Go; кандидат на `c.wordScript` ; + lintNumberMagnitude гейтить по объявленному письму источника (находка §8 карты D39.60) ; + граница ПЛОТНОСТИ письма для серий: `enabled` через Go-константу `cjkScriptNames` (head-finality уже в данных script-series.txt; новый плотный скрипт требует правки Go — пре-существующая граница, D39.75) | бэкенд | когда-нибудь (следующий пак цель-оси) | ближайшее касание чекеров | D39.64 |
|
||||
| 79 | Остаточные Cyrillic-хардкоды пар-гейтед DC-чекеров: `checks/repair.go:131` (трим DC1-спана) · `checks/checkers.go:457,474` (`isCyrLetter` словограница register) — инертны без dc-данных пары, но пара С DC-чекерами и не-ru целью потребует правки Go; кандидат на `c.wordScript` ; + lintNumberMagnitude гейтить по объявленному письму источника (находка §8 карты D39.60) ; + граница ПЛОТНОСТИ письма для серий: `enabled` через Go-константу `cjkScriptNames` (head-finality уже в данных script-series.txt; новый плотный скрипт требует правки Go — пре-существующая граница, D39.75) | бэкенд | частично в работе (первые два компонента поглощены пакетом-чекеров, промт освежён 02.08; cjkScriptNames-граница остаётся здесь) | ближайшее касание чекеров | D39.64 |
|
||||
| 89 | Остатки карты общности D39.60 без носителя (пропуск свипа, D39.72): ведро D «удалить» — живые: указатели на несуществующий `checkers_zh_ru.go` (cheapgates.go:56,125,130 · langpack.go:73+) · ложная шапка checkers.go:22-25 · дубль isHeaderContentRune↔isHeaderSeparator · minerPackVersion «zh-universal-v1» · глифы ⟨проверить⟩ tmctl/render · вес palladius miner.go (дюжину сверить по карте §3 — часть могла уйти фазой-2) + сверка ведра B (6 «пар-модуль без гейта») против фазы-2 | бэкенд | скоро | пакет-чекеров (промт дополнен) / мелкая пачка | D39.60, D39.66, D39.72 |
|
||||
| 90 | Ф2-кандидаты 02-mvp-плана без носителя (свип-хвост, D39.73): CometKiwi/T-index метрики судьи · Batch API судьи (экономия) · llama-server-интеграция локали · стриминг — взять/закрыть при пилот-препе | полигон/бэкенд | когда-нибудь (Ф2.5) | пилот-преп-промт (с 85) | 02-mvp-plan, D39.66, D39.73 |
|
||||
| **— НАХОДКИ СВИПА ПОЛНОТЫ (D39.66: 951 обязательство проверено, потери возвращены в трекер) —** | | | | | |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue