Patch pack twenty phase two directive: durable terminologist money, postcheck observability, collision diagnostics, acceptance spec, series and imported-translation contracts
This commit is contained in:
parent
ed64d79766
commit
a58bec9540
2 changed files with 7 additions and 3 deletions
|
|
@ -34,12 +34,16 @@
|
|||
Архитектура — слова владельца: черновая волна всей книги → майнер (из исходника) + банкнота (варианты из черновиков) → **ТЕРМИНОЛОГ переводит весь смердженный банк сразу по полным контекстам** → стоп (флаг) или авто → редакторская волна по готовому банку. Строй по порядку:
|
||||
|
||||
1. **B5 тест-пин ПЕРВЫМ** (до любого изменения поведения — сегодня смену семантики стопа не делает красным ничего, S8): сквозная фикстура, впервые зажигающая `mining.go:40-102` (contrast_path в тестовом конфиге); джойн с НЕПУСТЫМ пересечением; мутационный чек-лист фазы 1 (§6) целиком; плюс пин `waverun.go:316` (резюм-восстановление) · `mining.go:68` (reject-сет) · `chunkrun.go:130-136`.
|
||||
2. **Терминолог (ядро).** Роль `terminologist` в пар-паке (`prompts/zh-ru/`); вход: смердженный банк (двусторонний $0-джойн майнер∪банкнота: alias/containment-резолвер + обратная секция) + KWIC-контексты вхождений из ИСХОДНИКА + варианты черновиков + Палладий-данные + **жанровый словарь пары** (новый файл данных langpack; общепринятое индустрией, куратор — владелец; НЕ книжный канон); выход: консолидированное dst на каждый терм (формула research/20 §C2 п.3, НЕ мажоритарность) + провенанс + разброс. Эмиссия двухрежимная §C2-7: есть dst → `status:draft`, нет → `auto`. Батчи, дешёвая модель; смета ДО живого вызова; **веб-фетча НЕТ (D39.42 п.2)** — интерфейс расширяем, включение отдельным решением после полигон-ресёрча.
|
||||
2. **Терминолог (ядро).** Роль `terminologist` в пар-паке (`prompts/zh-ru/`); вход: смердженный банк (двусторонний $0-джойн майнер∪банкнота: alias/containment-резолвер + обратная секция) + KWIC-контексты вхождений из ИСХОДНИКА + варианты черновиков + Палладий-данные + **жанровый словарь пары** (новый файл данных langpack; общепринятое индустрией, куратор — владелец; НЕ книжный канон); выход: консолидированное dst на каждый терм (формула research/20 §C2 п.3, НЕ мажоритарность) + провенанс + разброс. Эмиссия двухрежимная §C2-7: есть dst → `status:draft`, нет → `auto`. Батчи, дешёвая модель; смета ДО живого вызова; **веб-фетча НЕТ (D39.42 п.2)** — интерфейс расширяем, включение отдельным решением после полигон-ресёрча. **Вызовы терминолога живут в штатном durable-контуре денег** (reserve→settle+чекпоинт, $0-реплей на резюме) и видны в `status`/леджере — новая роль не заводит второй учёт.
|
||||
3. **Флаг** `--verify-bank` (CLI-only bool, translate+redrive; дефолт = авто-продолжение): стоп показывает БОГАТУЮ таблицу выхода терминолога (src · dst · частота · разброс · контексты; кап stdout + сайдкар — S4); починить S16 (draft-only теряет BookResult) и S17 (вывод стопа в translate, баннер в redrive); экзит-код-контракт; fail-loud при невозможном майнинге.
|
||||
4. **Авто-провод**: неподписанные строки с dst едут РЕДАКТОРУ (и черновикам следующих прогонов) с маркером ⟨проверить⟩ (механизм D32/S1 готов); редакторский блок расширяется на не-Confirmed ОТДЕЛЬНОЙ помеченной секцией — закон и рабочие версии не смешивать; **ВСЕ строки банка (включая auto/draft) фолдятся в версию памяти** ⇒ тихих путей к байтам провода не существует, README-инвариант №2 НЕ трогается; reject-сет применяется И на загрузке (риск 3 фазы 1); авто-строки фильтруются из seedSurfaces (риск 2, самоисключение майнинга); guard коллизии ключей auto↔signed (риск 4); auto/draft-строки видны в `tmctl status`/`report` (наблюдаемость — блокер 10 не повторять).
|
||||
4. **Авто-провод**: неподписанные строки с dst едут РЕДАКТОРУ (и черновикам следующих прогонов) с маркером ⟨проверить⟩ (механизм D32/S1 готов); редакторский блок расширяется на не-Confirmed ОТДЕЛЬНОЙ помеченной секцией — закон и рабочие версии не смешивать; **ВСЕ строки банка (включая auto/draft) фолдятся в версию памяти** ⇒ тихих путей к байтам провода не существует, README-инвариант №2 НЕ трогается; reject-сет применяется И на загрузке (риск 3 фазы 1); авто-строки фильтруются из seedSurfaces (риск 2, самоисключение майнинга); guard коллизии ключей auto↔signed (риск 4) и расширение диагностики коллизий на auto-строки (S14 — сегодня approved-only, две противоречивые строки на одну поверхность не ловятся); **пост-чек: Confirmed-only ПО ТИПУ** (не дисциплиной фильтра на колл-сайте), рядом — $0-канал наблюдаемости «показано → следовала/отступила» на том проводе, где строка реально показана (решение P4, верифицировано; чинит «ambiguous меряется не на том проводе»); auto/draft-строки видны в `tmctl status`/`report` (наблюдаемость — блокер 10 не повторять).
|
||||
5. **Точечная ре-редактура по ключу** (смена банка после оплаты — поздняя подпись и любая правка): `--resnapshot`-семантика — пере-пин $0 юнитов с неизменными байтами, пере-оплата только юнитов, где терм встречается; для честной сметы «N юнитов, ~$X» ДО согласия — починить P3 (проекция rebill по contentHash-рендеру, ≈60–120 мс, + корректное моделирование `sanitizer_stripped` — блокер 6).
|
||||
6. **Банкнота**: отдельный `prompts/zh-ru/translator-banknote.md` + `prompt_override` в конфигах канала (буквальный перенос в `translator.md` ЗАПРЕЩЁН — S5); срез безусловный (byte-identical путь доказан фазой 1 P2); `bankTokenBudget` пере-считать честной формулой движка (144 впритык/отрицателен — D39.41) — двигается вместе с остальными осями; лимит 12 строк пересмотреть по замеру (22% блоков упёрлись); S12 (parse_fail без сепаратора) починить; **микро-проба финальных байт промпта ≈$0.02 САНКЦИОНИРОВАНА** (развилка 11 — да).
|
||||
|
||||
**Архитектурные заделы (владелец 26.07 — НЕ строить, соблюдать КОНТРАКТОМ):** (а) **серия книг**: подписной глоссарий книги обязан round-trip'иться как СИД следующей книги серии (экспорт approved-строк → сид-YAML; спойлер-окна при таком импорте плющатся в `since_ch=0`) — формат выхода не должен это ломать; (б) **импорт готового перевода** (оригинал + чужой перевод): входной контракт терминолога — «терм + контексты исходника + target-СВИДЕТЕЛЬСТВА», БЕЗ предположения, что target = наш черновик; импортированный перевод — ещё один источник свидетельств (режим данных, не ветка кода), провенанс обязан различать источник. Юридическая сторона импорта чужих переводов — юр-пакет Ф2.5, не этот пак.
|
||||
|
||||
**Приёмка фазы 2:** отчёт `docs/archive/reports/PACK20_BANK_BUILD_<дата>.md` — таблица «пункт директивы ↔ сделано ↔ доказательство исполнением» · деньги до цента (микро-проба + батчи терминолога, из леджера, не из памяти) · список мутаций (каждая красная) · адверсариальный селф-ревью. Заявление = команда — приёмка ре-ранит.
|
||||
|
||||
Инварианты: golden-дисциплина (двигаешь промпт/оси — объявляй, маскированный структурный дифф пуст вне заявленных) · парити EXACT · `-race` · **«пере-мерь свой вывод ДРУГИМ способом, чем получил»** (норма D39.37) · заявление = команда (приёмка ре-ранит) · мутация на каждую новую ветку · дифф `^func Test` исполнением · нормализовать цитатный слой отчёта (номера строк дрейфовали — твоя же находка §7) · сессия НЕ коммитит, `git mv` декларировать.
|
||||
|
||||
## НЕ делать (фаза 2, по D39.42)
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue