From 4a8b4102257ff80b7087e7134df99cf793226cbd Mon Sep 17 00:00:00 2001 From: "Claude (backend session)" Date: Sat, 1 Aug 2026 16:29:32 +0300 Subject: [PATCH] Record D39.72: generality map bucket D gets a carrier row, checker prompt extended with cleanup rider after owner question exposed the tracking gap --- docs/BACKEND_CHECKER_PACKAGE_SESSION_PROMPT.md | 1 + docs/PROGRESS.md | 7 ++++++- docs/README.md | 4 ++-- docs/architecture/05-decisions-log.md | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/BACKEND_CHECKER_PACKAGE_SESSION_PROMPT.md b/docs/BACKEND_CHECKER_PACKAGE_SESSION_PROMPT.md index e8bd91c8..6f4d76cb 100644 --- a/docs/BACKEND_CHECKER_PACKAGE_SESSION_PROMPT.md +++ b/docs/BACKEND_CHECKER_PACKAGE_SESSION_PROMPT.md @@ -27,6 +27,7 @@ **Отложенные фазой-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 пар-модуль без гейта»). **Выход пакета:** пере-замер recall чекеров на labels (вход решения строки 12 `postcheck_gate`) — таблица per-класс ДО/ПОСЛЕ со вскрытыми единицами. ## Приёмка и самопроверка (обязательны, «ВСЕГДА на важных») diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 4ac134b3..b25c92ad 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -1,6 +1,6 @@ # Журнал прогресса -> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-08-02, голова D39.71). **Источник истины по РЕШЕНИЯМ — `architecture/05-decisions-log.md` (D1–D39.71); этот файл — ЖУРНАЛ.** +> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-08-02, голова D39.72). **Источник истины по РЕШЕНИЯМ — `architecture/05-decisions-log.md` (D1–D39.72); этот файл — ЖУРНАЛ.** > - **Сделано (сводно; детали — D-лог и архив-слайсы):** Ф0 ✅ · Ф1-инфра ✅ · арх-ресет D39 (7 слоёв, паки 11–16) ✅ · паки 17 «канал B» · 18 «долги» · 19 «голос/состояние» · 20 «банк+терминолог» ✅ (D39.26–28/31/41–56) · мини-прогон (D39.37) и ХОЛОДНЫЙ прогон (D39.58: recall банка 0.918/0.980, банк приходит переведённым) приняты · полигон-пакеты 5–8, ToS-речек (D39.57), Р6+P4 (D39.61) закрыты · **карта языковой привязки движка (D39.60): 149 сайтов/45 файлов, книго-ось чиста (4), ja→ru безопасно без правки Go, en→ru — нет** · Р1–Р4 закрыты целиком (D39.63: Р2 = ЗНАЧЕНИЕ, Р4 = норма потолка recall) · **ФАЗА 2 ОБЩНОСТИ ✅ (D39.64: П0 эмбед-хеш · П1 цель-шов · П2 скрипт-шов, ko-баг закрыт · П3 нарезка · П4 манифест-по-каналам; голден вердикт-нейтрален 0/172, майнер-парити EXACT)** · жанровый словарь отменён как класс (D39.47) · петля ремонта построена и НЕ включена (D39.38). > - **Курс (D39.59–69): ОБЩНОСТЬ ✅ → КАЧЕСТВО БАНКА ✅ (ядро построено).** Банк-пак принят целиком (D39.69: серия-батчинг head-aware · тип-классификатор первичным · Decl-стеммер+neuter; 36а/36в/27/84/feed_cap закрыты; голден вердикт-нейтрален, «4 серии на живом BANK-FULL» воспроизведено независимо). **Текущее: ФИКС-ПАК БАНКА ПЕРВЫМ (промт `BACKEND_BANK_FIXPACK_SESSION_PROMPT.md` выдан D39.71, строка 87) → после его лендинга ПАКЕТ-ЧЕКЕРОВ (промт выдан, общие файлы membank/prompts — не параллелить). Вопросы §9 закрыты (D39.70).** ⚠ **DeepSeek-V4-Flash-0731: платные прогоны СТОП до ре-пробы (строка 74; при ре-пробе добрать платный порог §2 «6/6 harm»). Перекупок нет — стендовый корпус одноразовый (D39.63).** > - **Горизонт (D39.62/67):** пакет-чекеров (строка 25) + фикс-лист банка (87) → ре-проба flash (74; + платный порог 6/6 классификатора + пробы 36б-замера Q2/эмиссии Q7 по слову) → **ДОБОР ИДЕАЛА** (первым прогоном: оси голоса 24 · авто-режим · итерация №2 редакторов 65 · цена 16 · веса K1–K12 13а · вне-претрейн чекпоинт 55) → ВТОРАЯ ПАРА живьём (ja→ru; преп 81) → МАСШТАБ → пилот Ф2.5 (гейт резюме-строки 80; строки 62–68, 85) → Ф3 ридер-IDE (69–71). **Стоячие:** ToS-триггер 25.10 · Ш-2 до go1.27 · строка 74 перед любым платным прогоном. @@ -39,6 +39,7 @@ | 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) | бэкенд | когда-нибудь (следующий пак цель-оси) | ближайшее касание чекеров | D39.64 | | 87 | Фикс-лист банк-пака (D39.69, приёмка): **«ь» (и класс -нь/-ль) в `decl_suffix` — приёмочный кейс «Фан Юаню»→«Фан Юань» сейчас ПРОВАЛИВАЕТСЯ (одна строка данных + пере-захват голдена)** · комментарий `Batch` «request hash independent of ordering» неверен (ChunkIdx фолдится — поправить) · оверсайз-серия одним батчем (помнить мину cap-8000 терминолога) · classify_types при выключенном terminology-гейте = тихий no-op + config-тесты classify-веток · мутационный тест neuter-фолда · voice-checker без стеммера (решить: заводить или объявить не-нужным) · дистилл-фикстура BANK-FULL (пин «4 серии») · `series`/`head_final` → строкой в `lang-script.txt` (сейчас Go-константа CJK-класса — D39.70) · консолидация `lang.TokenizeWords`↔`text.TokenizeScript` · промпт-инструкция роли «реалии — смыслом, транслит — именам» (Q5, данные пар-промпта) | бэкенд | в работе (промт выдан D39.71; ПЕРВЫМ, чекеры после) | `BACKEND_BANK_FIXPACK_SESSION_PROMPT.md` | D39.69 | +| 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 | | **— НАХОДКИ СВИПА ПОЛНОТЫ (D39.66: 951 обязательство проверено, потери возвращены в трекер) —** | | | | | | | 80 | Резюме-слой памяти — проза-суммарайзер ЗАКРЫТ (D39.69); строка = ГЕЙТ ПИЛОТА Ф2.5: первый деливерабл пилота — «допускает ли автономная нарратив-состояние-строка ДЕТЕРМИНИРОВАННЫЙ верификатор (source-anchored) — или это D1-компаундинг со схемой»; не-покрытые классы (source-anchored reveal · арк-колбэки без ключа) реальны, но не измерены как дефект | Ф2.5 (Q3 подтверждён D39.70) | когда-нибудь (пилот) | Ф2.5 пре-рег | D25 п.8–9, D39.66, D39.69 | | 81 | ja-преп B6-ja (сужено пост-сверкой D39.66): Поливанов-валидатор (`translit_policy` = «Phase 2»-заглушка, migrate.go:186/194) + kana-омограф POS/known-word гейтинг / B6-токенизатор (memory.go:1048); чек-лист kana-алиасов сида УЖЕ построен (backend/README §ja + `AttachRubyAliasesToManual`) — остаток в нём только дизамбигуация двойных чтений (тот же B6) | бэкенд | когда-нибудь (перед ja→ru) | ja→ru-пак (рядом 35) | D16.4, D17.1, D18, D39.66 | @@ -102,6 +103,10 @@ | 69 | Gemini API «под-18» обязательство на конечный продукт (независимо от лейблов) | владелец | когда-нибудь | Ф3 / отдельное решение | D39.32, D39.34(7) | | 70 | Action-security gate перед выдачей tools/webfetch (D25 п.5) | бэкенд | когда-нибудь | Ф3 | D39.34(7) | | 71 | Планы research/22: epub-tag-rewrite · Q7-леджер ; + F3-brief из D29.3 (chat-edit · Not-useful-петля · cost-of-fix) + Ф3-скоуп 02-mvp-plan (TMX/TBX · Bertalign · дистилляция 7–14B) | бэкенд | когда-нибудь | Ф3 | D39.34(7) | +## Оркестратор №9 — ОСТАТКИ КАРТЫ D39.60 ПОЛУЧИЛИ НОСИТЕЛЯ (D39.72), 02.08 + +Аудит по вопросу владельца: из карты общности взято почти всё (П0–П4 построены · П5=строка 35 · П6 отклонён · флаги=14 · остаток C=79/34), но ведро D («удалить», 12 сайтов) осталось без строки — мой пропуск против нормы D39.66. Заведена строка 89 (чистка ведра D + сверка ведра B), чекер-промт дополнен пунктом. + ## Оркестратор №9 — ФИКС-ПАК БАНКА ВЫДАН (D39.71), 02.08 По слову владельца («передать записку тем же бэкендерам»): промт `BACKEND_BANK_FIXPACK_SESSION_PROMPT.md` — 9 пунктов (строка 87 + Q5-промпт-инструкция), с вердикт-тройками на спорные и явной очерёдностью: фикс-пак первым, чекер-пак после лендинга (общие файлы). Остальные ответы §9 без бэкенд-работ: Q6/Q8 закрыты, Q1/Q4 не строим, Q3 — гейт Ф2.5, Q2/Q7 — полигон при ре-пробе 74. diff --git a/docs/README.md b/docs/README.md index 77eefbb9..6e1361aa 100644 --- a/docs/README.md +++ b/docs/README.md @@ -11,7 +11,7 @@ ## Структура -- `architecture/` — синтез. **Источник истины по решениям — [`05-decisions-log.md`](architecture/05-decisions-log.md) (D1–D39.71); при конфликте с любым доком он выше.** +- `architecture/` — синтез. **Источник истины по решениям — [`05-decisions-log.md`](architecture/05-decisions-log.md) (D1–D39.72); при конфликте с любым доком он выше.** - `01-decisions.md` — принципы Р1–Р10; `02-mvp-plan.md` — фазы и приёмка (v3, 09.07); `03-implementation-notes.md` — контракты Фазы 0; `04-unhappy-paths.md` — ~70 режимов отказа → механизм; `06-memory-risk-registry.md` — реестр рисков банка памяти; **[`09-target-architecture.md`](architecture/09-target-architecture.md) — целевая 7-слойная архитектура (D39; статус стройки — шапка-таблица; инвариант общности §0.1)** · [`10-prompt-architecture.md`](architecture/10-prompt-architecture.md) — консолидированная промпт-заметка (концерн 4) · [`12-go-style-notes.md`](architecture/12-go-style-notes.md) — норматив общности §0 + Go-ответы · [`13-tech-debt-anchors.md`](architecture/13-tech-debt-anchors.md) — якоря техдолга (справочник к бэклогу, НЕ трекер). **Исполненные (архив 25.07, санкция владельца, → `archive/architecture/`):** [`07-strategic-review.md`](archive/architecture/07-strategic-review.md) (стратаудит 09.07 — курс исполнен) · [`08-sync-audit-ledger.md`](archive/architecture/08-sync-audit-ledger.md) (ледджер синк-аудита — отработан) · [`11-implementation-plan.md`](archive/architecture/11-implementation-plan.md) (план пака-11 — исполнен целиком); `components.puml`/`pipeline.puml` — диаграммы (перерисованы 25.07 под пост-пак-16 реальность: волновой исполнитель, пакетный сплит пака-15, repair-петля за `enabled:false`, generic content-labels D39.25; владелец смотрит PlantUML-расширением VS Code; вручную НЕ рендерить). - `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), `12-quality-diagnosis`/`13-translator-bakeoff`/`14-quality-empirics`/`14b-meaning-battery` (дуга качества «мерить→строить», закрыты → D30/D32/D37/D38), `15-segmentation-empirics` (exp15: когезия под floor-шумом, фертильность — закрыт → D39.7/D39.8), `16-bank-mining` (exp16: WHICH/WHAT банк-майнинга — закрыт → D39.10). - `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)** · **`21` обзор LLM-транспорта чужих харнессов (23.07: наш транспорт опережает/вровень со всеми 11)** · **`22` доменные харнессы перевода (24.07: калибрующий — ядро подтверждено, впереди COGS/18+/общность/измеренность, позади Q4-выпуск и gate+repair-петля; сиквел `02`/`05`)** — у всех ревью-шапки. ⚠ Часть под superseded-баннерами (01/02/03/04/05/09 и gap-1/2/5) — **читай баннер прежде содержимого**. @@ -19,7 +19,7 @@ - **Активные хендофф-промты (01.08; всё остальное — в `archive/prompts/` с баннерами-исходами):** [`ORCHESTRATOR_SESSION_PROMPT.md`](ORCHESTRATOR_SESSION_PROMPT.md) (роль/нормы; состояние НЕ дублирует) · [`BACKEND_BANK_FIXPACK_SESSION_PROMPT.md`](BACKEND_BANK_FIXPACK_SESSION_PROMPT.md) (**ТЕКУЩИЙ бэкендный, ПЕРВЫМ**: фикс-пак банка, строка 87) · [`BACKEND_CHECKER_PACKAGE_SESSION_PROMPT.md`](BACKEND_CHECKER_PACKAGE_SESSION_PROMPT.md) (пакет-чекеров против labels; ПОСЛЕ лендинга фикс-пака — общие файлы) · [`POLYGON_PACKAGE4_SESSION_PROMPT.md`](POLYGON_PACKAGE4_SESSION_PROMPT.md) (residual-трекер пилота/18+/echo, отложен; P4-хвост из него закрыт D39.61). Закрытые 30.07–01.08 (промты в `archive/prompts/`, отчёты с ревью-шапками в `archive/reports/`): пак-19 «голос/состояние» (D39.54–56) · холодный мини-прогон (D39.58) · ToS-речек (D39.57) · ресёрч общности фаза 1 (D39.60) · полигон Р6+P4 (D39.61) · **фаза 2 общности (D39.64)** · **полигон «сырьё арки банка»+пробы (D39.65)** · **качество банка, оба этапа (D39.69)**. - `archive/` — `prompts/`: закрытые сессионные промты (только история, инструкции оттуда не исполнять) · `reports/`: отчёты паков/ресёрч-сессий с ревью-шапками (живая фактура приёмок — на них ссылаются D-лог и активные промты) · `architecture/`: исполненные арх-доки (07 стратревью · 08 синк-ледджер · 11 план пака-11) · четыре слайса хроники `PROGRESS-2026-07-{04-10,10-13,13-25,25-31}.md`. -## Статус (2026-08-01, голова D39.71 — эра «общность → качество банка») +## Статус (2026-08-01, голова D39.72 — эра «общность → качество банка») Полная карта состояния НЕ здесь: фазы/курс/очередь/горизонт — в шапке [`PROGRESS.md`](PROGRESS.md) (CURRENT-STATE + единый бэклог), решения — в [`architecture/05-decisions-log.md`](architecture/05-decisions-log.md) (карта актуальности; свежая голова — с хвоста файла). Коротко: Ф0/Ф1 ✅ · арх-ресет D39 (паки 11–16) ✅ · паки 17–20 ✅ · мини-прогон и холодный прогон приняты (D39.37/58) · карта языковой привязки движка снята (D39.60: книго-ось чиста; ja→ru безопасна без правки Go, en→ru — нет) · Р1–Р4 закрыты (D39.63) · пак-21 растворён (D39.62) · **фаза 2 общности принята (D39.64: цель/скрипт-швы по данным, эмбед-хеш, манифест-по-каналам; голден вердикт-нейтрален)**. Полигон-ветка закрыта D39.65 (строки 21/22, фиксы 36а/36в проверены живьём). Банк-пак принят целиком (D39.69); вопросы §9 закрыты (D39.70, канон целей — в CLAUDE.md). Текущее: фикс-пак банка ПЕРВЫМ (промт выдан D39.71) → пакет-чекеров после. Свип полноты исполнен и пост-сверен кодом (D39.66: 951 обязательство, потери возвращены; якоря — architecture/13). ⚠ DeepSeek-0731 сменил веса под слагом — платные прогоны СТОП до ре-пробы (бэклог-строка 74). Дальше: стройка банка ∥ пакет-чекеров → ре-проба flash → ДОБОР ИДЕАЛА (мини-прогон и свип гипотез влиты, D39.67) → вторая пара (ja→ru) → МАСШТАБ → пилот Ф2.5 → Ф3 ридер-IDE. diff --git a/docs/architecture/05-decisions-log.md b/docs/architecture/05-decisions-log.md index afbd0278..837258b0 100644 --- a/docs/architecture/05-decisions-log.md +++ b/docs/architecture/05-decisions-log.md @@ -1,4 +1,4 @@ -# Журнал решений оркестратора — контракт D1–D39.71 (развязки 04.07 · пакеты 09–10.07 · приёмка/качество-первым/пивот/эмпирика 11–12.07 · арх-ресет+стройка пере-прогонного стека 13–19.07) +# Журнал решений оркестратора — контракт D1–D39.72 (развязки 04.07 · пакеты 09–10.07 · приёмка/качество-первым/пивот/эмпирика 11–12.07 · арх-ресет+стройка пере-прогонного стека 13–19.07) > **⟶ КАРТА АКТУАЛЬНОСТИ (ревизия D31, продлена до D38.2 [12.07]; исторические записи ниже НЕ переписываются — дисциплина D23.3).** Читая контракт целиком, держи под рукой, что чем перекрыто: > ⚠ **Навигация (актуализация 01.08):** карта ниже детально покрывает D1–D39.28; решения D39.29–63 живут хронологически в теле файла, **свежая голова — С ХВОСТА** (новые ноты аппендятся вниз). Сводка текущей головы и очередь — CURRENT-STATE в `../PROGRESS.md`. @@ -1219,3 +1219,5 @@ API-529-долг закрыт: 8-осевой refute-by-default воркфлоу ## D39.70 — ОТВЕТЫ ВЛАДЕЛЬЦА ПО §9 БАНК-ПАКА + КАНОН ЦЕЛЕЙ (02.08): **(Q8) книжные примеры в `classifier.md` САНКЦИОНИРОВАНЫ** с восстановленной нормой: языко-/книго-специфичное ДЕЛАТЬ МОЖНО — но выносить в данные/отдельные модули, встраиваемые архитектурно чисто (пар-промпт = легитимный модуль); **(Q1–Q7) делегированы инженерному «как лучше по исследованию, соблюдая цели»** — диспозиции: Q1 канон-пин серий НЕ сейчас (вернуться на МАСШТАБЕ) · Q2 полигон-замер нужности 36б — ДА, до любой стройки (слот при ре-пробе 74) · Q3 резюме = гейт пилота Ф2.5 ПОДТВЕРЖДЁН (строка 80) · Q4 hard-инъективность — НЕТ (warning-only по дизайну, порядок закрыт серией) · Q5 авто-транслит реалий — промпт-инструкцией роли «предпочитай смысловой перевод реалий; транслит — именам собственным» (данные пар-промпта, в фикс-лист 87; судится следующим прогоном) · Q6 «сокращённая форма» = МОРФОКЛИП (`decl.forms[]` достаточно, $0; прозвища живут алиасами банка — отдельного поля НЕ строить); отбраковка неизвестного рода компат-безопасна (neuter-сидов в природе нет) — строка 27 остаётся закрытой · Q7 замер эмиссии головы — ДА, дешёвым полигон-слотом ПОСЛЕ #10 (очередью с ре-пробой; строка 18 уже так стоит); **(2) оценка `series.go` по канонам (вопрос владельца)**: ядро — ПО КАНОНАМ (пакет пар-агностичен, параметры приходят значением, алгоритм generic и детерминирован, языковые примеры только в комментариях с измеренным «почему»); один этаж ниже канона — `SeriesMorphology`: `head_final` захардкожен Go-константой CJK-класса вместо данных (код сам помечает «the one place to revisit») → в фикс-лист 87 добавлено «`series`/`head_final` → строкой в `lang-script.txt`» + консолидация дубля `lang.TokenizeWords`↔`text.TokenizeScript`; **(3) КАНОН ЦЕЛЕЙ ПРОЕКТА сформулирован и вписан в CLAUDE.md** («Цели и мерило», 6 пунктов: продукт-качество · мультиязычность модулями/данными · чистая поддерживаемая архитектура · современные подходы/харнесс-превосходство · экономика с видимыми деньгами · детерминизм) — собран оркестратором из формулировок владельца (START_PROMT, 24.07 общность, 01.08 критерий, 02.08 харнесс-буллеты), НА ПОПРАВКУ владельцу; сессионные промты далее ссылаются на канон вместо пере-цитирования. Строка 88 ЗАКРЫТА (02.08, оркестратор №9). ✅ ## D39.71 — ФИКС-ПАК БАНКА ВЫДАН (владелец 02.08 «самое время передать записку тем же бэкендерам»): промт `BACKEND_BANK_FIXPACK_SESSION_PROMPT.md` — вся бэкенд-часть ответов §9 + фикс-лист приёмки D39.69 одной короткой сессией: (а) «ь»/палладиевский класс в `decl_suffix` + тест именно на «Фан Юаню» (б) `series`/`head_final` из Go-константы в `lang-script.txt`-данные (в) правка лживого комментария Batch + решение оверсайз-серии (мина cap-8000) (г) classify_types-гигиена + config-тесты (д) мутационный тест neuter-фолда (е) вердикт по voice×стеммер (ж) дистилл-фикстура BANK-FULL (з) Q5-промпт-инструкция реалий (и) консолидация дубля токенизации. Очерёдность ЯВНО: фикс-пак ПЕРВЫМ, пакет-чекеров — после его лендинга (общие файлы membank/prompts). Раскладка остальных ответов: Q6/Q8 закрыты без работ · Q1/Q4 «не строить» · Q3 гейт Ф2.5 by construction · Q2/Q7 полигон-слоты при ре-пробе 74. Строка 87 переведена в работу (02.08, оркестратор №9). ✅ + +## D39.72 — ОСТАТКИ КАРТЫ ОБЩНОСТИ ПОЛУЧАЮТ НОСИТЕЛЯ (вопрос владельца 02.08 «мы что-то взяли оттуда в бэклог?» — аудит показал ПРОПУСК оркестратора): из карты D39.60 взято и закрыто/затрекано ПОЧТИ всё — П0–П4 построены (D39.64) · П5 generic-майнер = строка 35 (гейт ja→ru) · П6 отклонён (D39.62 Q3) · 4 data-флага = строка 14 · остаток ведра C = строки 79/34 · книго-ось чиста по построению; **НЕ имело носителя ведро D («удалить», 12 сайтов)** — свип D39.66 заметил «не удалено, вне скоупа фазы-2», но строку я не завёл (нарушение собственной нормы D39.66 «каждое отложено получает строку тем же лендингом»); живые остатки подтверждены грепом: указатели на несуществующий `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 (часть исходной дюжины могла уйти фазой-2 — сверить по карте §3). **Заведена строка 89** (аудит-и-чистка ведра D + сверка ведра B «6 пар-модуль-без-гейта» против фазы-2); носитель = ПАКЕТ-ЧЕКЕРОВ (бо́льшая часть сайтов в checks/ — промт дополнен пунктом) либо мелкая пачка (02.08, оркестратор №9). ✅