diff --git a/docs/architecture/05-decisions-log.md b/docs/architecture/05-decisions-log.md index 5c7a65a6..8d6a276d 100644 --- a/docs/architecture/05-decisions-log.md +++ b/docs/architecture/05-decisions-log.md @@ -248,6 +248,15 @@ > ОДНИМ прибором (`counts.py`), и он был прав всё время; дельта +3 от трёх новых строк регистра верна, но > подтверждением её считать нельзя — два неверных числа с верной разностью выглядят как сверка и ею не являются. > ⚠ Ничего в лендинге это не меняет: литералы журнала ставились ИЗ ВЫВОДА прибора, а не из моего счёта. +> +> ⚠ **Эррата 17.09-з (`D39.204` п.3) — ПРЕДПИСАННЫЙ НОТОЙ ГРЕП БОЛЬШЕ НЕ НАХОДИТ НИЧЕГО.** Тело велит искать +> механику дефекта грепом `stage flagged, regenerating with a larger budget` по `internal/pipeline/stagerun.go`. +> После пака лестницы (`D39.264`) неверны ОБА адреса этой фразы: строка переименована в `the call was flagged, +> regenerating with a larger budget`, а сам цикл попыток живёт в `internal/pipeline/attemptladder.go`. Механика, +> которую нота описывает, НЕ изменилась — изменился способ её найти; тело остаётся как есть (`D23.3`). +> ⛔ **И класс, ради которого эррата пишется отдельно: НОТА, ПРЕДПИСЫВАЮЩАЯ ГРЕП, СТАРЕЕТ ВМЕСТЕ С ТЕКСТОМ, +> КОТОРЫЙ ГРЕПАЕТ.** У неё нет якоря, который покраснел бы в гейте: предписание живёт прозой. Замер 17.09: +> старый токен в `backend/` → 0 при новом → 1, и ни один прибор об этом не сообщил — нашла ось приёмки чтением. > ⚠ **Навигация (актуализация 07.08, эра D39.1xx):** append-only-дисциплина (D23.3) означает, что > НЕВЕРНЫЙ ФАКТ внутри старой ноты не переписывается, а получает эрратау — и тогда он опасен ровно diff --git a/docs/experiments/24-door-to-file.md b/docs/experiments/24-door-to-file.md index f1fd907c..a802c6e9 100644 --- a/docs/experiments/24-door-to-file.md +++ b/docs/experiments/24-door-to-file.md @@ -231,6 +231,11 @@ content="", finish=length». Конфиг ставит на draft `reasoning: "l **мина сработала ВСЁ РАВНО, и на draft (3 раза), и на edit, где ручка не выставлена вовсе.** ⭐ **Но лечение в движке ЕСТЬ и оно работает:** `stage flagged, regenerating with a larger budget … +> ⚠ **ИСПР. 17.09 (пометка, не подмена): строка движка ПЕРЕИМЕНОВАНА и по этому тексту больше не грепается.** +> Пак «лестница попытки» (акт `D39.264`, лендинг `10d245a`) вынес петлю в общий контур, и предупреждение зовётся +> теперь `the call was flagged, regenerating with a larger budget` (плюс поле `estimate_usd`). Наблюдение прогона +> верно и не трогается — устарел только способ его найти. Замер: старый токен в `backend/` → 0, новый → 1. + reason=empty next_max_tokens=16992` — движок опознаёт пустой ответ как флаг `empty` и перевыпускает вызов с удвоенным потолком. Все четыре раза второй вызов вернул текст. То есть путь не рвётся — он дорожает: **платим дважды и выкидываем первый платёж.** @@ -686,6 +691,9 @@ run_FTHA7S6SUCJIXS2A-2.exit {"result":"success", "code":"exited","status":"0", Критик полноты заметил: числа `max_tokens` на входе (8496 / 16000), потолки перевыпуска (16992 / 32000), строка «stage flagged, regenerating with a larger budget … reason=empty» и отказ по +> ⚠ **ИСПР. 17.09:** цитируемая строка переименована паком лестницы (`D39.264`) — искать +> `the call was flagged, regenerating with a larger budget`. Числа и вывод прогона в силе. + `langpack_root` (exit 10) жили только в моём выводе — в `evidence/` их не было. Журнал юнитов выгружен и лежит в `evidence/journal/`: `run-attempt-1.log` (170 строк), `run-attempt-2.log` (246), `smoke-langpack-exit10.log`. Проверено счётом, что цитируемое там есть: `next_max_tokens=16992` — 3 diff --git a/docs/experiments/25-door-to-file-b.md b/docs/experiments/25-door-to-file-b.md index f6bb270f..a54a079f 100644 --- a/docs/experiments/25-door-to-file-b.md +++ b/docs/experiments/25-door-to-file-b.md @@ -304,6 +304,10 @@ $0.012646) и `batch=2 asked=24 answered=0` (`empty`, $0.012133). **42 терм `runStage` (`backend/internal/pipeline/stagerun.go:39`), и там её ДВЕ ветви: «regenerating with less thinking at the SAME budget» (ручка `lower_effort_on_empty`, лендится выключенной — `D39.251`) и «stage flagged, regenerating with a larger budget» (`stagerun.go:235` — работает, и на этом прогоне +> ⚠ **ИСПР. 17.09:** строка переименована (`the call was flagged, regenerating with a larger budget`), и адрес +> `stagerun.go:235` тоже устарел — тело цикла уехало в `attemptladder.go` (акт `D39.264`, лендинг `10d245a`). +> Наблюдение прогона B не меняется: лечение в движке было и работает. + вылечила **5 черновых из 5**). Бэнк-роли идут МИМО `runStage`: `runBankAttempt` зовёт `r.runAttempt(...)` напрямую (`backend/internal/pipeline/terminologist.go:832`). Комментарий рядом объясняет, почему у них нет обязательного ожидания, — про лечение он не говорит ничего. @@ -539,6 +543,10 @@ answering slug is not in the catalogue … priced_by=requested», которог Цена на этом прогоне: **$0.024779 и 42 терма из 66 без машинного типа**, при итоговой строке стадии, которая говорит «всё чисто». Лечение существует и стоит в соседнем цикле (`stagerun.go:235`), бэнк-роли +> ⚠ **ИСПР. 17.09:** адрес `stagerun.go:235` устарел — цикл попыток вынесен в `attemptladder.go` (`D39.264`). +> ⭐ Найдено оркестратором при починке соседней ссылки: ось приёмки назвала в этом файле ОДИН адрес, а их ДВА — +> второй не цитирует переименованную строку и потому не попал ни в один греп по ней. + на него не заведены (`terminologist.go:832`). ### 12.3 МИНОР (упрочнение). Битый процент-эскейп в параметре запроса отвечается как ОТСУТСТВИЕ параметра diff --git a/docs/research/20-bank-mining.md b/docs/research/20-bank-mining.md index a4e02eda..3f94a93a 100644 --- a/docs/research/20-bank-mining.md +++ b/docs/research/20-bank-mining.md @@ -332,6 +332,13 @@ decl-формами (`mempostcheck.go:77-117`), телеметрия retrieval_s | H15-рычаги: query-time context-recording и жанр-кондиционирование нигде не диспозиционированы | Жанр есть только как brief-var перевода (H15-верификатор, `08-sync-audit-ledger.md:473`) | Детерминированная версия обоих рычагов встроена в §C: KWIC-контексты в evidence-карту кандидата; жанровые лексикон-паки как конфиг детектора V-C | | Web-fetch тир для трудных термов (V4-п4) | За trust boundary D25.5 (Ф3), `05-decisions-log.md:311` | В схеме кандидата — флаг-слот `needs_external_lookup`, НЕ строим | +> ⚠ **ИСПР. 17.09: адрес `stagerun.go:225-242` УСТАРЕЛ** (встречается в этом файле дважды — в таблице выше и +> ниже по тексту). На этих строках сегодня комментарий о хопе, а не деривативный чекпойнт: файл пере-строен +> выносом петли попытки в `attemptladder.go` (`D39.264`) и съехал на полсотни строк. ⚠ **Когда именно адрес уехал — +> НЕ измерено:** отчёт снят 08.08, сдвигов с тех пор было несколько. Гейт якорей об этом молчит ЗАКОННО — это +> голый адрес в прозе, без токена, а такие он не читает. Наблюдение отчёта не трогается. + + ### B1. Три варианта детерминированного детектора (арм-лестница для §D) Общий субстрат всех вариантов ($0, Go или Python-полигон): кандидаты = **символьные n-граммы @@ -448,6 +455,13 @@ end-to-end ~68 F1 даже in-domain en) — код может только ПР модели в стадии draft, ДО classify()/санитайзера/coverage/пост-чека (`chunkrun.go:32-80`). Чекпоинт с сырым ответом сохраняется как есть (детерминизм оплаченного байта), очищенный черновик — derived-checkpoint по прецеденту `tm-sanitized-v1` (`stagerun.go:225-242`): + +> ⚠ **ИСПР. 17.09: адрес `stagerun.go:225-242` УСТАРЕЛ** (встречается в этом файле дважды — в таблице выше и +> ниже по тексту). На этих строках сегодня комментарий о хопе, а не деривативный чекпойнт: файл пере-строен +> выносом петли попытки в `attemptladder.go` (`D39.264`) и съехал на полсотни строк. ⚠ **Когда именно адрес уехал — +> НЕ измерено:** отчёт снят 08.08, сдвигов с тех пор было несколько. Гейт якорей об этом молчит ЗАКОННО — это +> голый адрес в прозе, без токена, а такие он не читает. Наблюдение отчёта не трогается. + `tm-banknote-v1:` + sha256(reqHash + stripped); распарсенные кандидаты — отдельный артефакт-файл (evidence-карты §C), НЕ в store до W1.5. diff --git a/docs/research/23-engine-platform-seam.md b/docs/research/23-engine-platform-seam.md index 28858a35..4e6062c6 100644 --- a/docs/research/23-engine-platform-seam.md +++ b/docs/research/23-engine-platform-seam.md @@ -69,6 +69,11 @@ **Малое касание:** событийный эмиттер со стабильным словарём — все границы суть единичные call-sites в pipeline рядом с готовыми slog-вызовами (`bookrun.go:160`, `waverun.go:116/171/131-135`, unit-done = `stagerun.go:296-307`); **событие потолка — единственное, что надо ДОБАВИТЬ** (сейчас деньги только в тексте ошибки, `stagerun.go:472-494`) → **строка 103** · `report --json` (QualityReport уже json-tagged; RequestLogView тегов НЕ имеет — нужна локальная view, поправка арбитража) · JSON-таблица банка (строка 101) · внешний trace-контекст (строка 102) · пофазный прогресс (строка 99, без миграции). +> ⚠ **ИСПР. 17.09: адреса `stagerun.go:296-307` и `stagerun.go:472-494` УСТАРЕЛИ** — файл пере-строен выносом +> петли попытки в `attemptladder.go` (`D39.264`). ⚠ Когда уехали, не измерено: отчёт снят 05.08. Это голые адреса +> в прозе, без токенов, поэтому гейт якорей их не проверяет и предупредить не мог. Вывод отчёта о шве не меняется. + + **Большая работа (и почему не делаем):** публичный read-пакет (§5 — отклонён) · персист манифеста против ре-ингеста (строка 100 — делаем, нужен и самому движку) · глобальный брокер рейт-лимитов (П-2 — единственная по-настоящему новая механика стыка). ## §8. Ратифицировано (D39.85) — носители