diff --git a/docs/BACKEND_GENERALITY_PHASE2_SESSION_PROMPT.md b/docs/BACKEND_GENERALITY_PHASE2_SESSION_PROMPT.md new file mode 100644 index 00000000..f617b97d --- /dev/null +++ b/docs/BACKEND_GENERALITY_PHASE2_SESSION_PROMPT.md @@ -0,0 +1,31 @@ +# Промт бэкенд-сессии: ОБЩНОСТЬ, фаза 2 — rewrite-пакеты П0–П4 + малая пачка ($0-код, БЕЗ платных вызовов) + +**Выдан 01.08.2026, оркестратор №9; санкция владельца D39.62** (П1 включён — заморозка D39.24 §15.3 амендирована; пак-21 растворён). Карта и рабочая истина = `docs/archive/reports/GENERALITY_RESEARCH_2026-07-31.md` (принята D39.60): якоря — §3, трасса второй пары — §5, цены — §6, план — §9, чего НЕ делать — §10. **Первый деливерабл — эхо-блок ≤10 строк.** + +⚠ **Платных вызовов моделей — НОЛЬ.** DeepSeek сменил веса под слагом (D39.61, строка 74 бэклога): боевая черновая форма покупает пустые ответы; развилка у владельца. Вся фаза — код+тесты. **`--resnapshot` НЕ запускать ни в каком виде** — подготовить один общий (см. «Выход»), запуск = отдельное слово владельца после развилки 74. + +## ШАГ 0 — карта чтения (≤6 позиций) + +GENERALITY_RESEARCH §3/§5/§6/§9/§10 · D39.60–62 в D-логе · `12-go-style-notes.md` §0 · правило условного фолда (отчёт §6.2: фолдить ⟺ выход в оплаченном запросе/вердикте/`final_hash`; новый фолд — условный по присутствию) · прецедент «ридер+дефолт сейчас, файл данных позже» (`readOptional`, langpack.go:567-576) · бэклог-строки 25/26/28/32/74–78. + +## Скоуп (порядок = порядок исполнения) + +1. **П0 «байты есть версия»:** `lang.EmbeddedVersion()` = sha256 эмбед-FS в фиксированном порядке, фолд в снапшот рядом с `LangpackVersion`. Приёмка: правка байта `data/target-ru.txt` ⇒ громкий resnapshot-стоп, не тихая смена вердиктов (мутационный тест). +2. **П1 цель-шов (слой 7):** `isRuTarget` (6 call-site) → инертность-ПО-ДАННЫМ · `TokenizeCyrillic` → токенизатор с алфавитом цели из данных (закрывает и U+0301 #11, и самозадокументированный долг `checks/repair.go:182-189` — шов ОДИН, оба потребителя на нём) · реестр целей из эмбед-данных вместо Go-мапы · `ruSanitizer` → поле `Checkers` · **гейт на `ExportNormalize`** ($0 по его же шапке) · ё-фолд → цель-данные. З2 соблюдать: строковые предикаты, НИКАКОГО `language.Tag`. +3. **П2 скрипт-шов источника:** `cjkShare` → доля рун ОБЪЯВЛЕННОГО письма источника (объявлять, не нюхать) · консолидация выражений «класс CJK» с явным решением по Hangul (закрывает живой баг ko — строка 75) · `isCJKLang` → атрибут данных. +4. **П3 нарезка/оценка:** таксономия классов `EstimateTokens` из данных (не два поля Go-типа; вторую копию арифметики в `memory.go:494-506` — на тот же шов) · фолбэк `segmentation` = ГРОМКАЯ ошибка вместо zh-литералов (`pipeline.go:843-852`; правило «терпимость к своим данным = воркэраунд») · generic-детект глав (маркер + цифры + опц. юнит, с пробелом — закрывает «Chapter 12» и `第N話`) · аллоулист кодировок из данных · `sourceAbbrevs` по языку книги. +5. **П4 пак как механизм:** манифест по КАНАЛАМ вместо 11 обязательных файлов (майнер получает nil-канал и молчит с WARN) · табличный список опциональных файлов вместо 4 копий read→hash→parse→assign · новые файлы книгой не оверлеятся (явно). +6. **Дешёвая шестёрка растворённого пака-21** (якоря — §8 отчёта, НЕ D39.39): #11 U+0301 (закрывается токенизатором П1) · #2 атрибуция K4b до спана · #4 `inner_marker` симметрично вето · гомоглиф отдельным детектором смешанного письма · строгая форма `OffLanguage` (строка 28; ⚠ оговорка 36а: «甲等 → класс Цзя» она не ловит — не заявлять) · строка 26 `translitInterjections` → данные. +7. **Малая пачка:** строка 77 — ре-ген N=1 ПЕРЕД эскалацией для `cjk_artifact` (посылка «retry just re-produces them» опровергнута D39.61; гейт не ослаблять ни на байт; конфиг-ручка с дефолтом = текущее поведение, условный фолд) · строка 78 — billed-попытка «2xx body decode failed (call IS billed)» обязана попадать в `request_log`. + +## НЕ делать (заморозки в силе) + +§10 отчёта целиком: `language.Tag` (З2) · UAX#29 · авто-детект письма по тексту · дробление `internal/lang` · кана-фолд `NormalizeSourceKey` · жанровые словари (З7) · «X-X»-обобщение (З6) · границы глосс (З5) · П5-майнер (гейт = реальная вторая книга) · П6-расщепление хеша пака (решение владельца: не делаем) · пар-кеинг DC-чекеров (З3) · дизайн автономности банка (отдельная арка). + +## Дисциплина (мандат самопроверки — норма владельца 01.08, ОБЯЗАТЕЛЕН) + +Цикл: **план → синк** (карта чтения; расхождение промта с кодом/доками = пинг через владельца, не тихая интерпретация) **→ исполнение → самоверификация ТОЙ ЖЕ сессией, ИСПОЛНЕНИЕМ**: build/vet/`go test -race` · golden байт-в-байт там, где вердикты не двигаются, и Ш-1 маскированный дифф там, где двигаются (П3!) — каждая сдвинутая строка объяснена осью · майнер-парити EXACT · **мутационные проверки несущих гейтов** (мин.: П0-байт, П1-инертность на `target_lang: en`, П2-Hangul) · **сухой прогон второй пары**: ja→ru и en→ru конфиги доходят до промпт-отказа БЕЗ тихих засыпаний (проверить трассу §5 отчёта) · «вывод на агрегате до вскрытия единиц запрещён». Приёмочный критерий каждого пакета: **«пара, которой нет в репо, проходит этот слой без правки Go»** + счёт снапшот-осей, которые пакет сдвинул. + +## Выход + +`docs/archive/reports/GENERALITY_PHASE2_<дата>.md`: эхо-блок · что построено по пакетам с file:line · самоверификация исполнением (команды/числа) · **сводка «что сдвинуло снапшот» = заготовка одного общего resnapshot** (оси + проекция цены по корпусу) · критик полноты. Запись в PROGRESS (секция «Бэкенд»). Сессия НЕ коммитит; `--resnapshot` НЕ запускает. **СТОП после отчёта — приёмка оркестратора.** diff --git a/docs/ORCHESTRATOR_SESSION_PROMPT.md b/docs/ORCHESTRATOR_SESSION_PROMPT.md index b92189c8..67f5da38 100644 --- a/docs/ORCHESTRATOR_SESSION_PROMPT.md +++ b/docs/ORCHESTRATOR_SESSION_PROMPT.md @@ -11,6 +11,7 @@ **Норма «дисциплина ответа» (владелец 26.07, для Opus-класса моделей — вставлять в каждый сессионный промт):** эрудиция ≠ улика (грунт `file:line`/замер или пометка «мнение») · не пересказывать промт · плотность, не объём · без шаблонных оговорок и советов вне скоупа · комментарии 1–2 строки, улики — в отчёт. **Норма приёмки и усилий (владелец 30.07, ужесточает пропорциональность 25.07):** тяжёлый агентный аппарат (воркфлоу-верификаторы, панели) — ТОЛЬКО поверх серьёзных перестроек и дизайнов; в остальном сессиям доверяем. Значительные изменения → промт сессии несёт цикл «план → синк по вопросам → чтение доков полигона/оркестратора → исполнение → самоверификация ТОЙ ЖЕ сессией». Оркестратор: КОРОТКАЯ приёмка чтением отчёта · общее планирование над репо · досинхронизация команды (полигону — инструкции смотреть на бэкенд, бэкенду — на полигон-экспы) · правка недосинхронизированных мест. Токены беречь: болтливость сессий подрезать промтами, свои усилия — тоже. +**Норма самопроверки сессий (владелец 01.08, «ВСЕГДА. НА ВАЖНЫХ»):** промт ЛЮБОЙ важной сессии (бэкенд-паки, ресёрчи, платные полигон-пакеты) ОБЯЗАН нести явный мандат самопроверки исполнением; на мелких задачах — самопроверка меньше, без тяжёлого аппарата. В мандат включать урок D39.61: «вывод на агрегате до вскрытия единиц запрещён — перед сравнительным выводом открыть хотя бы одну единицу с каждой стороны»; для денег — два независимых пути счёта; помнить «леджер = нижняя граница» (строка 78). > Предыдущий хендофф (№5, эра «план→стройка» — исполнена целиком) — `archive/prompts/ORCHESTRATOR_SESSION_PROMPT_v5_2026-07-19.md`. Здесь — только живое: роль, методология, оплаченные уроки, нормы. Состояние и очередь НЕ дублируются: они живут в PROGRESS. diff --git a/docs/POLYGON_BANK_RAWMATERIAL_SESSION_PROMPT.md b/docs/POLYGON_BANK_RAWMATERIAL_SESSION_PROMPT.md new file mode 100644 index 00000000..d7025fa8 --- /dev/null +++ b/docs/POLYGON_BANK_RAWMATERIAL_SESSION_PROMPT.md @@ -0,0 +1,21 @@ +# Промт полигон-сессии: $0-сырьё для арки автономности банка (строки 21/22 + аудит типов 36а) + +**Выдан 01.08.2026, оркестратор №9.** Зона: `eval/` + `docs/experiments/`. Назначение: три замера на УЖЕ ОПЛАЧЕННОМ сырье холодного прогона (`~/books/gu-zhenren/coldrun-a/`, БД + чекпойнты + банк 150 термов) — вход дизайн-пака арки автономности банка (D39.59/62, строка 73). **Первый деливерабл — эхо-блок ≤10 строк.** + +⚠ **Часть 1 — строго $0: платные вызовы моделей ЗАПРЕЩЕНЫ.** DeepSeek-развилка (D39.61, строка 74) не решена — боевая форма flash покупает пустые ответы; терминолог-проходы НЕ докупать. Если для n≥2 не хватает существующих чекпойнтов — честно написать «сырья нет, нужен один проход после развилки 74, цена ~$0.006–0.013» и НЕ покупать. + +**Пре-регистрация до вскрытия данных** (§0 отчёта, не переписывается): пороги чтения каждого замера + что объявляется «не измерено». Дисциплина D39.61: **вывод на агрегате до вскрытия единиц запрещён** — перед любым сравнительным выводом открыть глазами хотя бы одну единицу с каждой стороны; каждый агрегат — вторым независимым путём счёта. + +## Часть 1 ($0, обязательная) + +1. **Строка 21 — консистентность P1 терминолога:** на существующих чекпойнтах/проходах холодного прогона (сколько их реально есть — установить по БД и назвать) — стабильность dst между проходами по 150 термам; классы расхождений (регистр/форма/семантика); связь с KWIC-контекстами. Если проход один — мера внутрипроходной консистентности (повторы терма в разных батчах) + честное «межпроходная не измерима без покупки». +2. **Строка 22 — веса консолидации §C2-3 при n≥2:** пере-мер на том же сырье; если n<2 — заявить и остановиться на подготовке метода. +3. **Аудит типов (36а):** все 150 строк банка — валиден ли `type` против фактического класса терма (имя/титул/реалия/…); связь мис-типа с транслитерационной веткой («слишком китаизированно» — механизм 36а); счёт по типам + примеры единиц. Плюс: сколько строк без `Decl` (смыкается с Decl-швом, строка 73). + +## Часть 2 — проб-пакет §12.7 (ТОЛЬКО по слову владельца при релее; иначе пропустить целиком) + +Потолок **$0.03**, сырой провод (`eval/promptlang/wire_probe.py`), боевой конфиг не трогается: префилл «Перевод:\n» на 0731 (≈$0.005; сильнейший кандидат §12.3) · `effort:"high"` явно — дефолт ли это (≈$0.01) · ja-вход (≈$0.005; закрывает границу §10.4). Пре-рег и два пути счёта денег обязательны; вне пиков DeepSeek (UTC 01–04/06–10). + +## Выход + +`docs/archive/reports/POLYGON_BANK_RAWMATERIAL_<дата>.md`: эхо-блок · пре-рег · числа с командами и вскрытыми единицами · критик полноты (что «не измерено» — так и писать). Сессия НЕ коммитит, бэклог не правит; расхождение промта с кодом/доками = пинг через владельца. diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index b6ed9cb1..c402ab95 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -1,7 +1,7 @@ # Журнал прогресса > **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-07-26: пак-20 закрыт ЦЕЛИКОМ D39.41–53 — терминолог · флаговый стоп · двухсекционная инъекция · точечная ре-редактура · языковой экран; жанровый словарь отменён D39.47; полигон-пакеты 6/7/8 закрыты). **Источник истины по РЕШЕНИЯМ — `architecture/05-decisions-log.md` (D1–D39.53); этот файл — ЖУРНАЛ.** -> - **Фазы/курс:** Ф0 ✅ · Ф1-инфра ✅ (D20–D28; golden = инвариант №8) · арка «качество-первым» D26→D38.5 закрыта · **арх-ресет D39 исполнен ЦЕЛИКОМ** (7 слоёв → программа D39.1–D39.10 → паки 11–16, D39.13–D39.24; статус слоёв — шапка-таблица `architecture/09-target-architecture.md`) · пере-прогон rerun2 прочитан (D39.20: операционка живьём, $0-резюм ×3 арма, $6.63<$15; планка ≤2 НЕ пройдена; анти-корреляция гладкость↔верность ×3 → mistral-редактор вон) · эксп ЗАКРЫТ (D39.22), итерация №2 отложена · **курс = разработка бэкенда: пак-17 «канал B вживую» ЗАКРЫТ ЦЕЛИКОМ (дизайн D39.26 · стройка D39.27 · дельта `allow` D39.28, 25.07); вокабуляр = ПАРА `violence`/`sexually-explicit`, остаток — ФАКТЫ ToS в зоне полигона (fail-closed до них)** (D39.25: в движке НЕТ понятия «18+» — generic content-labels × provider-capabilities; лейблы вне хешей · резолв до валидации · один хоп `chain[0]` · гранулярность = книга) → **КУРС АМЕНДИРОВАН ВЛАДЕЛЬЦЕМ 25.07 (D39.33): МАСШТАБ — ПОСЛЕДНИМ, после достройки алгоритмического идеала; доказательство эффективности крупных изменений — МИНИ-ПРОГОНЫ ~10 глав (детерминированные чекеры и скан остатка первыми, судья — только когда от него зависит решение).** **ОЧЕРЕДЬ (D39.40/51/53, актуализация 31.07):** пак-19 «голос/состояние» ЗАКРЫТ ЦЕЛИКОМ (D39.54–56, вкл. малую пачку 14а+14б) → ХОЛОДНЫЙ мини-прогон ИСПОЛНЕН ДОСТАТОЧНО (D39.58, Р7 владельца: recall банка 0.918/0.980, банк приходит переведённым; хвосты 16/21/22/24/13б — со следующим живым прогоном или полигон-пакетом) → **ПАРАЛЛЕЛЬ D39.59: бэкенд-ресёрч общности фаза 1 ПРИНЯТ (D39.60 — долг 149 сайтов/45 файлов, книго-ось чиста: 4 сайта; ja→ru безопасно без Go, en→ru нет; план П0–П5; СТОП — 5 вопросов §12 у владельца, строка 72) ∥ полигон Р6+P4 ПРИНЯТ (D39.61 — Р6 отрицателен: боевые промпты остаются русскими; гейт верности D21 п.6 пройден «цены верности не обнаружено», wiring отложен до предмета, префилл — новый кандидат; ⚠ **DeepSeek сменил веса под слагом 31.07 — боевая черновая форма покупает пустые ответы, развилка §12.4 у владельца = БЛОКЕР платных прогонов и resnapshot, строка 74**)** → фаза 2 общности ($0-код, от развилки не зависит: П0 → П1 цель-шов → П2 скрипт-шов → П3 нарезка → П4 пак-манифест + дешёвая шестёрка растворённого пака-21 + малые 77/78; в конце ре-проба flash → ОДИН общий resnapshot по слову владельца) → арка АВТОНОМНОСТИ банка (веб-фетч пере-замер + 36а/36б/36в; премиса «решение = подпись» амендирована D39.59) → rewrite-пакеты общности → свип гипотез → добор идеала → МАСШТАБ целой книги (7,78 млн симв., ~2284 раздела) → пилот Ф2.5. Хроника треков A/B, exp15/16 и стройки паков — архивы ниже + D-лог. +> - **Фазы/курс:** Ф0 ✅ · Ф1-инфра ✅ (D20–D28; golden = инвариант №8) · арка «качество-первым» D26→D38.5 закрыта · **арх-ресет D39 исполнен ЦЕЛИКОМ** (7 слоёв → программа D39.1–D39.10 → паки 11–16, D39.13–D39.24; статус слоёв — шапка-таблица `architecture/09-target-architecture.md`) · пере-прогон rerun2 прочитан (D39.20: операционка живьём, $0-резюм ×3 арма, $6.63<$15; планка ≤2 НЕ пройдена; анти-корреляция гладкость↔верность ×3 → mistral-редактор вон) · эксп ЗАКРЫТ (D39.22), итерация №2 отложена · **курс = разработка бэкенда: пак-17 «канал B вживую» ЗАКРЫТ ЦЕЛИКОМ (дизайн D39.26 · стройка D39.27 · дельта `allow` D39.28, 25.07); вокабуляр = ПАРА `violence`/`sexually-explicit`, остаток — ФАКТЫ ToS в зоне полигона (fail-closed до них)** (D39.25: в движке НЕТ понятия «18+» — generic content-labels × provider-capabilities; лейблы вне хешей · резолв до валидации · один хоп `chain[0]` · гранулярность = книга) → **КУРС АМЕНДИРОВАН ВЛАДЕЛЬЦЕМ 25.07 (D39.33): МАСШТАБ — ПОСЛЕДНИМ, после достройки алгоритмического идеала; доказательство эффективности крупных изменений — МИНИ-ПРОГОНЫ ~10 глав (детерминированные чекеры и скан остатка первыми, судья — только когда от него зависит решение).** **ОЧЕРЕДЬ (D39.40/51/53, актуализация 31.07):** пак-19 «голос/состояние» ЗАКРЫТ ЦЕЛИКОМ (D39.54–56, вкл. малую пачку 14а+14б) → ХОЛОДНЫЙ мини-прогон ИСПОЛНЕН ДОСТАТОЧНО (D39.58, Р7 владельца: recall банка 0.918/0.980, банк приходит переведённым; хвосты 16/21/22/24/13б — со следующим живым прогоном или полигон-пакетом) → **ПАРАЛЛЕЛЬ D39.59: бэкенд-ресёрч общности фаза 1 ПРИНЯТ (D39.60 — долг 149 сайтов/45 файлов, книго-ось чиста: 4 сайта; ja→ru безопасно без Go, en→ru нет; план П0–П5; СТОП — 5 вопросов §12 у владельца, строка 72) ∥ полигон Р6+P4 ПРИНЯТ (D39.61 — Р6 отрицателен: боевые промпты остаются русскими; гейт верности D21 п.6 пройден «цены верности не обнаружено», wiring отложен до предмета, префилл — новый кандидат; ⚠ **DeepSeek сменил веса под слагом 31.07 — боевая черновая форма покупает пустые ответы, развилка §12.4 у владельца = БЛОКЕР платных прогонов и resnapshot, строка 74**)** → фаза 2 общности ($0-код, от развилки не зависит: П0 → П1 цель-шов → П2 скрипт-шов → П3 нарезка → П4 пак-манифест + дешёвая шестёрка растворённого пака-21 + малые 77/78; в конце ре-проба flash → ОДИН общий resnapshot по слову владельца) → арка АВТОНОМНОСТИ банка (дизайн-пак оркестратора: веб-фетч пере-замер под АВТОНОМНЫМ критерием + 36а/36б/36в + Decl-шов/27; премиса «решение = подпись» амендирована D39.59; кормится $0-сырьём строк 21/22/36а — полигон-промт выдан) → **горизонт (D39.62, «планировать подальше»):** пере-замеры на новом стеке ОДНИМ живым мини-прогоном (закрывает 16/24 + оси голоса + остаточную цену; после развилки 74 и resnapshot) → свип гипотез качества (полигонский судейский свип дефект-классов на актуальном стеке; вход = рубрика K1–K12 + размеченный стенд пакета-6) → добор идеала → ВТОРАЯ ПАРА живьём (кандидат ja→ru; гейтит П5-майнер и впервые проверяет §0 фактом) → МАСШТАБ целой книги (7,78 млн симв., ~2284 раздела; каденс/потолки/ETA) → пилот Ф2.5 (судья native-Gemini; 18+ ветка через grok-фолбэк; строка 6 ToS) → Ф3 ридер-IDE (строки 69–71; якорь = чанк пайплайна). Стоячие обязательства поверх горизонта: ToS-триггер 25.10 · Ш-2 трипваер до go1.27 · строка 74 до любых платных прогонов. Хроника треков A/B, exp15/16 и стройки паков — архивы ниже + D-лог. > - **Стек:** draft deepseek-v4-flash (thinking ON, +банкнота `translator-banknote.md`) → **терминолог** (роль пар-пака, deepseek-v4-flash, батчи, языковой экран `target_script` — D39.42/45/51/53) → **editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (D39.22; glm-5 резерв)**, промпт v3-discourse, инъекция двухсекционная (D39.45) → судья gemini-3.1-pro-preview (Ф2, полигон); канал B Mistral+grok; 7 ключей; ~$0.85/ранобэ (D30.4). > - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже (введён 26.07 по решению владельца: одна таблица вместо наслоений; ревью-пасс оркестратора сверил её с коммитами и обсуждённым, добавил 7 строк). Норма прежняя: каждая петля обязана иметь диспозицию (решено / отложено-с-записью / отклонено); ведёт оркестратор. Историческая развёртка петель до 26.07 — в git-истории этого файла и в D-логе.** > - Архивы хроники: `archive/PROGRESS-2026-07-04-10.md` (D31) · `archive/PROGRESS-2026-07-10-13.md` (D39.6-гигиена) · `archive/PROGRESS-2026-07-13-25.md` (слайс 25.07: стройка паков 11–16, rerun2). Записи ниже — живой хвост. @@ -35,19 +35,19 @@ | 22 | Пере-мер весов консолидации §C2-3 при n≥2 — сырьё то же | полигон | скоро | полигон-пакет | D39.45, D39.58 | | 24 | Остаток: авто-режим флага (проект Б не гонялся) · оси голоса A–D (профили не подписаны; черновик готов — `coldrun-a/SIGN-PACKAGE.md` §3) | бэкенд | когда-нибудь (следующий живой прогон) | следующий прогон | D39.40, D39.58 | | **— ТЕКУЩАЯ ОЧЕРЕДЬ (D39.59) —** | | | | | | -| 72 | Ресёрч общности: фаза 1 ИСПОЛНЕНА и ПРИНЯТА (D39.60; карта = рабочая истина: 149 сайтов/45 файлов, книго-ось чиста, план П0–П5) — **СТОП: 5 вопросов §12 у владельца** (П1-санкция · resnapshot-фигура · П6 · Р1–Р4 · судьба пака-21); фаза 2 по ответам | владелец → бэкенд | блокер-очереди | ответы → фаза-2 директива | D39.59, D39.60 | +| 72 | Ресёрч общности: фаза 1 ПРИНЯТА (D39.60), ответы владельца ПОЛУЧЕНЫ (D39.62): Q1 П1-санкция ДА · Q5 пак-21 растворён · Q2/Q3 — механика оркестратора · **Q4 (Р2/Р4) — ждёт ответа (строка 1)**; фаза-2 директива ВЫДАНА (`BACKEND_GENERALITY_PHASE2_SESSION_PROMPT.md`, $0-код; resnapshot — только отдельным словом после развилки 74) | бэкенд | в работе | фаза 2 → приёмка | D39.60, D39.62 | | 73 | Арка АВТОНОМНОСТИ банка (курс владельца: подпись опциональна): пере-замер веб-фетча под АВТОНОМНЫМ критерием (пакет-7 мерил не то — аддитив к KWIC против подписи) + механизмы 36а/36б/36в + Decl-шов (майненая сторона не пишет склонённых форм — пост-чек не примет 149 авто-строк; D39.60, бывший дефект #9 пака-21) + Р3-остаток; дизайн после ответов по общности | бэкенд/полигон | скоро | дизайн-арка → ратификация | D39.59, D39.60 | | 74 | ⚠ **DeepSeek-V4-Flash-0731: развилка владельца — БЛОКЕР платных прогонов и resnapshot** (боевая черновая форма покупает пустые ответы): (а) флор 16000 = сдвиг `request_hash` ⇒ ехать В ОДНОМ resnapshot с фазой-2; хвост не закрывает (упор 2/5) · (б) слать `reasoning_effort` явно = приведение к вендорской модели (384K-норма), но амендмент `echoMineViolation`, возврат эха ~6% и качество черновика при `low` не судилось · (в) ждать бету (вышла 31.07); $0-код от развилки НЕ зависит | владелец | **СРОЧНО (блокер)** | подпись → фикс конфига/гейта (+ при (б): замер качества черновика и предмет для постинструкции/префилла) | D39.61, POLYGON §12.4 | | 75 | Живой баг: `isCJKLang` числит ko, а `cjkShare`/CJK-leak/гард ремонта Hangul не содержат — движок считает ko-нарезку как CJK, печатает эхо-предупреждение и при этом эхо УВИДЕТЬ НЕ МОЖЕТ | бэкенд | скоро (носитель П2) | П2 скрипт-шов | D39.60, GENERALITY_RESEARCH §3.3 | | 76 | Эмбед-плоскость `internal/lang/data/*.txt` НЕ хешируется (а `injection.txt` едет на провод, `target-ru.txt` даёт вердикты санитайзера) = канал тихой пере-оплаты вне контура Р6 — П0 «байты есть версия» ПЕРВЫМ в любой фазе 2 | бэкенд | скоро (П0, предусловие) | П0 | D39.60, GENERALITY_RESEARCH §6.1 | | 77 | Ре-ген N=1 ПЕРЕД эскалацией для `cjk_artifact`: посылка «retry just re-produces them» (`disposition.go:138-148`) опровергнута на 0731 — эхо стохастично ПО ВЫЗОВУ (побайтно идентичная пара запросов → эхо/не-эхо); ре-ген ≈7.6× дешевле эскалации ($0.00096 против $0.007335); гейт D19.2 не ослабляется ни на байт | бэкенд | скоро (малой пачкой фазы 2) | фаза 2 | D39.61, POLYGON §10.5/§12.4 | | 78 | Леджер денег = НИЖНЯЯ граница: «2xx body decode failed (call IS billed)» — провайдер списал, ретрай заледжерен, исходная попытка в `request_log` НЕ попадает (4 случая, ≤$0.009 за сессию); логировать billed-попытку | бэкенд | скоро (малой пачкой фазы 2) | фаза 2 | D39.61, POLYGON §12.5 п.6 | -| **— ПАК-21 «чекеры» (карта готова; предложение D39.60/Q5: РАСТВОРИТЬ — дешёвая шестёрка батчем в общий resnapshot, 6 дефектов в П1/П2/П3, #9 → строка 73, #12/K4a снять; якоря D39.39 устарели — актуальные в GENERALITY_RESEARCH §8) —** | | | | | | -| 25 | 12 дефектов чекеров с file:line (супрессор K5c · атрибуция K4b · inner_marker на тире · предохранитель K5a · заглавные/гомоглифы K2 · 两 в cheng_re · U+0301 в TokenizeCyrillic · мн.число в сид-тулинге · однознаковые ключи пост-чека) — приёмка против набора пакета-6 за $0 | бэкенд | скоро | пак-21 | D39.39(в), D39.40 | -| 26 | Переезд `translitInterjections` из Go в данные (`cheapgates.go:367`, улов владельца) | бэкенд | скоро | пак-21 | D39.40 | -| 27 | Пост-чек обязан принимать сокращённую форму терма как поле записи (Р3/Q4) | бэкенд | скоро | пак-21 | D39.44 Q4 | -| 28 | Банк-линт латиницы в dst или строгая форма языкового предиката (7 строк утечки алфавита проходят экран) | бэкенд | скоро | пак-21 | D39.52 | -| 28а | Prompt-injection-проба входного текста ($0): сепаратор ⟦TM-BANK-v1⟧ и якорь-подобные маркеры В ТЕКСТЕ КНИГИ — поведение среза/парсера/инъекции (книга = недоверенные данные; инструментов у моделей нет, но канал банкноты читает вывод по маркеру) | бэкенд/полигон | когда-нибудь | пак-21 / малая проба | сводка-ревью 26.07 | +| **— ПАК-21 «чекеры»: РАСТВОРЁН решением владельца (D39.62) — дешёвая шестёрка и корзина (II) едут фазой 2, #9 → строка 73, #12/K4a сняты; якоря D39.39 устарели — актуальные в GENERALITY_RESEARCH §8 —** | | | | | | +| 25 | 12 дефектов чекеров с file:line (супрессор K5c · атрибуция K4b · inner_marker на тире · предохранитель K5a · заглавные/гомоглифы K2 · 两 в cheng_re · U+0301 в TokenizeCyrillic · мн.число в сид-тулинге · однознаковые ключи пост-чека) — приёмка против набора пакета-6 за $0 | бэкенд | скоро | фаза 2 (шестёрка/П1–П3 по корзинам GENERALITY §8; D39.62) | D39.39(в), D39.40, D39.62 | +| 26 | Переезд `translitInterjections` из Go в данные (`cheapgates.go:367`, улов владельца) | бэкенд | скоро | фаза 2 (шестёрка) | D39.40, D39.62 | +| 27 | Пост-чек обязан принимать сокращённую форму терма как поле записи (Р3/Q4) | бэкенд | скоро | строка 73 (арка банка, вместе с Decl-швом) | D39.44 Q4, D39.62 | +| 28 | Банк-линт латиницы в dst или строгая форма языкового предиката (7 строк утечки алфавита проходят экран) | бэкенд | скоро | фаза 2 (шестёрка; помнить оговорку 36а: «甲等 → класс Цзя» строгой формой не ловится) | D39.52, D39.62 | +| 28а | Prompt-injection-проба входного текста ($0): сепаратор ⟦TM-BANK-v1⟧ и якорь-подобные маркеры В ТЕКСТЕ КНИГИ — поведение среза/парсера/инъекции (книга = недоверенные данные; инструментов у моделей нет, но канал банкноты читает вывод по маркеру) | бэкенд/полигон | когда-нибудь | малая проба | сводка-ревью 26.07 | | **— СВИП ГИПОТЕЗ —** | | | | | | | 30 | Свип «стартовый промт + гипотезы ресёрчей 01–22 против построенного» ($0, аудит-воркфлоу класса D39.34) | оркестратор | скоро | свип гипотез | D39.38 | | 30а | Перерисовка puml-диаграмм под пост-пак-20 пайплайн (терминолог, банкнота отдельным файлом); PUML НЕ рендерить (гардрейл) | оркестратор | когда-нибудь | док-пасс | аудит доков 26.07 | @@ -106,6 +106,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-леджер | бэкенд | когда-нибудь | Ф3 | D39.34(7) | +## Оркестратор №9 — ответы владельца по общности ратифицированы (D39.62), горизонт достроен, два промта выданы, 01.08 + +Q1 = П1 цель-шов санкционирован («главное бэкенд писать по умному»; заморозка D39.24 амендирована, носитель П1) · Q5 = пак-21 растворён · Q2/Q3 = механика оркестратора (resnapshot одним батчем после развилки 74; расщепление хеша пар-данных не делаем) · Q4 (Р2/Р4) — раскрыт владельцу, ждёт ответа (строка 1). Норма самопроверки («ВСЕГДА на важных, меньше на мелких») вписана в промт-нормы вместе с уроком D39.61 «вывод на агрегате до вскрытия единиц запрещён». Горизонт очереди достроен до Ф3 (шапка CURRENT-STATE). Промты: `BACKEND_GENERALITY_PHASE2_SESSION_PROMPT.md` ($0-код: П0–П4 + шестёрка + 77/78; resnapshot только отдельным словом) · `POLYGON_BANK_RAWMATERIAL_SESSION_PROMPT.md` ($0-сырьё: строки 21/22 + аудит типов 36а; проб-пакет §12.7 — по слову владельца). + ## Оркестратор №9 + полигон — Р6+P4 ПРИНЯТ (D39.61): Р6 отрицателен, гейт верности D21 п.6 пройден; ⚠ DeepSeek сменил веса под слагом — развилка у владельца, 01.08 Отчёт: [`archive/reports/POLYGON_PROMPTLANG_ANTIECHO_2026-07-31.md`](archive/reports/POLYGON_PROMPTLANG_ANTIECHO_2026-07-31.md) — **действующая редакция выводов = §12** (после 15-агентного адверсариального саморевью сессии и докупки судейского хвоста по прямой санкции владельца; три вывода первой редакции отозваны самой сессией). Деньги: $0.433 = $0.1475 в потолке + $0.2855 санкционированного хвоста; мой независимый ре-ран `spend.py` совпал до 2.9e-06. **Итоги:** (1) вендор-катовер `V4-Flash-0731` — боевая черновая форма покупает пустые ответы; сместился ДЕФОЛТНЫЙ эффорт (вендорская норма потолка для high/max — 384K против нашего флора 8000); **развилка (а) флор-16000 / (б) явный эффорт / (в) ждать — подпись владельца, строка 74, до неё платные прогоны СТОП**; (2) Р6 закрыт отрицательно — en-промпт не даёт ничего ни по одной детерминированной оси, боевые промпты остаются русскими; (3) гейт верности петли D21 п.6 пройден в ослабленной форме («цены верности у митигаций не обнаружено»; «митигации вернее» НЕ установлено — псевдо-репликация поймана саморевью); wiring отложен до предмета, новый сильнейший кандидат — префилл; (4) эхо на 0731 стохастично по вызову ⇒ ре-ген перед эскалацией ≈7.6× дешевле (строка 77); (5) леджер = нижняя граница денег (строка 78). Квирки синхронизированы с §12. Залендено: отчёт · quirks · харнесс `eval/promptlang/`. diff --git a/docs/architecture/05-decisions-log.md b/docs/architecture/05-decisions-log.md index 8abba942..5704fd4e 100644 --- a/docs/architecture/05-decisions-log.md +++ b/docs/architecture/05-decisions-log.md @@ -1196,3 +1196,5 @@ API-529-долг закрыт: 8-осевой refute-by-default воркфлоу ## D39.60 — РЕСЁРЧ ОБЩНОСТИ ФАЗА 1 ПРИНЯТ ($0, read-only, кода не тронуто; спот-чеки оркестратора 8/8, вкл. побайтный повтор хеша пака `a28ed743c99c` и счёт 27 строк/12 файлов живых CJK-литералов): долг = **149 сайтов в 45 файлах** (111 не забуканы; вёдра A=27 вынести-в-данные · B=6 пар-модуль-без-гейта · C=104 общий-алгоритм+параметр-из-данных · D=12 удалить · E=106 легитимно) · **ось долга: источник/пара 63% · ЦЕЛЬ (ru) 30% · книга 3%** — по оси «НИКОГДА» владельца движок чист (4 сайта поимённо) · ja→ru проходит БЕЗОПАСНО без правки Go (деградируют майнер и калибровка), en→ru — НЕБЕЗОПАСНО (молча спят эхо-детектор `cjkShare`=0 и майнер `hanRuns`=0; устойчиво разделяют пары G2/G3) · строка 32 бэклога долг ЗАВЫШАЛА (боевых call-site: `isRuTarget` 6, `TokenizeCyrillic` 2 — остальное греп по комментариям/определениям). РАТИФИЦИРУЮ КАК КАРТУ И РАБОЧУЮ ИСТИНУ: пять вёдер с якорями · заморозки З1–З9 (синк с ратификациями подтверждён) · актуальные якоря пака-21 (ВСЕ ссылки D39.39 устарели после пака-19 — брать из §8 отчёта) · правило условного фолда §6.2 (фолдить ⟺ выход входит в оплаченный запрос/вердикт/final_hash; новый фолд обязан быть условным по присутствию) · находка «майненая сторона не пишет `Decl` ⇒ 149 авто-строк холодного банка не пройдут пост-чек» — уезжает в арку автономности банка (D39.59), не в пак-21 · живой баг ko/Hangul (`isCJKLang` числит ko, три вердикт-детектора Hangul не содержат — корейское эхо невидимо; строка 75, носитель П2) · дыра эмбед-плоскости (`internal/lang/data/*.txt` не хешируются ничем при `injection.txt` на проводе и `target-ru.txt` в вердиктах санитайзера ⇒ канал тихой пере-оплаты вне контура Р6, `rebill.go:137-139`; строка 76, П0 первым). СТОП: пять вопросов §12 — у владельца, рекомендации оркестратора: (1) П1 цель-шов ВКЛЮЧИТЬ в арку — D39.24 морозил «не ЭТИМ паком», сам код называет цель-шов назначенным носителем (`repair.go:182-189`), слой 7 целевой архитектуры держит «target-aware гейты — ОТКРЫТО» с 26.07; (2) фигуру «ОДИН общий resnapshot» ратифицировать (сегодня центы — корпус два мини-прогона по $0.13–0.23, после МАСШТАБА порядки; ре-пинуема 1 ось из 20), НО исполнение — ПОСЛЕ развилки DeepSeek-0731 (D39.61, строка 74: перепокупка сегодня купит пустые ответы; при выборе флора-16000 его сдвиг `request_hash` едет В ТОМ ЖЕ resnapshot); (3) П6-расщепление хеша пака — НЕ сейчас (посылка «наблюдаемость — не вердикт» противоречит записанной позиции `snapshot.go:397-402`; сессия сама отказалась подавать как решение); (4) Р1–Р4 сократить до ДВУХ: Р2-расширенный («детекторы единиц/шкал судят ЗНАЧЕНИЕ рендера или ФОРМУ?» — один ответ на семейство) + Р4-норма (потолок recall by construction пишется в контракт правила); Р3 закрыт D39.44 Q4 (остаток-работа сливается с Decl-швом в арке банка), Р1 расщеплён (данные→пар-пак · политика→Р2 · книжный остаток снят); (5) пак-21 РАСТВОРИТЬ: ~6 дешёвых пунктов (#11 U+0301 · #2 атрибуция-спан · #4 inner_marker · гомоглиф-детектор · строгий OffLanguage с оговоркой 36а · строка 26) батчем в общий resnapshot, 6 дефектов — в П1/П2/П3, #9 — в арку банка, #12/K4a — сняты как не-дефекты кода. Фаза 2 НЕ начинается до ответов (31.07, оркестратор №9). ✅ ## D39.61 — ПОЛИГОН Р6+P4 ПРИНЯТ И ЗАЛЕНДЕН (итог $0.433062 = $0.147527 в потолке промта $0.15 + $0.285535 судейского хвоста по прямой санкции владельца; два пути счёта сходятся до 2.9e-06, независимый ре-ран spend.py оркестратором совпал; ⚠ леджер движка = НИЖНЯЯ граница — 4 вызова «2xx body decode failed (call IS billed)» не заледжерены, ≤$0.009, строка 78): отчёт трёхслойный — §1–§9 хроника · §10–§11 errata/саморевью по вопросам владельца · **§12 = единственная действующая редакция** (15-агентное адверсариальное ревью + исполнение пропущенного деливерабла); три ложных вывода сессия поймала и отозвала САМА (эхо-атрибуция few-shot · «пропуск» постинструкции · псевдо-репликация «митигации вернее», кластерный p=1.0) — механизм «вывод на агрегате до вскрытия единиц» забран в промт-нормы. **ГЛАВНОЕ — вендор-катовер: DeepSeek 31.07 сменил веса под слагом** (`DeepSeek-V4-Flash-0731`, «only re-post-trained»; `/models` молчит; **v4-pro НЕ тронут**) ⇒ **боевая черновая форма ПОКУПАЕТ ПУСТОЕ** (cap 8000 → `finish=length`, reasoning 8000, `content`=""; несущая улика — пробы ОДНОГО чанка: cap 8000 пусто / cap 16000 перевод); механизм — многословная обдумка с тяжёлым хвостом (разброс reasoning ×163 на побайтно одном входе; упор и в 16000 в 2/5), привязана к ПЛОТНОМУ ХАНЬСКОМУ входу (×7.8 против en при сопоставимом входе; ja не проверялся), вендор для high/max рекомендует потолок 384K — наш флор на два порядка ниже ⇒ сместился ДЕФОЛТНЫЙ эффорт, а не «модель сломалась» ⇒ **развилка владельца (строка 74): (а) флор 16000 + resnapshot · (б) слать `reasoning_effort` явно (= приведение к вендорской модели; амендмент `echoMineViolation`; `low` дешевле прежних весов ~22%, но эхо возвращается ~6% и литературное качество черновика при low НЕ судилось) · (в) ждать бету; до развилки платные прогоны и resnapshot СТОП.** **Эхо на 0731 стохастично ПО ВЫЗОВУ** (побайтно идентичные запросы → эхо/не-эхо) ⇒ посылка «retry just re-produces them» (`disposition.go:138-148`) опровергнута — ре-ген N=1 перед эскалацией ≈7.6× дешевле ремонта ($0.00096 против $0.007335 за эхо; строка 77). **Р6 закрыт отрицательно:** ru против en-перевода промпта строка-в-строку — различий НЕТ ни по одной детерминированной оси (эхо 0/0 · срыв языка 0/0 · коридор 12/12 · преамбулы 0/0); даже «en дороже +9.4%» снято ревью (кэш-эффект; без кэша +6.0%, знаковый p=0.39) — **боевые промпты остаются русскими**; язык промпта как фактор эха не подтверждён и не закрыт окончательно (N=12, роль одна). **Петля D21 п.6: гейт верности ПРОЙДЕН в ослабленной форме — «ЦЕНЫ ВЕРНОСТИ У МИТИГАЦИЙ НЕ ОБНАРУЖЕНО»** (риг на 16 из 24 готовых пар research15-probes, генерация оплачена 09.07; floor 4/4 tie у ОБОИХ судей; маршрутизация автор≠ревьюер: grok-пары судит dspro, deepseek-пары — grok-4.3; «митигации ВЕРНЕЕ» НЕ установлено — 16 пар из 6 базовых текстов, 5/6 кластеров смешанные, конфаунд длины). **Wiring-вердикт (пере-выведен §12.3):** few-shot — оснований ни на «вносить», ни на «вредно» (против — один полностью АНГЛИЙСКИЙ выход из 48; «×1.9/+28.5%» ОТОЗВАНО как артефакт средних на бимодальном распределении) · постинструкция — возражений по существу нет, но на 0731 покупать ей нечего (эхо в боевой форме НЕ измерено — канал мёртв), байты двигают PromptSHA256 ⇒ не вносить до предмета · **префилл «Перевод:\n» — сильнейший кандидат** (0/6 эха в P4, верность 3:0, контрдовод «обходит thinking» на 0731 перевернулся в довод ЗА; не проверен на новых весах, проба ≈$0.005) · языковые констрейнты — НИКОГДА без per-model замера (инверсия 9/10 подтверждена репликой побайтно). Эмпирика P4 09.07 = superseded (весов Preview больше нет); квирки синхронизированы сессией с §12 (один хвост докорректирован при лендинге); остаток с ценами — §12.7 (8 несудимых пар ≈$0.10 · префилл $0.005 · effort-high $0.01 · ja-вход $0.005 · echo-rate боевой формы невозможен до развилки). Лендинг: отчёт с ревью-шапкой · quirks · харнесс `eval/promptlang/` (01.08, оркестратор №9). ✅ + +## D39.62 — ОТВЕТЫ ВЛАДЕЛЬЦА ПО §12 ОБЩНОСТИ + НОРМА САМОПРОВЕРКИ + ДИРЕКТИВА ГОРИЗОНТА (01.08): **(Q1) П1 цель-шов САНКЦИОНИРОВАН** в состав rewrite-пакетов — формула владельца: «поедет в следующих паках — не принципиально когда и где именно, главное бэкенд писать по умному; цель исследования = найти и предложить, как снять инертность китайского/мастер-гу подхода в коде» ⇒ заморозка D39.24 §15.3 («ru-target-долг НЕ чинить») АМЕНДИРОВАНА: назначенный носитель = П1, приёмка = «пара, которой нет в репо, проходит слой 7 без правки Go»; **(Q5) пак-21 как единица РАСТВОРЁН** («мне в принципе без разницы» + карта D39.60): дешёвая шестёрка (#11 · #2 · #4 · гомоглиф · строгий OffLanguage с оговоркой 36а · строка 26) → батч фазы 2 · корзина (II) → П1/П2/П3 · #9 → арка банка (строка 73) · #12/K4a — сняты как не-дефекты; **(Q2)** resnapshot-фигура объяснена владельцу по-человечески — его внимания сверх одной будущей подписи не требует: запуск ОДНОГО общего resnapshot после развилки 74, цена сегодня ~$0.3–0.5 корпуса, после МАСШТАБА — порядки; **(Q3)** расщепление хеша пар-данных — НЕ делаем (объяснено; дисциплина взамен: правки данных копятся в тот же resnapshot-батч); **(Q4)** Р2/Р4 раскрыты владельцу отдельным сообщением, ответы ожидаются (строка 1); **НОРМА (дословно по смыслу): «сессиям ВСЕГДА писать мандат самопроверки исполнением на ВАЖНЫХ задачах — как текущий бэкенд и ресёрчи; на мелких — самопроверки меньше»** — вписана в промт-нормы оркестратора (вместе с уроком D39.61 «вывод на агрегате до вскрытия единиц запрещён»); **директива «планировать подальше и получше»** — горизонт достроен в CURRENT-STATE до Ф3 (фаза 2 общности → арка автономности банка → пере-замеры на новом стеке одним мини-прогоном → свип гипотез качества → добор идеала → ВТОРАЯ ПАРА живьём → МАСШТАБ → пилот Ф2.5 → Ф3 ридер-IDE); выданы промты: `BACKEND_GENERALITY_PHASE2_SESSION_PROMPT.md` (П0–П4+шестёрка+77/78, $0-код, resnapshot только по отдельному слову) · `POLYGON_BANK_RAWMATERIAL_SESSION_PROMPT.md` (строки 21/22 + аудит типов 36а на сырье холодного прогона, $0; проб-пакет §12.7 — только по слову владельца) (01.08, оркестратор №9). ✅