Ratify D39.144: bank signing is one OK over the whole bank, completeness gate removed from the canon, row 191 opened, BankTerm.decision question dissolved

This commit is contained in:
heaven 2026-08-16 22:06:33 +03:00
parent 5eee298579
commit 7b904ad894
4 changed files with 33 additions and 15 deletions

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
# Реестр D-нот — карта актуальности v2 (D1D39.143; строка 167; титул — носитель головы, бампать при каждом аппенде — испр. оркестратором №17 15.08 по аудиту: отставал на четыре ноты)
# Реестр D-нот — карта актуальности v2 (D1D39.144; строка 167; титул — носитель головы, бампать при каждом аппенде — испр. оркестратором №17 15.08 по аудиту: отставал на четыре ноты)
> Одна строка на КАЖДУЮ ноту журнала решений: № · дата · суть · статус · где тело · темы. Ведёт оркестратор при лендингах: новая нота = новая строка ТЕМ ЖЕ коммитом (полноту сторожит `docs/scripts/counts.py --check`). Суть и статус здесь — НАВИГАЦИЯ, не контракт: при конфликте побеждает ТЕЛО ноты (живой [`05-decisions-log.md`](05-decisions-log.md) → слайсы `../archive/architecture/05-decisions-*.md`). Несущие эрраты к фактам старых нот живут в шапке живого D-лога — их читать ОБЯЗАТЕЛЬНО, реестр их не дублирует. Темы (для грепа оси «какой закон по X»): деньги · шов · банк · промпт · судья · гейты · контракт · платформа · фронт · полигон · ToS · общность · процесс · нарезка · голос · инфра · модели.
> Родословная: прозаическая карта D1D39.28 (ревизии D31D38.2) пересобрана в реестр докс-паком 167 (09.08.2026, №16): извлечение 6+6 агентов по worksheet `../archive/reports/DOC_AUDIT_INVENTORY_2026-08-09.md`, полнота сверена скриптом против заголовков всех шести файлов. «тело: жив» = живой D-лог; «слайс N» = `../archive/architecture/05-decisions-N.md`.
@ -196,3 +196,4 @@
| D39.141 | 16.08 | Реструктуризация промта оркестратора по заказу владельца: форма «ситуация → инструкция», генезис D-ссылками, чек-лист 11 блоков промта + два рубежа выдачи (механическая сверка + опровергатель-субагент), таблица линз приёмки по характеру работы; 59% объёма, свип маркеров — потерь 0; снимок v16 в архиве | ЖИВОЕ: действующая редакция роли | жив | процесс оркестратор промпт |
| D39.142 | 16.08 | Приёмка батча 0.3.0 (8d82096, панель 3 линз: слепая сверка — потерь 0; холодный потребитель — анти-утечка чиста, 5 блокеров триажированы; аудит отчёта — 25+ клеймов сошлись, 9 чисел занижены): канон 0.3.0 в каноне; ратифицированы отступления (поток один книжный, Note.code, content_refused, единый page_size_default); дофикс ФБ-1..10 заказан аддендумом промта (SSE-форма, петля реконнекта, note через reconnect, Revision-противоречия); зеркало фронта временно отстаёт ратифицированно; владельцу — BankTerm.decision (рекомендация заводить); P7 после дофикса | ЖИВОЕ: дофикс у сессии батча; строка 183 пере-скоуплена | жив | контракт приёмка платформа фронт |
| D39.143 | 16.08 | Дофикс батча принят (дифф прочитан целиком, гейты пере-раны): все ФБ-1..10 закрыты — SSE-форма кадра однозначна, петля реконнекта убита id:0, note-гарантия сужена до соединения + обязательное дельта-чтение, Revision одна модель (водяной знак = наименьшая ревизия обхода), resume-таблица без нового enum, приоритет носителей «нет кредита», processing_failed; числа отчёта пере-раны, вывод о доле прозы честно перевёрнут (42→47%); отступления ратифицированы (§5д ужато на месте, unverified снят с провода); батч отработан целиком, промт в архиве, P7 разблокирован | ЖИВОЕ: P7 — запуск владельцем; владельцу — BankTerm.decision (D39.142 п.4) | жив | контракт приёмка платформа |
| D39.144 | 16.08 | Модель подписи банка — слово владельца напрямую: подписывается ВЕСЬ банк одним ОК (пер-термная масс-подпись — инерция контрактной линии, движок и так авто-продолжает с неподписанным D39.42 п.3); канон поправлен микро-правкой (409-полноты снят с resume, pending_decisions информационный, bank_decisions_incomplete удалён, гейты пере-раны); пост-ридинговые правки банка → пере-генерация по вхождениям — направление, механику не проектировать до полигона; строка 191, аддендум P7, пинг фронту; вопрос BankTerm.decision снят как стоящий на ложной посылке | ЖИВОЕ: строка 191; P7 — запуск владельцем | жив | контракт банк владелец фронт платформа |

View file

@ -1,4 +1,4 @@
# Журнал решений оркестратора — контракт D1D39.143 (живой файл: карта · эрраты · живые тела · голова D39.124+ (подрезка D39.139); тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`)
# Журнал решений оркестратора — контракт D1D39.144 (живой файл: карта · эрраты · живые тела · голова D39.124+ (подрезка D39.139); тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`)
> **КАРТА АКТУАЛЬНОСТИ (ревизия D31, продлена до D38.2 [12.07]; исторические записи ниже НЕ переписываются — дисциплина D23.3).** Работая с контрактом (греп номера: живой файл → слайсы, целиком НЕ читать — D39.125), держи под рукой, что чем перекрыто:
> ⚠ **Эррата 09.08 (D39.125):** D39.111 п.1 предписывал промту S3 «максимум = баланс МИНУС открытые холды» — формула ОШИБОЧНА (вычитание дважды), исправлена D39.115 п.2(а): максимум = Balance КАК ЕСТЬ; тело D39.111 живёт ниже в этом файле (голова D39.106+).
@ -436,3 +436,13 @@
**3. Ратификации отступлений:** (а) §5(д) промта — генезис-проза УЖАТА НА МЕСТЕ, а не перенесена в компаньон (третья копия ссылки бессмысленна; компаньон §6а поправлен); (б) «carried forward marked as unverified» СНЯТО с провода как фраза без носителя — наблюдаемое = `BankPage.signed`/`total`.
**4. Статусы:** батч 0.3.0 отработан ЦЕЛИКОМ, промт в архиве; **P7 разблокирован** (его §1-гейт удовлетворён: канон 0.3.0 финален) — запуск по слову владельца; зеркало+типы+моки+гейт утечки — первое касание фронта при разморозке (D39.142 п.5); на владельце остаётся вопрос `BankTerm.decision` (D39.142 п.4). Строка 183 пере-скоуплена в остаток-указатель. (16.08.2026, оркестратор №17) ✅
## D39.144 — МОДЕЛЬ ПОДПИСИ БАНКА (слово владельца 16.08, напрямую №17): подписывается ВЕСЬ банк ОДНИМ ОК; гейт полноты пер-термных решений СНЯТ с канона; вопрос BankTerm.decision РАСТВОРЁН (16.08). ✅
**1. Модель (первоисточник — владелец, дословный смысл).** UX: юзер жмёт перевод → черновая волна + майнинг → на фронте появляются черновой перевод И черновой банк; банк на книгу может быть огромным, пер-термная подпись = сотни кликов — НЕ модель продукта; подписывается банк ЦЕЛИКОМ («условный ок»), перевод уходит в доработку. После прочтения: поправить/добавить термин → «поправить» → пере-генерация по вхождениям (возможно, движковый точечный редактор — полигон работает); ⚠ точную механику пост-ридинговых правок «не продумал ещё никто и нигде» — НЕ проектировать до полигонных итогов.
**2. Сверка с движком (заявление=команда):** движок УЖЕ живёт этой моделью — дефолт авто-продолжение с НЕПОДПИСАННЫМ банком, неподписанные строки персистятся и едут с пометкой (`mining.go`, авто-провод D39.42 п.3); `--verify-bank` — пауза «посмотреть», не марш по строкам. Гейт «стоп снимается полным набором решений» был изобретением КОНТРАКТНОЙ линии (Ф-14 → спека → 0.3.0), пережившим даже greenfield-ревью — инерция, которую владелец уже осаживал 10.08 (снятие счётчиков «подписано N», Ф-44), но поправка тогда дошла только до экрана, не до модели контракта.
**3. Исполнено этой нотой (канон 0.3.0, микро-правка оркестратора по прямому слову владельца; гейты пере-раны — spectral/генератор зелёные, `bank_decisions_incomplete` в файле 0):** resume снимает банк-стоп при ЛЮБОМ состоянии решений (таблица resumeRun); `pending_decisions`/`complete` — информационные, «подпись = один акт над всем банком» записана на чтении банка; `stop_for_signing` описан как «пауза посмотреть → один resume»; `bank_decisions_incomplete` удалён из причин 409. Версия остаётся 0.3.0 — спека ещё никем не потреблена (P7 не стартовал).
**4. Следствия:** строка **191** заведена (движковая граница паузы · канал P7 без гейта полноты · пост-ридинг = направление после полигона); аддендум в промт P7 («полноту не отливать в код»); пинг фронту (Ф-44/Ф-45/Ф-46 при разморозке читать через модель); **вопрос BankTerm.decision (D39.142 п.4) СНЯТ ОРКЕСТРАТОРОМ** — он стоял на ложной посылке «длинная пер-термная сессия, которую надо резюмить»; в модели одного ОК сценария «какие 17 из 300 решены» не существует. (16.08.2026, оркестратор №17) ✅

View file

@ -420,9 +420,13 @@ paths:
The bank ordered by source surface then by the term's window, so the several rows of one
surface stand together.
**This read is also the STATE of a signing stop**: `pending_decisions` and `complete` are
answered here and not only in a submission receipt, so a screen reloaded mid-stop knows
whether the work is finished.
**This read is also the STATE of a signing stop** — informationally, never as a gate:
`pending_decisions` and `complete` say how much of the bank a person has touched, and a
screen reloaded mid-stop can show it. **Signing the bank is ONE act over the whole of it**,
not a march through every row: the stop is lifted by `resumeRun` with the decisions as they
stand, and a term nobody touched rides on as the service proposed it, marked unverified
inside the service. Per-term decisions are the OPTIONAL correction path, not the unit of
signing.
**Delta read** with `after_version` — a full book's bank is too large to re-read on every
change. Page size default: `GET /capabilities`.
@ -514,8 +518,9 @@ paths:
summary: Start a translation run.
description: |
`stop_for_signing` and `ceiling_chapters` are parameters of the RUN, not of the book: they
travel with the start and do not outlive it. With `stop_for_signing` the run waits for the
bank to be signed; without it the run does not stop and uses the bank as it stands.
travel with the start and do not outlive it. With `stop_for_signing` the run pauses once,
book-wide, for the user to LOOK at the bank — correct what they care to, then release it
with ONE `resume`; without it the run does not stop and uses the bank as it stands.
**409** answers a limit that no longer fits — the bounds are read by
`GET /books/{bookId}/run-options` and may move in between. When another book's hold is the
@ -679,8 +684,7 @@ paths:
| the run stands in | this call answers | the remedy a client offers |
|---|---|---|
| `awaiting_bank`, decisions complete | continues it — `202` | this call |
| `awaiting_bank`, decisions incomplete | `409` `run_not_resumable`, `cause.code: bank_decisions_incomplete` | finish signing, then this call |
| `awaiting_bank` — with ANY state of decisions | continues it — `202` | this call |
| `paused` — ANY reason, `null` included | `409` `run_not_resumable`, `cause.code: ceiling_reached` | a NEW run with a larger `ceiling_chapters` |
| `stopped` — the user's own stop | continues it — `202` | this call |
| `failed`, `ready` | `409` `run_not_resumable`, no `cause` — it is not a stopped run | a NEW run |
@ -2374,9 +2378,11 @@ components:
being cut, or was rejected;
- `run_not_stoppable` (409) — this run is not running;
- `run_not_resumable` (409) — this run cannot be continued. `cause.code` says why:
`bank_decisions_incomplete` — terms are still undecided; `ceiling_reached` — the run
stopped at a limit, the chapters it bought or the credit behind them, and the remedy is a
NEW run rather than this call. A run that is not a stopped run at all carries no `cause`;
`ceiling_reached` — the run stopped at a limit, the chapters it bought or the credit
behind them, and the remedy is a NEW run rather than this call. A run that is not a
stopped run at all carries no `cause`. An incomplete set of bank decisions is NOT a
reason: signing is one act over the whole bank, and `resume` lifts that stop with the
decisions as they stand;
- `ceiling_unavailable` (409) — the limit asked for cannot be started. `cause.code`: `bounds_moved`
— the bounds changed between the read and this call; `credit_held` — the account's credit
is held elsewhere, and `blocked` names the book holding it;
@ -2421,7 +2427,7 @@ components:
type: string
minLength: 1
description: Narrower cause within the root code.
examples: ['bank_decisions_incomplete']
examples: ['ceiling_reached']
ErrorItem:
type: object