Record that a refused retry is the ordinary stop the owner described, hand the unfinished pack to a fresh session, and shelve the bank order whose premise measured empty
This commit is contained in:
parent
5dbb5cbe00
commit
420003626d
9 changed files with 267 additions and 14 deletions
|
|
@ -1,3 +1,223 @@
|
|||
# ⟶ ПЕРЕДАЧА ПАКА 15.09 (ред. 5) — ЧИТАЙ ЭТО ПЕРВЫМ
|
||||
|
||||
> Оркестратор №23; прежняя сессия оркестратора `textmachine-11` оборвалась, адрес нынешней — в канале (П8).
|
||||
> Пак $0. **При расхождении этот раздел СИЛЬНЕЕ тела ниже** (§1–§13, редакция 4); прямые отмены тела перечислены
|
||||
> в П6. Тело остаётся описанием ПРЕДМЕТА: что заказано, почему и чем мерить.
|
||||
|
||||
## П1. Что случилось и что решит твой результат
|
||||
|
||||
Пак выдан 11.09 сессии `textmachine-b1`. Она построила его почти целиком — 22 изменённых и 4 новых тестовых файла
|
||||
в `backend/` (+2850/−158), плюс отчёт в `docs/PROGRESS.md`; всего 27 путей, +3215/−158 — провела семь кругов
|
||||
адверсариального чтения и потерялась при переезде окружения, **не объявив работу завершённой**. ⇒ пак идёт,
|
||||
исполнителя у него нет, и слот бэкенда занят, пока пак не закрыт актом.
|
||||
|
||||
**Твой результат — довести ЧУЖУЮ почти готовую работу до критерия §13 и сдать на приёмку.** Не перестраивать и не
|
||||
улучшать сверх заказа: предмет решён владельцем и построен.
|
||||
|
||||
⚠ **Почему это раздел того же промта, а не отдельный пак** (эррата 04.09-г в шапке
|
||||
`docs/architecture/05-decisions-log.md` велит круг над ГОТОВЫМ паком давать отдельным паком следующей сессии). Здесь
|
||||
пак НЕ готов — строки завершения нет, — и слот зоны один; копировать тело заказа в новый файл значило бы завести
|
||||
второй носитель того же предмета. Свежий глаз, ради которого эррата написана, у тебя есть по построению.
|
||||
|
||||
По критерию §13 открыто СЕМЬ вещей — замерено мною 15.09, команды рядом:
|
||||
1. **Круги не сошлись.** Седьмой круг (узкий, по починкам шестого) дал два мажора — С1 и С2, оба починены, но круга,
|
||||
проверившего эти починки, нет. Что круги находят дефекты в починках предыдущих, отчёт говорит о кругах 2–3 сам;
|
||||
у 4–7 это видно по их таблицам.
|
||||
2. **Секции «Числа» нет,** хотя отчёт ссылается на неё трижды. Заголовков в секции b1 — 31, ни одного про числа:
|
||||
`awk '/^#### Пак «КУПЛЕНО/{f=1} f&&/^#### Пак/&&!/КУПЛЕНО/{exit} f' docs/PROGRESS.md | command grep -c '^#'`.
|
||||
3. **Таблицы мутаций нет** — §13 требует полную, выжившие поимённо.
|
||||
4. **П.9 раздела «Что НЕ удалось» протух:** говорит о четырёх кругах, их семь.
|
||||
5. **Подозрение b1, оставленное непроверенным:** `repin.go` может дропать помеченного члена c-lite юнита (её м7 и
|
||||
«Что НЕ удалось» п.8). Проверить исполнением или назвать с доводом, почему вне пака.
|
||||
6. **Нет строки «работа завершена, править не планирую».**
|
||||
7. **Четыре якоря в ТВОЕЙ зоне сдача b1 сдвинула:** `backend/docs/DISCLOSURE_LAW_DESIGN.md:41–44` (цели — `status.go` ×3 и
|
||||
`bookbuild.go`). Перенавести по ЦЕЛИ: найти, куда уехало то, о чём говорит проза, а не подобрать токен под то, что
|
||||
оказалось на строке (гардрейл `CLAUDE.md`). Ещё 17 якорей в `docs/` сдача тоже сдвинула — их перенаводит оркестратор
|
||||
при лендинге, не трогать.
|
||||
|
||||
## П2. Где лежит работа — и запрет, который здесь дороже обычного
|
||||
|
||||
- Сдача b1 лежит **ЗАСТЕЙДЖЕННОЙ В ИНДЕКСЕ** рабочего дерева `/home/ubuntu/projects/textmachine-main`: 27 путей
|
||||
(22 M и 4 A в `backend/`, плюс `docs/PROGRESS.md`). Незастейдженных правок в этих путях нет.
|
||||
- **Проверка целостности** (порядок — П4.1): `git -C /home/ubuntu/projects/textmachine-main diff --cached --binary |
|
||||
sha256sum` обязан дать `166997963c95db52f0ba04716017fa2e106ae0596886e29cc918a642afe7df8a`. Бэкап того же патча —
|
||||
`/home/ubuntu/tm-b1-orphan-index.patch`; копия сдачи ТОЛЬКО ДЛЯ ЧТЕНИЯ — `/home/ubuntu/tm-b1-orphan` (дерево
|
||||
`5dbb5cb` с наложенным патчем; корпуса книг и твоих правок в ней нет).
|
||||
- **Авторство видно git'ом:** `git diff --cached -- backend/ docs/PROGRESS.md` — работа b1;
|
||||
`git diff -- backend/ docs/PROGRESS.md` — твои правки поверх неё. Твои НОВЫЕ файлы не видны ни тем, ни другим —
|
||||
перечисли их в отчёте: `git status --short --untracked-files=all -- backend/`.
|
||||
- ⛔ **ИНДЕКС НЕ ТРОГАТЬ:** `git reset` · `git restore` (и `--staged`) · `git stash` · `git checkout -- <путь>` ·
|
||||
`git add` · `git clean` — запрещены. Одно неверное движение стирает работу, у которой нет второго исполнителя.
|
||||
- **Ты не коммитишь.** Зона — `backend/` плюс продолжение секции b1 в `docs/PROGRESS.md` (место — П5).
|
||||
- Чужие незакоммиченные файлы вне этого пака не трогай.
|
||||
|
||||
## П3. Карта чтения — ЗАКОН
|
||||
|
||||
1. `CLAUDE.md` — целиком.
|
||||
2. Этот промт — раздел ПЕРЕДАЧИ и тело §1–§13. ⚠ `file:line` тела указывают в `HEAD` (`5dbb5cb`), а не в дерево
|
||||
сдачи: адреса уехали (`stagerun.go:204` → `:216`, `:142` → `:160`, `cutcall_test.go:402` → `:451`;
|
||||
`resolvedForResume` уехал ниже в `cutcall.go` и делегирует `FlagReason.AnswersForResume` в `disposition.go`, а
|
||||
прежняя строка `FlagReason(cs.FlagReason) != FlagCancelled` осталась только в `cutoververdict_test.go`). Читай
|
||||
тело через `git show HEAD:<путь>` либо греп-токеном, а не номером. Ссылки тела §3 (`D39.204`, `D2` п.2, ряд 291,
|
||||
кодовые файлы) — справочник предмета, открывай их по мере вопроса, в счёт карты они не входят.
|
||||
3. Отчёт b1 — `docs/PROGRESS.md`, от `#### Пак «КУПЛЕНО — ЗНАЧИТ ДОСТАВЛЕНО»` до следующего `#### Пак`. Сперва:
|
||||
«Что построено», седьмой круг, «Что НЕ удалось», «Объявляю правки», «Вопросы оркестратору».
|
||||
4. Сама работа: `git diff --cached --stat` и `git diff --cached -- backend/`.
|
||||
5. `docs/architecture/12-go-style-notes.md` — только больные места.
|
||||
|
||||
## П4. Что делать — разметка свободы
|
||||
|
||||
**Делай РОВНО так** (отступление — пинг):
|
||||
1. **Первые действия, в этом порядке:** блок в `/tmp/textmachine-channel` → проверка целостности (П2) → эхо (тело §9)
|
||||
СВОИМИ словами. Хеш не совпал — стоп: до любой правки таблица «ожидал / получил» пингом, а если канала нет —
|
||||
секцией в отчёт, и дальше не идёшь. Отдельной строкой эха: что ты считаешь недоделанным СВЕРХ моих семи пунктов.
|
||||
2. **Базовая линия в ТВОЁМ дереве до первой правки:** `make battery` из `/home/ubuntu/projects/textmachine-main/backend`
|
||||
(git он не трогает, пишет только в `backend/bin`, корпус книг только читает). ⚠ Мой замер на копии без корпуса
|
||||
дал 9 скипов; в главном дереве корпус есть, и по коду должны побежать ещё пять корпусных пинов
|
||||
(`TestCheckerLabelsCandidates` · `TestCheckerLabelsBaseline` · `TestK6LabelsBaseline` ·
|
||||
`TestK6TheTwoRelaxationsPricedSeparatelyOnTheSameLabels` · `TestTheInstrumentAgainstTheColdRunOracle`), так что
|
||||
скипов ожидается 4: `TestMinerFullBookParity` (нет словаря jieba) · `TestCorpusBankKeyConflicts` (не задан
|
||||
`TM_CORPUS`) · `TestHelperEventsRun` и `TestHelperKillLoop` (вспомогательные процессы). Это вывод из кода, не
|
||||
прогон: другое число — не регрессия, но назови его.
|
||||
3. **Сверка «отчёт ↔ код» в ОБЕ стороны.** (а) Каждая строка таблиц «Что построено» и седьмого круга (С1–С6) — правка
|
||||
ЕСТЬ в коде. (б) Каждый ханк `git diff --cached -- backend/` (75 ханков в 26 файлах) — у него ЕСТЬ строка отчёта
|
||||
(таблицы кругов, «Объявляю правки» п.1–27). Ханк без строки — находка «незаписанная работа», строка без ханка —
|
||||
«записанная, но не сделанная». Обе — в отчёт, не в молчаливую починку.
|
||||
4. **Мутации — только на КОПИИ.** ⛔ `-root`, указывающий на `/home/ubuntu/projects/textmachine-main/backend`,
|
||||
запрещён: `tmmutate` восстанавливает байты, прочитанные в момент посадки, и затрёт твою правку в том же файле, а
|
||||
убийство процесса по памяти оставит посадку в дереве, которое уедет в лендинг.
|
||||
- подмножество гейта — `make mutations` из `backend/` (229 записей из 440);
|
||||
- **полный каталог** — рецепт цели `mutations` из `backend/Makefile`, развёрнутый в shell, без `-battery` и с
|
||||
`-logs` ВНЕ копии (`trap` удаляет копию на выходе вместе со всем, что внутри). Проверено мною 15.09 исполнением:
|
||||
запись `Z-price-substitution-reports-itself-as-the-answerer` — тем же рецептом встроенной командой (логи в
|
||||
скретчпаде): копия без `.env`, RED; запись `C-verdict-leaves-the-anchored-column` — ДОСЛОВНО этим текстом как
|
||||
файлом-скриптом (`<тег>` подставлен, добавлен `-id`): RED двумя тестами, один из них корпусной оракул
|
||||
`TestTheInstrumentAgainstTheColdRunOracle` (ветка двух корпусных переменных на копии работает), лог вне копии,
|
||||
`TMMUTATE_EXIT=0`, оставленных копий 0, индекс цел. ⚠ `<тег>` замени: с ним как есть `bash -n` падает. Положи в файл вне копии и запусти фоном средствами
|
||||
харнесса, `bash <файл> > <лог> 2>&1; echo "TMMUTATE_EXIT=$?" >> <лог>`, и жди строки `TMMUTATE_EXIT=` в логе, а не
|
||||
уведомления:
|
||||
```
|
||||
cd /home/ubuntu/projects/textmachine-main/backend && test -f go.mod \
|
||||
&& [ "$(pwd)" = /home/ubuntu/projects/textmachine-main/backend ] \
|
||||
&& logs=/home/ubuntu/tm-mut-logs-<тег> && mkdir -p "$logs" \
|
||||
&& tmp=$(mktemp -d) && trap 'rm -rf "$tmp"' EXIT && trap 'rm -rf "$tmp"; exit 130' INT TERM \
|
||||
&& mkdir "$tmp/backend" \
|
||||
&& tar -C /home/ubuntu/projects/textmachine-main/backend -cf "$tmp/tree.tar" --exclude='./.env*' --exclude=./bin . \
|
||||
&& tar -C "$tmp/backend" -xf "$tmp/tree.tar" && rm -f "$tmp/tree.tar" \
|
||||
&& TM_CHECKER_LABELS_DIR=/home/ubuntu/projects/textmachine-main/books/gu-zhenren/labels \
|
||||
TM_RUN_A_DIR=/home/ubuntu/projects/textmachine-main/books/gu-zhenren/door-to-file \
|
||||
go run ./cmd/tmmutate -root "$tmp/backend" -logs "$logs"
|
||||
```
|
||||
Рецепт из шапки `cmd/tmmutate/main.go` как есть НЕ годится: без двух корпусных переменных корпусные пины на
|
||||
копии скипают, скип даёт `exit 0`, и посадка читается выжившей;
|
||||
- одна копия — один мутатор; склейка из нескольких вызовов `-id` законна только при покрытии 440 из 440 без
|
||||
пересечений И при том, что между вызовами дерево не менялось (твоя правка между ними делает склейку негодной);
|
||||
- исходы `tmmutate`: `RED` — поймана · `SURVIVED` — выжила · `survives` — ЗАПИСАННАЯ и аргументированная выжившая
|
||||
(в каталоге 4 такие записи с `expect: survives`, все без `battery`, поэтому видны ТОЛЬКО в полном прогоне — в
|
||||
таблицу отдельной строкой, не в выжившие) · `NOTHING` и `ROTTED` — НЕИЗМЕРЕННЫЕ (в число не кладутся) · `RED!` —
|
||||
запись числилась выжившей и теперь ловится · «NOT GREEN before any mutation» — прогон не состоялся вовсе.
|
||||
Засчитывает мутацию ТЕКСТ падения из `-logs`, а не цвет. Время: полный каталог — больше часа.
|
||||
5. **Секция «Числа» и таблица мутаций** — написать; каждое число с командой, деревом и популяцией.
|
||||
6. **П.9 «Что НЕ удалось»** — исправить с пометкой «испр. 15.09».
|
||||
7. **Финальная строка §13** — по исходу правила остановки (ниже) или по сходимости.
|
||||
|
||||
**Решаешь сам и аргументируешь** (советы — приоры, опровергаются аргументом или замером):
|
||||
- **Форма восьмого круга.** Узкий круг, вернувшийся чистым, доказывает чистоту ПОСЛЕДНИХ починок, а не сходимость
|
||||
пака. Норма (эррата 04.09-б): круг идёт по дофиксу **против ИСХОДНЫХ пунктов заказа** — здесь дофикс чужой, и
|
||||
тем важнее. Мой приор: один направленный читатель по С1–С6 плюс проход по пунктам тела §4.1–§4.5 против готового
|
||||
дерева. Субагенты разрешены явно; веер и глубину выбираешь ты.
|
||||
|
||||
⛔ **Правило остановки — РОВНО так; сам решаешь только, чинить ли найденное до стопа.** Кругов в передаче не больше
|
||||
ДВУХ. Стоп наступает, если (а) любой круг нашёл дефект в починке ПРЕДЫДУЩЕГО круга (седьмого или своего) либо (б)
|
||||
второй круг дал любую НОВУЮ находку. В обоих случаях — таблица «находка → класс → цена» в отчёт и пинг, если канал
|
||||
жив; если канала нет — та же таблица секцией. Финальная строка в этом исходе: **«работа завершена по правилу
|
||||
остановки П4, круги НЕ сошлись — остаток в таблице; править не планирую»**. Лендить ли с названным остатком, решаю я
|
||||
(прецедент — `D39.245` п.1).
|
||||
|
||||
## П5. Где эта передача мягкая — и куда писать
|
||||
|
||||
**Уязвимые места:**
|
||||
1. ⛔ **Чужие числа.** Все числа отчёта сняты приборами b1 на деревьях своего часа: «каталог 439 записей», «25 = 9 +
|
||||
3 + 1 + 12», «батарея 23/23» — утверждения автора, а не твоё знание. Её же командой ты повторишь и её ошибку:
|
||||
бери другую популяцию или другую сторону улики.
|
||||
2. ⛔ **Работа, оборванная на полуслове.** Самая вероятная форма дефекта — починка с одной половиной: комментарий
|
||||
переписан, а пин не заведён; запись каталога заведена, а `find` не уникален; пин заведён, а посадка бьёт не в
|
||||
его слой. У каждой починки седьмого круга спрашивай, где её вторая половина.
|
||||
3. ⛔ **Изменённые записи каталога, а не только новые.** Кроме 33 новых, сдача изменила 8 записей `HEAD`: у шести —
|
||||
`find` (у одной из них ещё и файл), у двух (`CUTCALL-a-refusal-pays-when-the-reply-outruns-the-write` ·
|
||||
`CUTCALL-a-reply-that-outruns-our-own-write-books-zero`) — `run`, расширенный на
|
||||
`TestDeliveryEvidenceIsWhatTheMoneyBitAsks`. Значит, RED посадки §4.5(б) больше не доказывает, что её ловит
|
||||
СКВОЗНОЙ пин — детерминированная таблица поймает за него. Назови по логу, какой тест краснеет.
|
||||
4. ⛔ **Решения прежнего оркестратора, известные только из отчёта b1.** Переписки с ним нет. Что я подтверждаю и что
|
||||
решаю сам — П6; прочее ратифицированным не считай: наткнёшься — пинг.
|
||||
5. ⛔ **Зелёная батарея плюс полный каталог сходимостью не являются** — семь кругов этого пака находили дефекты при
|
||||
полной зелени.
|
||||
|
||||
**Куда писать в `docs/PROGRESS.md`.** Новые подсекции — в КОНЕЦ секции b1, то есть сразу после её
|
||||
«Вопросов оркестратору» и перед следующим `#### Пак`: сперва «ПЕРЕДАЧА 15.09 — план» (замена тела §7, до первой
|
||||
правки), затем круги, «Числа», таблица мутаций, «что не удалось» по передаче. Прежние круги b1 не переписываются
|
||||
(они описывают дерево на свою дату); протухший п.9 правится на месте с пометкой. Строка завершения ставится в
|
||||
ЗАГОЛОВОК секции b1 — так, как у следующей в журнале секции `#### Пак «ЗА ОДНУ ЕДИНИЦУ ПЛАТИМ ДВАЖДЫ»`. Хук якорей при
|
||||
лендинге предупредит о семи якорях отчёта b1 без токена: дописать к ним `=`токен`` РАЗРЕШЕНО, текст не трогая, и
|
||||
токен подбирается по ЦЕЛИ, о которой говорит проза, а не по тому, что оказалось на строке.
|
||||
|
||||
## П6. Отмены тела, ответы на вопросы b1 и мои решения
|
||||
|
||||
**Отменено в теле (раздел сильнее). Носитель — «Эррата 15.09-а» в шапке `docs/architecture/05-decisions-log.md`:**
|
||||
- Слово владельца 11.09 (цитата — тело §4.1): отказ резервации на ретрае — СТАНДАРТНАЯ ОСТАНОВКА. У `D39.204` сняты:
|
||||
в п.4 — деградация во флаг, отгрузка текста и продолжение волны; п.5 (а)–(б); в п.5 (в) — пин «купленное
|
||||
доставлено ⇒ не `exit 4`». ОСТАЁТСЯ требование п.4, чтобы причина отличалась от исчерпания регенераций, — на нём
|
||||
стоит `retry_unaffordable` и комментарий сдачи, ссылающийся на «D39.204 п.4». По этим расхождениям тела с журналом
|
||||
не пинговать.
|
||||
- Тело §2, фраза «её половина едет ОТДЕЛЬНЫМ промтом», и последнее предложение §4.4 («я передам это платформенной
|
||||
сессии, и акт будет один») — сняты: платформенная половина пуста по замеру b1 (§4.4 её отчёта), отдельного
|
||||
платформенного промта не будет, акт один. Обязательство ряда 291 «зеркало двух зон» закрывается этим замером.
|
||||
- Тело §7 — заменено (П5). Пункты «решаешь сам» §4.1 уже решены b1 и без находки пере-решению не подлежат.
|
||||
|
||||
**Ответы на «Вопросы оркестратору» b1:**
|
||||
1. Ряды контракта 14 — их не хватает ТРИ (`retry_unaffordable` · `cancelled` · `attempt_timeout`; канон говорит
|
||||
«Причин шестнадцать», в `flagSeverity` 19 ключей) — моя зона, делаю при лендинге. Не трогать.
|
||||
2. Расхождение витрин `status` и экспорта на одной строке — ряд бэклога заведу я при лендинге.
|
||||
3. Вторая дверь невидимой дыры (позиция, чья единственная трата — сожжённый ключ, метки не получает) — вопрос
|
||||
владельцу, несу я. В этом паке не строится.
|
||||
4. Третья читательская фраза («оплачено, но не доделано: пополните и перезапустите») — вопрос владельцу, несу я.
|
||||
Ветку не трогать: она готова принять строку данных.
|
||||
5. Ось «эхо только по отгруженному тексту» (`D39.18`, открытое решение владельцу) — абзац «чтение, которое берёт код»
|
||||
оставить как есть.
|
||||
6. Переименование `echo_edit_units` → `echo_edit_rows` — **в этом паке НЕ делается:** правка опубликованного ключа
|
||||
потребовала бы нового круга по пакету, который ты сводишь, а читателей вне `backend/` у ключа ноль и на исполнимых
|
||||
конфигах числа совпадают. Оговорка у поля остаётся, ряд бэклога заведу я.
|
||||
7. Анкор техдолга в `docs/architecture/13-tech-debt-anchors.md` — моя зона.
|
||||
|
||||
**Три просьбы b1 к оркестратору, которых нет среди её «Вопросов», — исход:**
|
||||
8. Смена смысла эхо-метрики на эдит-волне (её Т1 и «Что НЕ удалось» п.7) — **решаю при приёмке**, сессия не трогает.
|
||||
9. Расщепление `withheld_units` на «нужны деньги» и «нужен человек» (её М5) — контракт двух зон; ряд бэклога заведу я.
|
||||
10. Ранг новой причины 4 вместо 8, стоящий на существующем пине `TestTheSeverityTableMeansWhatItsCommentsSay` —
|
||||
**решаю при приёмке**, сессия не пере-решает.
|
||||
|
||||
**Подтверждаю** решения прежнего оркестратора, на которых стоит построенное: (а) новый РОД дыры не заводится — довод
|
||||
о пяти счётчиках платформы (`platform/internal/ingest/build.go`); (б) выбор читательской фразы спрашивает предикат
|
||||
вердикта, а причина остаётся на записи дыры; (в) платформенная половина пуста — см. отмены выше.
|
||||
|
||||
## П7. Среда этой машины (15.09, а не прошлой)
|
||||
|
||||
- `/tmp` здесь — ext4 на общем диске, не tmpfs. Место проверяй командой `df -h /tmp` рядом с итогом тяжёлого
|
||||
прогона, а не числом отсюда: `no space left on device` даёт красное, неотличимое от дефекта кода.
|
||||
- Тулчейн: go 1.26.7, golangci-lint 2.12.2 (пин — 2.12.2).
|
||||
- ⛔ Перед тяжёлым прогоном — `cat /proc/self/cgroup` и `memory.max` этого cgroup (гардрейл `CLAUDE.md` про
|
||||
`CONSTRAINT_MEMCG`). У моего процесса потолка нет, у твоего может быть. Сужать мутационный прогон через `-run`,
|
||||
чтобы влезть в память, нельзя.
|
||||
|
||||
## П8. Остальное — по телу
|
||||
|
||||
§5 · §6 · §8 · §9 · §10 · §11 (канал вопросов, право отказаться, тесты не под зелень, старший коллега Fable 5 — один
|
||||
на сессию) · §12 · §13 действуют и адресованы тебе, с заменами из П4–П6. **Адрес оркестратора** — блок
|
||||
`role=оркестратор` в `/tmp/textmachine-channel`, сверенный с `ListAgents`; ⚠ `textmachine-main-b1` в списке — пустая
|
||||
сессия владельца, а НЕ сессия b1, и сессия `textmachine-11` из шапки тела мертва. Нужной роли в файле нет ⇒ канала
|
||||
нет: вопросы секцией отчёта, работа продолжается (исключение — стоп по хешу, П4.1).
|
||||
|
||||
---
|
||||
|
||||
# Бэкенд-пак: КУПЛЕНО — ЗНАЧИТ ДОСТАВЛЕНО. Юнит, который не доделается НИКОГДА
|
||||
|
||||
> Выдан оркестратором №23 (сессия `textmachine-11`) 11.09. Пак **$0** — платных вызовов в нём нет.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,13 @@
|
|||
# Бэкенд-пак: В БАНК ПО РАЗНОБОЮ — впустить термин, который черновик уже написал двумя способами
|
||||
|
||||
> ⛔ **НЕ ВЫДАЁТСЯ В ЭТОЙ РЕДАКЦИИ: ПОСЫЛКА ОПРОВЕРГНУТА ЗАМЕРОМ 15.09 (оркестратор №23, продолжение). Инструкции
|
||||
> ниже НЕ исполнять.** Строка «Выдан» неверна: пак не выдавался никому, слот бэкенда занят паком «купленное
|
||||
> доставлено». Приём «по разнобою» ВАКУУМЕН — все термы со `spread ≥ 2` уже лежат в финальном банке (прогон A: 9 из 9,
|
||||
> B: 8 из 8; `bank.json` стопа против `glossary` полных баз). Настоящий дефект консистентности — ПЕРЕ-РЕШЕНИЕ банка
|
||||
> терминологом на подписи и, по коду, на каждой следующей покупке глав: у неподписанных строк сменились передачи
|
||||
> A 12 из 69, B 14 из 66. Пример «две разные вещи — одно имя» (`宗族祠堂` / `宗祖祠堂`) — один и тот же зал. Пак
|
||||
> переписывается под вопрос владельцу «копить ли решения банка между прогонами».
|
||||
|
||||
> Выдан оркестратором №23 (сессия `textmachine-11`). Пак **$0** — платных вызовов в нём нет.
|
||||
> Предмет куплен двумя платными прогонами; разбор состава банка сделан старшим коллегой по коду.
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -39,18 +39,18 @@
|
|||
|
||||
## Горизонт
|
||||
|
||||
| № | зона | предмет | цена | состояние на 11.09 |
|
||||
| № | зона | предмет | цена | состояние (пере-снято 15.09) |
|
||||
|---|---|---|---|---|
|
||||
| 1 | **бэкенд** | структура глав, ДИЗАЙН | $0 | ✅ **ЗАКРЫТ АКТОМ `D39.245`** без сходимости, правилом остановки |
|
||||
| 2 | **платформа** | правда у двери: `PD-455` · `PD-448` (разбор) · `PD-162` | $0 | ✅ **ЗАКРЫТ АКТОМ `D39.246`** с дофиксом по двум находкам приёмки |
|
||||
| 3 | ~~полигон~~ | **прогон A**: настоящая книга до ФАЙЛА, платный провайдер | **факт $0.419424** | ✅ **ЗАКРЫТ АКТОМ `D39.247`**; строка 16 закрыта замером; ⚠ зона ВНЕ СКОУПА с 11.09 |
|
||||
| 4 | **бэкенд** | ⛔ **КОНСИСТЕНТНОСТЬ, КОТОРУЮ МОЖНО ПРЕДЪЯВИТЬ**: ряды **406** · **407** · **408** · **409**, плюс купленные прогоном **417** (закон банка не виден в тексте) и **419** (стеммер: 11 из 18 промахов — ложные) | пак, почти весь $0 | ⏳ **ВЫДАН 11.09** сессии `textmachine-c9`; приёмка, круг 2 (шесть посадок выжили → дофикс) |
|
||||
| 5 | **бэкенд** | «ВЫДАЧА, КОТОРУЮ ВИДИТ ЧИТАТЕЛЬ» — ⛔ **РАЗОБРАН 11.09 ЧТЕНИЕМ РЯДОВ И РАЗВЕДЁН НА ДВА ПАКА, один ряд закрыт замером.** **(а) `291` ВЫДАН** — `BACKEND_BOUGHT_MEANS_DELIVERED_SESSION_PROMPT.md`, решено владельцем (`D39.204`), дефект жив и предъявлен строкой `stagerun.go:203`; акт ОДИН с платформенной половиной. **(б) `307` ЗАКРЫТ, а не заказан:** честная форма ПОСТРОЕНА и запинена коммитом `6ceb133` — `runOrderedChapters = (case when r.ordered_units is not null then null else r.ceiling_chapters end)`, плюс `TestACharacterOrdersVolumeIsPublishedInTheUnitItWasSoldIn`; ряд снят с таблицы. Заказать его значило бы заказать готовое — мой повторяющийся класс. **(в) `283` + `284` + `201` — СЛЕДУЮЩИЙ пак «структура и заголовки», и он идёт ПОСЛЕ прогона B:** 283 требует единственного окна пере-снапшота, а пере-снапшот двигает НАРЕЗКУ ⇒ единицы A и B станут несравнимыми, и B ответит на другой вопрос (поправка старшего коллеги, принята). У 284 сверх того нет слова владельца о ПОДПИСИ стадии | пак, $0 | ⏳ (а) выдан · (б) закрыт · (в) ждёт B |
|
||||
| 4 | **бэкенд** | ⛔ **КОНСИСТЕНТНОСТЬ, КОТОРУЮ МОЖНО ПРЕДЪЯВИТЬ**: ряды **406** · **407** · **408** · **409**, плюс купленные прогоном **417** (закон банка не виден в тексте) и **419** (стеммер: 11 из 18 промахов — ложные) | пак, почти весь $0 | ✅ **ЗАКРЫТ АКТОМ `D39.249`** с дофиксом |
|
||||
| 5 | **бэкенд** | «ВЫДАЧА, КОТОРУЮ ВИДИТ ЧИТАТЕЛЬ» — ⛔ **РАЗОБРАН 11.09 ЧТЕНИЕМ РЯДОВ И РАЗВЕДЁН НА ДВА ПАКА, один ряд закрыт замером.** **(а) `291` ВЫДАН** — `BACKEND_BOUGHT_MEANS_DELIVERED_SESSION_PROMPT.md`, решено владельцем (`D39.204` с «Эрратой 15.09-а»), дефект был жив на 11.09 (возврат ошибки из цикла попыток до `UpsertChunkStatus`, `backend/internal/pipeline/stagerun.go`); акт ОДИН с платформенной половиной (⚠ испр. 15.09: платформенная половина пуста по замеру сессии, отдельного промта нет). **(б) `307` ЗАКРЫТ, а не заказан:** честная форма ПОСТРОЕНА и запинена коммитом `6ceb133` — `runOrderedChapters = (case when r.ordered_units is not null then null else r.ceiling_chapters end)`, плюс `TestACharacterOrdersVolumeIsPublishedInTheUnitItWasSoldIn`; ряд снят с таблицы. Заказать его значило бы заказать готовое — мой повторяющийся класс. **(в) `283` + `284` + `201` — СЛЕДУЮЩИЙ пак «структура и заголовки», и он идёт ПОСЛЕ прогона B:** 283 требует единственного окна пере-снапшота, а пере-снапшот двигает НАРЕЗКУ ⇒ единицы A и B станут несравнимыми, и B ответит на другой вопрос (поправка старшего коллеги, принята). У 284 сверх того нет слова владельца о ПОДПИСИ стадии | пак, $0 | ⛔ (а) сессия b1 ПОТЕРЯНА 15.09, пак не завершён — передаётся свежей сессии разделом ред. 5; конструкция пере-решена владельцем 11.09: стандартная остановка, не флаг (эррата 15.09-а к `D39.204`) · (б) закрыт · (в) прогон B принят (`D39.252`), заперт теперь слотом и порядком — см. пункт 10 |
|
||||
| 6 | **фронт** | поверхность показа | пак | разморозка + пункты 1–5 |
|
||||
| 7 | ~~полигон~~ | ⛔ **ЗОНА ВНЕ СКОУПА — слово владельца 11.09**; четыре промта уведены в `archive/prompts/` с баннерами | — | снято |
|
||||
| 8 | **бэкенд/деньги** | ⛔ **«ПАДЕНИЕ, КОТОРОЕ ВИДНО»** — четверть COGS в одном механизме (**415**), слепые приборы отказа (**414**, **422**), молчащая подстановка цены. ⚠ Пин цены **413** из пака ВЫНУТ: это данные и отдельное решение | пак, $0 | ✍️ **НАПИСАН 11.09** — `BACKEND_FAILURE_YOU_CAN_SEE_SESSION_PROMPT.md`; выдаётся СВЕЖЕЙ сессии сразу по закрытии 4 ⛔ **КРИТЕРИЙ ПРИЁМКИ ПАКА — МЕХАНИЗМ, А НЕ ПРОПОРЦИЯ** (поправка старшего коллеги 11.09): лекарство есть распространение ратифицированного образца `D2` п.3 на вторую причину, и оно верно при 25 % и при 5 % — пропорция задаёт очерёдность, не форму. ⇒ судить по строкам «ни одного удвоения без вердикта о вырождении; каждая выброшенная попытка — строкой леджера с причиной», а не по «с 25.4 % до X». Значит прогон B пак не гейтит и паком не гейтится.|
|
||||
|
||||
| 9 | **платформа+бэкенд** | ⭐ **ХОЛОДНЫЙ ПРОГОН B — платформа → бэкенд → файл, ВТОРОЙ раз.** Уточнение владельца 11.09: спрашивая «перепрогоны нужны», он имел в виду именно сквозной прогон, а не пере-запуск тестов. Покупает ЧЕТЫРЕ вещи, которых нет ни у кого: **(1)** миграция **v17** (`wave_selection`) пака консистентности ни разу не шла на живом прогоне — только в тестах; **(2)** прибор консистентности впервые даст числа с ЖИВОГО прогона, а не с пере-скана сохранённой базы прогона A — сегодня все `I1`/`I2` получены повторным чтением одних и тех же данных; **(3)** платформенный пак (идемпотентный резюм, терминальное состояние) проверяется сквозь, а не юнитами; **(4)** ⛔ **вторая точка по денежной дыре, и она нужна по норме, а не для красоты** — весь довод «четверть денег купила пустоту» стоит на ЧЕТЫРЁХ одиночных розыгрышах, а квирки §3д прямо говорят: смета DeepSeek с одиночного вызова может ошибиться на порядок, сметы строятся на ПОВТОРАХ. ⇒ у числа 25.4 % есть знак и нет величины, пока прогон не повторён. **Цена ≈$0.42 по образцу прогона A, машинный кап ≈$2.5.** ⛔ **ПРЕ-РЕГИСТРАЦИЯ ЗНАМЕНАТЕЛЯ, иначе B ответит числом на другой вопрос** (поправка старшего коллеги 11.09): B — ЕЩЁ ОДИН одиночный прогон, и две точки распределением не станут. Настоящая ценность B не «вторая точка к 25.4 %», а `request_log` ВСЕХ единиц прогона ⇒ **доля выброшенных первых попыток ПО ЕДИНИЦАМ, а не по вызовам.** Это и пре-регистрируется. ⚠ И идёт B **ПАРАЛЛЕЛЬНО** паку о падениях, а не после: они в РАЗНЫХ слотах (бэкенд против платформы), и правило «один промт на зону» их не сталкивает | ≈$0.42 | ⏳ **ВЫДАН 11.09** сессии `textmachine-82`, санкция владельца получена и положена в носитель ниже |
|
||||
| 8 | **бэкенд/деньги** | ⛔ **«ПАДЕНИЕ, КОТОРОЕ ВИДНО»** — четверть COGS в одном механизме (**415**), слепые приборы отказа (**414**, **422**), молчащая подстановка цены. ⚠ Пин цены **413** из пака ВЫНУТ: это данные и отдельное решение | пак, $0 | ✅ **ЗАКРЫТ АКТОМ `D39.251`** (испр. 15.09; дальше — запись 11.09) · ✍️ **НАПИСАН 11.09** — `BACKEND_FAILURE_YOU_CAN_SEE_SESSION_PROMPT.md`; выдаётся СВЕЖЕЙ сессии сразу по закрытии 4 ⛔ **КРИТЕРИЙ ПРИЁМКИ ПАКА — МЕХАНИЗМ, А НЕ ПРОПОРЦИЯ** (поправка старшего коллеги 11.09): лекарство есть распространение ратифицированного образца `D2` п.3 на вторую причину, и оно верно при 25 % и при 5 % — пропорция задаёт очерёдность, не форму. ⇒ судить по строкам «ни одного удвоения без вердикта о вырождении; каждая выброшенная попытка — строкой леджера с причиной», а не по «с 25.4 % до X». Значит прогон B пак не гейтит и паком не гейтится.|
|
||||
| 9 | **платформа+бэкенд** | ⭐ **ХОЛОДНЫЙ ПРОГОН B — платформа → бэкенд → файл, ВТОРОЙ раз.** Уточнение владельца 11.09: спрашивая «перепрогоны нужны», он имел в виду именно сквозной прогон, а не пере-запуск тестов. Покупает ЧЕТЫРЕ вещи, которых нет ни у кого: **(1)** миграция **v17** (`wave_selection`) пака консистентности ни разу не шла на живом прогоне — только в тестах; **(2)** прибор консистентности впервые даст числа с ЖИВОГО прогона, а не с пере-скана сохранённой базы прогона A — сегодня все `I1`/`I2` получены повторным чтением одних и тех же данных; **(3)** платформенный пак (идемпотентный резюм, терминальное состояние) проверяется сквозь, а не юнитами; **(4)** ⛔ **вторая точка по денежной дыре, и она нужна по норме, а не для красоты** — весь довод «четверть денег купила пустоту» стоит на ЧЕТЫРЁХ одиночных розыгрышах, а квирки §3д прямо говорят: смета DeepSeek с одиночного вызова может ошибиться на порядок, сметы строятся на ПОВТОРАХ. ⇒ у числа 25.4 % есть знак и нет величины, пока прогон не повторён. **Цена ≈$0.42 по образцу прогона A, машинный кап ≈$2.5.** ⛔ **ПРЕ-РЕГИСТРАЦИЯ ЗНАМЕНАТЕЛЯ, иначе B ответит числом на другой вопрос** (поправка старшего коллеги 11.09): B — ЕЩЁ ОДИН одиночный прогон, и две точки распределением не станут. Настоящая ценность B не «вторая точка к 25.4 %», а `request_log` ВСЕХ единиц прогона ⇒ **доля выброшенных первых попыток ПО ЕДИНИЦАМ, а не по вызовам.** Это и пре-регистрируется. ⚠ И идёт B **ПАРАЛЛЕЛЬНО** паку о падениях, а не после: они в РАЗНЫХ слотах (бэкенд против платформы), и правило «один промт на зону» их не сталкивает | ≈$0.42 | ✅ **ЗАКРЫТ АКТОМ `D39.252`**, факт $0.396657 |
|
||||
| 10 | **бэкенд** | ⛔ **БАНК: РЕШЁННОЕ ОСТАЁТСЯ РЕШЁННЫМ** — предмет пере-определён проверкой 15.09. Пак 12.09 «в банк по разнобою» (`BACKEND_WHAT_THE_BANK_IS_MADE_OF_SESSION_PROMPT.md`) снят баннером: все термы со `spread ≥ 2` уже в банке (A 9 из 9, B 8 из 8). Настоящий дефект приоритета №1 — пере-решение банка терминологом: на подписи замерено (у неподписанных строк сменились передачи A 12 из 69, B 14 из 66), на каждой следующей покупке глав выведено из кода — отгруженные главы по порядку слотов остаются со старыми передачами (`backend/internal/pipeline/volume.go`, греп `DELIVERY BEFORE REWORK`). Ряды 130 · 330 · 438 · 440 | $0 + центы перекупки банк-ролей | ⏳ ждёт слова владельца «копить ли решения банка между прогонами» (ряд 130, `research/34` §4 п.4) и слота бэкенда. Предложен порядок: РАНЬШЕ 5(в) — перекрой глав без якоря пере-решил бы банк платной книги |
|
||||
|
||||
⛔ **ПОЧЕМУ 4 ВСТАЛ ПЕРЕД 5 (решение 11.09 по мерилу владельца).** Мерило — «качественный КОНСИСТЕНТНЫЙ
|
||||
перевод длинных книг». Аудит банка 11.09 показал, что **книжного вопроса о консистентности не задаёт ни один
|
||||
|
|
@ -129,6 +129,10 @@ API не было: 04.09 упёрлось в потолок (`PD-440`, с тех
|
|||
- ✅ **ПЛАТНЫЙ ПРОГОН A РАЗРЕШЁН** (слово 11.09: «Разрешаю»). Ожидание ≈$0.30, машинный кап ≈$2.5 (холд, см.
|
||||
раздел выше). ⚠ Санкция названа ЗДЕСЬ, потому что опровергатель 11.09 поймал: промты ссылались на неё как
|
||||
на факт, а в дереве её не было ни строкой — «известное со слов» не носитель.
|
||||
- ✅ **ОТКАЗ ДЕНЕГ НА ПОВТОРНОЙ ПОПЫТКЕ — СТАНДАРТНАЯ ОСТАНОВКА, А НЕ ФЛАГ** (слово 11.09: «…иметь возможность поднять
|
||||
просто потолок и возобновить прогон, так как это ситуация всё же СТАНДАРТНАЯ СО СТОПОМ, просто он произошёл по
|
||||
какой-то другой причине»). Позиция получает не-терминальную метку со своей причиной, кадр `ceiling` несёт недостачу,
|
||||
пополнение и резюм доделывают юнит. ⚠ Четыре дня жило только в промте пака; ратифицировано «Эрратой 15.09-а» к `D39.204`.
|
||||
- ✅ **Остановка остаётся ЖЁСТКОЙ, деньги терять ДОПУСТИМО, но остановка обязана быть КОРРЕКТНОЙ** — без
|
||||
гонок, без половинчатых состояний, с верным возобновлением (`D39.240`).
|
||||
- ✅ **ГОЛОС ВХОДИТ В ПРИОРИТЕТ №1** (слово 11.09: «Входит»). Прежнее расхождение канона проекта («термины/голоса») и ратифицированного списка 05.09 (голос №3) снято. ⛔ **Форма работы задана тем же словом: проектирует и контролирует голос FABLE, исполняет ОПУС** — сессии обсуждают имплементацию с агентом Fable 5, а не решают сами. Носитель предмета — строка бэклога **410**. ⚠ **Её голова ПЕРЕПИСАНА 11.09 пере-замером: «мёртв в четырёх местах» было НЕВЕРНО** — голос построен сквозь (схема сида · загрузчик · хранилище · инъекция · флаггер по отгруженному тексту · поле отчёта) и выключен ровно двумя вещами: профиля не написал никто ни разу, и `InjectVoice` — константа без ключа конфига, чьё включение стоит полного `--resnapshot`. ⇒ работа мельче, чем читалась: не «построить голос», а написать профиль, открыть ручку и заплатить ре-снапшотом.
|
||||
|
|
@ -155,7 +159,7 @@ API не было: 04.09 упёрлось в потолок (`PD-440`, с тех
|
|||
с числом читателей, а не с числом книг. Носители — ряды **415** · **414** · **422**.
|
||||
- **Пять вопросов банка памяти**, поднятых аудитом 11.09 (стоп или флаг на разъехавшемся термине · входит ли
|
||||
ГОЛОС в приоритет №1 · один перевод у НЕподписанного термина · накапливать ли банк между прогонами ·
|
||||
остановка на подпись — опция или свойство продукта). Носитель разбора — `docs/research/34-*`.
|
||||
остановка на подпись — опция или свойство продукта). Носитель разбора — `docs/research/34-*`. ⚠ **15.09: вопрос «накапливать ли банк между прогонами» получил числа и стал блокером пункта 10.**
|
||||
|
||||
## Вычеркнуто
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
- **Активные хендофф-промты — какой файл ТВОЙ** (состав обновляется при каждом лендинге, D39.80; хроника, причины и статусы РАБОТ — CURRENT-STATE и D-лог):
|
||||
| Роль | Активный промт | Статус |
|
||||
|---|---|---|
|
||||
| **Бэкенд · КУПЛЕНО — ЗНАЧИТ ДОСТАВЛЕНО** | [BACKEND_BOUGHT_MEANS_DELIVERED_SESSION_PROMPT.md](BACKEND_BOUGHT_MEANS_DELIVERED_SESSION_PROMPT.md) | ✍️ **написан 11.09**, выдаётся `textmachine-b1`. Предмет решён владельцем (`D39.204`): отказ резервации на РЕТРАЕ деградирует во флаг с отдельной причиной. Сегодня он уходит наверх из цикла попыток раньше `UpsertChunkStatus` ⇒ юнит виден `pending` НАВСЕГДА, прогон уходит `exit 4` при доставленных купленных юнитах. Платформенная половина — отдельным промтом, акт ОДИН на две. $0 |
|
||||
| **Бэкенд · КУПЛЕНО — ЗНАЧИТ ДОСТАВЛЕНО** | [BACKEND_BOUGHT_MEANS_DELIVERED_SESSION_PROMPT.md](BACKEND_BOUGHT_MEANS_DELIVERED_SESSION_PROMPT.md) | ⛔ **ВЫДАН 15.09 СВЕЖЕЙ СЕССИИ `textmachine-main-b1`** — разделом ПЕРЕДАЧИ (ред. 5) в начале того же промта; жду эхо. Сессия `textmachine-b1` построила пак почти целиком и ПОТЕРЯНА при переезде окружения, не объявив работу завершённой; сдача лежит застейдженной в индексе. Предмет решён владельцем — `D39.204` **с эрратой 15.09-а**: отказ резервации на ретрае — СТАНДАРТНАЯ ОСТАНОВКА (кадр `ceiling` с недостачей, не-терминальная метка позиции, пополнение и резюм доделывают юнит), а не флаг. Платформенная половина пуста по замеру сессии, акт один. $0 |
|
||||
| Сквозной · ХОЛОДНЫЙ ПРОГОН B | активного НЕТ | пак ОТРАБОТАН и **ПРИНЯТ 11.09** — акт **D39.252**; промт в [archive/prompts/](archive/prompts/COLD_RUN_B_SESSION_PROMPT.md) с баннером-исходом. Книга второй раз от двери до ФАЙЛА, факт **$0.396657**. ⭐ Две меры денежной дыры разошлись в РАЗНЫЕ стороны на одних данных; **85.7 % оплаченного выхода — размышление, а не текст**. ⛔ Прибор приоритета №1 солгал вердиктом по подписанному имени героя. Качество впервые судилось по ОРИГИНАЛУ рядом с переводом: 26 находок, 1 крит |
|
||||
| Оркестратор | [ORCHESTRATOR_SESSION_PROMPT.md](ORCHESTRATOR_SESSION_PROMPT.md) | роль и нормы; счётчик роли — CURRENT-STATE |
|
||||
| Бэкенд · ДВЕ ОСТАНОВКИ | активного НЕТ | пак ОТМЕНЁН ВЛАДЕЛЬЦЕМ 10.09 до лендинга — акт **D39.240**; промт в `archive/prompts/` с баннером. Причина — размах правки, не качество. ⚠ Предмет ЗАМЕНЁН и сузился: остановка остаётся жёсткой, **деньги терять допустимо**, но она обязана быть КОРРЕКТНОЙ (без гонок, без половинчатых состояний, верное возобновление). ⭐ Пак успел купить `D39.236`–`D39.238` и строку **385** |
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@
|
|||
| D39.201 | 05.09 | **АКТ: платформенный пак «пустить внутрь можно» ПРИНЯТ С ДОФИКСОМ** (`7e2226a` + `3e84716`; 20 находок, 5 снято, 15 устояло, 5 major — ТРИ в самом механизме бэкапа: книга в интейке не попадала в точку ни одним файлом при `complete: true`, ложная посылка дискриминатора вешала гейдж возраста в `+Inf` навсегда, рецепт восстановления не останавливает прогоны). Ратификации прозой: `bearerToken` минтится вне полосы, `character_count` — признак точности рядом с числом. Строки 269 · 270 · 274 закрыты; **282 НЕ закрыта** — состав минора внесён прозой, поле за паком формы заказа (⚠ испр.: прежняя редакция строки реестра числила её закрытой, тело ноты этого не говорит); заведена 293 | ратифицировано | живое тело | приёмка · платформа · бэкап · контракт |
|
||||
| D39.202 | 05.09 | **НОРМЫ СМЕНЫ: один корень у восьми случаев — прибор отвечает на свой вопрос, а читают его как ответ на свой.** Четыре вида неразличимого зелёного отчёта · девять форм ложной зелени (включая ГЕЙТ, ЗАЩИЩАЮЩИЙ ДЕФЕКТ) · правила посадок, указателей, замеров · «замер, попавший в посылку заказа, — стоп и вопрос владельцу» · норма о нормах: правило, требующее бдительности, исполняется настолько, насколько она есть | ратифицировано | живое тело | нормы · приёмка · инструменты |
|
||||
| D39.203 | 05.09 | **Владелец: движку МОЖНО говорить «сколько добавить»** — раскрытие оценки отказанного вызова легитимно (стена и есть цена вызова, формой не обходится). ⚠ Запрет ПТ-35 на СТОИМОСТЬ цел: наружу идёт до-вызовная ОЦЕНКА, не сеттлмент. Тензия жила внутри заказа (п.3 против п.4: `step_max_usd` — тоже оценка вызова). Создаёт работу: величина `max(shortfall, step_max − headroom)` + ПЕРЕИМЕНОВАНИЕ поля + минор `StreamVersion` 1.3→1.4; пак лендится как построен | ратифицировано | живое тело | деньги · шов · контракт · продукт |
|
||||
| D39.204 | 05.09 | **Владелец: отказ резервации на ретрае ДЕГРАДИРУЕТ ВО ФЛАГ** («пусть флагает просто как-то»); вариант «минимальная покупка ≥ step_max» снят. ⚠ Это НЕ смена D2.3 — D2 уже кончается флагом, денежная ветка до него не доходит (возврат ошибки из цикла попыток ДО `UpsertChunkStatus`). Причина флага обязана отличаться от исчерпания регенераций. Строка 291 закрывается; работа — своим паком движка | ратифицировано | живое тело | деньги · диспозиция · движок |
|
||||
| D39.204 | 05.09 | **Владелец: отказ резервации на ретрае ДЕГРАДИРУЕТ ВО ФЛАГ** («пусть флагает просто как-то»); вариант «минимальная покупка ≥ step_max» снят. ⚠ Это НЕ смена D2.3 — D2 уже кончается флагом, денежная ветка до него не доходит (возврат ошибки из цикла попыток ДО `UpsertChunkStatus`). Причина флага обязана отличаться от исчерпания регенераций. Строка 291 закрывается; работа — своим паком движка. ⛔ **Словом владельца 11.09 (эррата 15.09-а) отказ на ретрае — СТАНДАРТНАЯ ОСТАНОВКА** с не-терминальной меткой позиции и недостачей в кадре `ceiling`: в п.4 сняты деградация во флаг, отгрузка текста и продолжение волны (требование ОТДЕЛЬНОЙ причины остаётся); сняты п.5 (а)–(б) и пин «не `exit 4`» из п.5 (в) | ратифицировано · частично снято эрратой 15.09-а | живое тело | деньги · диспозиция · движок |
|
||||
| D39.205 | 05.09 | **Лестница D25.1 ЗАКРЫТА владельцем: копия без пометки = книга БЕЗ ПРОПУСКОВ; пропущенный КУСОК главы — критический** (маркер остаётся на уровне юнита). Закрывает последнюю границу D39.178 п.4. ⚠ Оркестратор поднял ложную тревогу «вы отменяете решение 30.08» — принцип «в книгу только дыры, остальное на фронт» ратифицирован D39.175 п.2 / D39.178 п.3. Гейт глоссария НЕ включается до замера точности (строка 12 — предусловие); заказ: `glossary_miss` как актуатор ремонта, но СНАЧАЛА подать подписанный канон в прогон | ратифицировано | живое тело | продукт · выдача · качество |
|
||||
| D39.206 | 05.09 | **АКТ: движковый пак «денежный стоп» ПРИНЯТ С ДОФИКСОМ** (`81a89e9` + `616a8e4`; каталог 201/197 RED/0 неожиданных, тесты 1172→1213). 18 находок, 6 снято, 12 устояло, 4 major — **все четыре оказались УТВЕРЖДЕНИЯМИ, а не поведением**. Строки 271 · 277 · 278 (+171) закрыты, 291 решена владельцем. Порог десяти глав снят лендингом | ратифицировано | живое тело | приёмка · движок · деньги |
|
||||
| D39.207 | 05.09 | **АКТ ВЕРИФИКАЦИИ обоих актов приёмки холодной сессией без пака** (воркри `/tmp/tm-verify-0509` на `d766007`, $0): 15 из 15 фактических утверждений ПОДТВЕРЖДЕНЫ, три прогоном; 7 находок вне карты (F1 — три протухших «финальных» числа в журнале, включая «0 SURVIVED» против четырёх; F2/F3 — имена в Go-комментариях, не разрешающиеся ни во что; F5 — `/tmp/.git` ломает `go build` под `/tmp`). **Норма: утверждение о замере ИЛИ о причине непроверки обязано цитировать КОМАНДУ.** Дыра скипа платформы замерена: 373 против 6 при неотличимом `exit 0` | ✅ |
|
||||
|
|
|
|||
|
|
@ -101,6 +101,26 @@
|
|||
> вердикт. ⚠ И это задевает цель 6: снапшот и голден запирают ВХОД, состав банка в них не заперт.
|
||||
> Носитель — ряд **439**; границы замера (одна книга, шесть чанков, одна пара прогонов) названы там же.
|
||||
> ⚠ Тело ноты не переписано (`D23.3`).
|
||||
> ⚠ **Эррата 15.09-а (`D39.204` п.3–5) — КОНСТРУКЦИЯ ПЕРЕ-РЕШЕНА ВЛАДЕЛЬЦЕМ 11.09, А ЖУРНАЛ ЧЕТЫРЕ ДНЯ ДЕРЖАЛ
|
||||
> ПРЕЖНЮЮ.** Слово владельца дословно, как его записал оркестратор №23 в промт пака
|
||||
> (`docs/BACKEND_BOUGHT_MEANS_DELIVERED_SESSION_PROMPT.md` §4.1): «Надо о таком просто сообщать в виде метаданты,
|
||||
> которая сейчас и пишется предупреждением, и иметь возможность поднять просто потолок и возобновить прогон, так
|
||||
> как это ситуация всё же СТАНДАРТНАЯ СО СТОПОМ, просто он произошёл по какой-то другой причине». **Читать так:**
|
||||
> отказ резервации на ретрае **останавливает прогон штатно** — с тем же кодом выхода, что любая остановка по
|
||||
> потолку, и кадром `ceiling` с недостачей (`D39.203`); позиция получает НЕ-терминальную для резюма метку со своей
|
||||
> причиной; пополнение и резюм доделывают юнит. ⇒ **Сняты** п.4 («деградирует во флаг… текст ОТГРУЖАЕТСЯ… волна
|
||||
> продолжается» — снято ТОЛЬКО это, см. «остаются»), п.5 (а)–(б) («перестаёт уходить `exit 4`», «волна продолжается»)
|
||||
> и в п.5 (в) пин «купленное доставлено ⇒ не `exit 4`» — пин стал «юнит получает строку · остановка несёт
|
||||
> недостачу · пополнение доделывает». П.3 «юнит не доделается никогда» сильнее факта: при поднятом потолке резюм
|
||||
> доделывал юнит и до пака, вечно умирает только резюм без пополнения — поправка исполняющей сессии, принятая в
|
||||
> том же промте (§4.2 п.3). **Остаются:** из п.1 — снятие варианта «минимальная покупка ≥ `step_max_usd`» (его первая
|
||||
> половина, «развилка закрыта в пользу деградации во флаг», снята этой же эрратой) · п.2 ·
|
||||
> требование п.4, чтобы причина ОТЛИЧАЛАСЬ от исчерпания регенераций · п.5 (в) в части «работа — своим паком
|
||||
> движка». ⚠ Нашёл опровергатель промта передачи 15.09: цитата даёт 0 вхождений в журнале, реестре, бэклоге и
|
||||
> плане (его греп) и в README (мой), при двух упоминаниях `D39.204` в журнале. Реестр, ряд 291 бэклога, README,
|
||||
> `15-money-path.md` и план поправлены тем же коммитом. Класс — слово владельца, не ратифицированное в тот же день
|
||||
> (`D39.248`). ⭐ **Подтверждено владельцем 15.09, дословно:** «Это ведь обычный механизм останова который должен
|
||||
> отрбатать, и далее просто можно возобновить прогон пополнив или подняв траты». Тело ноты не переписано (`D23.3`).
|
||||
> ⚠ **Эррата 11.09-и (`D39.251` п.7 и ряд 428, слово «пере-оплата» о $0.028742) — НАЗВАНИЕ БЫЛО НЕВЕРНЫМ,
|
||||
> и опровергает его замер, а не мнение.** Я назвал вторую покупку терминологии на резюме «пере-оплатой
|
||||
> ПРИНЯТОЙ работы», то есть деньгами за уже сделанное. Замер сессии прогона B, пере-снятый мною независимо:
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@
|
|||
| Семантика `--ceiling-usd` | D39.122 п.2в; `backend/cmd/tmctl/invocation.go:142`=`the book USD ceiling in force for THIS RUN ONLY`, `backend/cmd/tmctl/main.go:261`=`--ceiling-usd is NOT a per-run budget` |
|
||||
| Формула аргумента потолка (без reserved) · ставка · settle-формы | D39.123 п.2б/г/д; PD-158/PD-159/PD-144 в реестре |
|
||||
| Код денег платформы | `platform/internal/pgstore/credits.go` · `pgstore/runs.go` · `runs/spawn.go` · `runs/reconcile.go` · `pricing/pricing.go` |
|
||||
| Ратификации, на которых стоит этот док | ⚠ **добавлены 05.09: `D39.203`** (владелец: движку МОЖНО говорить «сколько добавить»; наружу идёт ДО-ВЫЗОВНАЯ ОЦЕНКА, не стоимость) · **`D39.204`** (отказ резервации на ретрае деградирует во ФЛАГ; решение принято, код НЕ тронут — строка 291) · **`D39.206`** (акт приёмки денежного стопа). ⚠ **И новые движковые денежные носители того же лендинга:** `backend/internal/pipeline/reservegate.go` (шлюз резерваций и `shortfallMicroUSD`) · `priceprojection.go` (проекция цены книги) · `internal/runevents/runevents.go` (`Ceiling.ShortfallMicroUSD`, `Finished.Money`, поток 1.3). · **D39.179** (пере-пин цен 16.08, ×4.47; норма «стабилен чистый ФАЙЛ» — п.4) · **D39.181** (закон раскрытия: признак объёмного стопа едет числом) · **D39.182** (пак «деньги и честность»: план банк-ролей режется до первого вызова; порог согласия без контура банк-ролей) |
|
||||
| Ратификации, на которых стоит этот док | ⚠ **добавлены 05.09: `D39.203`** (владелец: движку МОЖНО говорить «сколько добавить»; наружу идёт ДО-ВЫЗОВНАЯ ОЦЕНКА, не стоимость) · **`D39.204`** (отказ резервации на ретрае деградирует во ФЛАГ; решение принято, код НЕ тронут — строка 291; ⚠ испр. 15.09: конструкция пере-решена владельцем 11.09 — СТАНДАРТНАЯ ОСТАНОВКА с меткой позиции и недостачей в кадре `ceiling`, а не флаг; «Эррата 15.09-а») · **`D39.206`** (акт приёмки денежного стопа). ⚠ **И новые движковые денежные носители того же лендинга:** `backend/internal/pipeline/reservegate.go` (шлюз резерваций и `shortfallMicroUSD`) · `priceprojection.go` (проекция цены книги) · `internal/runevents/runevents.go` (`Ceiling.ShortfallMicroUSD`, `Finished.Money`, поток 1.3). · **D39.179** (пере-пин цен 16.08, ×4.47; норма «стабилен чистый ФАЙЛ» — п.4) · **D39.181** (закон раскрытия: признак объёмного стопа едет числом) · **D39.182** (пак «деньги и честность»: план банк-ролей режется до первого вызова; порог согласия без контура банк-ролей) |
|
||||
| Код денег движка | `backend/internal/store/ledger.go` · `store/store.go` · `pipeline/stagerun.go` · `pipeline/status.go` · `config/book.go` · `pipeline/rebill.go` (согласие на пере-оплату) · `pipeline/terminologist.go` (книго-широкие бюджеты банк-ролей) · `pipeline/volume.go` (объёмный потолок) |
|
||||
| Дефекты денег | `platform/docs/DEFECT_REGISTER.md` (PD-104·113·144·157·158·159) |
|
||||
| Бэклог-строки | `docs/BACKLOG.md` строки 136 · 137 · **377** · **382** (⚠ 78 ЗАКРЫТА 10.09 актом `D39.232`) (⚠ испр. 05.09: **166 отсюда СНЯТА** — движковая половина оценки построена и опубликована лендингом `81a89e9`; открыта только платформенная) (135 и 165 закрыты D39.131) |
|
||||
|
|
@ -116,7 +116,7 @@
|
|||
3. **Менять надо ТРАКТОВКУ ОТКАЗА**, а не наличие резервации: «не начинаем новое» вместо «гасим всё».
|
||||
|
||||
⛔⛔ **ЭРРАТА 05.09 — ВСЁ НИЖЕ ОПИСЫВАЕТ ДВИЖОК ДО ПАКА «ДЕНЕЖНЫЙ СТОП» (приёмочный `81a89e9` + дофикс `616a8e4`, акт приёмки **D39.206**; ⚠ испр.: раньше здесь стояла D39.203 — это нота ВЛАДЕЛЬЦА про «сколько добавить», а не акт, и назван был только дофикс-коммит). Порог «книга короче десяти глав не переводится» СНЯТ ЛЕНДИНГОМ.** Стена стояла на том, что отказ ОДНОГО воркера ронял ВСЮ волну ⇒ резервы всех четырёх обязаны были уместиться в потолок разом. Пак это и чинил (его промт `docs/archive/prompts/BACKEND_MONEYSTOP_SESSION_PROMPT_2026-09-05.md` называл порог целью): отказ ЗАЩЁЛКИВАЕТ волну — новое не стартует, допущенное дорабатывается, — а обязательный вызов ЖДЁТ settle, когда settle может помочь. Пины: `backend/internal/pipeline/moneystop_test.go`, греп `TestUnderACeilingTheWaveFinishesWhatItAdmitted` и `TestWaitingForHeadroomDeliversTheWholeBook` («a ceiling that admits one call AT A TIME must still deliver the book»).
|
||||
⇒ **Честное состояние на 05.09:** движок больше НЕ требует, чтобы вся волна умещалась в потолок; короткая книга идёт по одному вызову. Остаточный пол — ОДНА резервация (`step_max_usd` ≈ $0.07 ⇒ ~3 главы по ставке $0.03; до ИСПОЛНЕНИЯ `D39.204` удвоение на ретрае поднимает это до ~5 — ⚠ решение владельца принято 05.09, но КОД ещё не тронут, работа заведена строкой 291). ⚠ **Новый порог ВЫВЕДЕН, НЕ ЗАМЕРЕН** — отчёт пака называет это честно (`backend/docs/MONEYSTOP_REPORT.md` §9: цена защёлки не замерена, числа проекции с фактом не сверены). Замер стоит одного $0.15-прогона пятиглавой книги и передан полигону. ⚠ **Испр. 10.09: платформенная половина (потолок ДЕНЬГАМИ, D39.196) ПОСТРОЕНА, и прежний отрицательный замер здесь протух.** Та же команда сегодня: `git grep -lE "StepMax|step_max" -- platform/` → **20 файлов** (контроль: несуществующий токен — 0; файлов под `platform/` в индексе — 339), среди них боевые `platform/internal/pricing/pricing.go` (греп `func (m Model) Hold`), `platform/internal/ingest/manifest.go`, `platform/internal/pgstore/books.go`. Холд считается ИМЕННО на этих числах. ⚠ Строка **63** этого же файла предупредила об этом ещё 07.09 («вторая пережила лендинг `81a89e9`»), а фраза стояла — то есть предупреждение в доке само по себе не чинит дока.
|
||||
⇒ **Честное состояние на 05.09:** движок больше НЕ требует, чтобы вся волна умещалась в потолок; короткая книга идёт по одному вызову. Остаточный пол — ОДНА резервация (`step_max_usd` ≈ $0.07 ⇒ ~3 главы по ставке $0.03; до ИСПОЛНЕНИЯ `D39.204` удвоение на ретрае поднимает это до ~5 — ⚠ решение владельца принято 05.09, но КОД ещё не тронут, работа заведена строкой 291; ⚠ испр. 15.09: по «Эррате 15.09-а» исполнение превращает отказ на ретрае в штатную остановку с меткой позиции и недостачей, а не во флаг с отгрузкой, — поэтому «до исполнения» больше не значит «после исполнения пол ниже»: снимается невидимость оплаченной половины работы, а не сам пол). ⚠ **Новый порог ВЫВЕДЕН, НЕ ЗАМЕРЕН** — отчёт пака называет это честно (`backend/docs/MONEYSTOP_REPORT.md` §9: цена защёлки не замерена, числа проекции с фактом не сверены). Замер стоит одного $0.15-прогона пятиглавой книги и передан полигону. ⚠ **Испр. 10.09: платформенная половина (потолок ДЕНЬГАМИ, D39.196) ПОСТРОЕНА, и прежний отрицательный замер здесь протух.** Та же команда сегодня: `git grep -lE "StepMax|step_max" -- platform/` → **20 файлов** (контроль: несуществующий токен — 0; файлов под `platform/` в индексе — 339), среди них боевые `platform/internal/pricing/pricing.go` (греп `func (m Model) Hold`), `platform/internal/ingest/manifest.go`, `platform/internal/pgstore/books.go`. Холд считается ИМЕННО на этих числах. ⚠ Строка **63** этого же файла предупредила об этом ещё 07.09 («вторая пережила лендинг `81a89e9`»), а фраза стояла — то есть предупреждение в доке само по себе не чинит дока.
|
||||
⚠ **Класс ошибки, ради которого эррата написана так подробно: оркестратор заленджил пак, чей промт заказывал снятие этой стены, принял его — и в тот же час предупредил владельца о стене как о действующей, читая ЭТОТ абзац.** Канон, не обновлённый лендингом, врёт громче, чем отсутствующий.
|
||||
|
||||
**ЧИСЛА, В КОТОРЫХ ЧТЕНИЯ РАСХОДИЛИСЬ (ДО-ПАКОВАЯ АРХЕОЛОГИЯ) — и оба верны на своём числе воркеров.** Зона платформы: стена
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
|
||||
| Зона | Промт | Сессия | Состояние |
|
||||
|---|---|---|---|
|
||||
| бэкенд | `BACKEND_BOUGHT_MEANS_DELIVERED_SESSION_PROMPT.md` | **textmachine-b1** | ✅ **ВЫДАН 11.09** после опровергателя (21 утверждение проверено, 4 опровергнуто, 4 умолчания дописаны); жду эхо |
|
||||
| бэкенд | `BACKEND_BOUGHT_MEANS_DELIVERED_SESSION_PROMPT.md` | ~~textmachine-b1~~ → свежая | ⛔ **СЕССИЯ b1 ПОТЕРЯНА 15.09** при переезде окружения (`textmachine-main-b1` — пустая сессия владельца, НЕ b1). Пак не завершён: круги не сошлись, нет «Чисел», таблицы мутаций, строки завершения. Сдача — в индексе main (sha `git diff --cached --binary` = `166997963c95…`), бэкап `~/tm-b1-orphan-index.patch`, копия только для чтения `~/tm-b1-orphan`; гейт на копии зелёный (19 ok · 0 FAIL · lint 0 · 9 скипов · 23/23). Передача — разделом ред. 5 того же промта; опровергатель к нему сошёлся за три круга (21 → 3 мажора → 0 мажоров, шесть миноров последнего внесены); выдан 15.09 сессии `textmachine-main-b1` словом владельца «выдай ему», confirm по слову 11.09 получен (эррата 15.09-а); жду эхо |
|
||||
| платформа | — | — | 🟢 **СЛОТ СВОБОДЕН** — пак принят актом `D39.250`, минор 0.15.0 |
|
||||
| полигон | — | — | ⛔ **ЗАКАЗ СНЯТ ВЛАДЕЛЬЦЕМ 11.09** («полигон не надо выдавать»); промт готов и лежит, пере-выдача — только его словом |
|
||||
| сквозной (вне кодовых зон) | — | — | ✅ **ЗАКРЫТ актом `D39.252`** 11.09; промт в архиве с баннером. Стенд поднят до конца приёмки, гасить по pid |
|
||||
|
|
@ -102,8 +102,9 @@ UNKNOWN 1 — её, дошёл один раз до правок; десять
|
|||
| 6 | ~~полигон~~ | ремонт прибора | — | — | ⛔ **СНЯТ: зона вне скоупа словом владельца**, промт в архиве |
|
||||
| 7 | платформа | ответ, не зависящий от везения (`PD-448` · `162` · `466` · `139`) | textmachine-37 | ✅ своими словами, 3 опасности + возражение | ✅ закрыт актом `D39.250`, минор 0.15.0 |
|
||||
| 8 | бэкенд | за одну единицу платим дважды | textmachine-61 | ✅ своими словами, 4 возражения — и первое ПЕРЕВЕРНУЛО посылку пака | ✅ закрыт актом `D39.251` с дофиксом |
|
||||
| 9 | бэкенд | купленное доставлено (ряд 291 + приложение 379) | textmachine-b1 | ждётся | выдан 11.09 |
|
||||
| 9 | бэкенд | купленное доставлено (ряд 291 + приложение 379) | textmachine-b1 | — | ⛔ сессия ПОТЕРЯНА 15.09 при переезде окружения, пак не завершён → строка 11 |
|
||||
| 10 | сквозной | ХОЛОДНЫЙ ПРОГОН B, платный, с вычиткой всего текста | textmachine-82 | ✅ своими словами, 5 опасностей — три исправили промт | ✅ **ПРИНЯТ актом `D39.252`**, факт $0.396657 |
|
||||
| 11 | бэкенд | ДОВОДКА пака 9 после потери сессии — раздел ПЕРЕДАЧИ ред. 5 того же промта | textmachine-main-b1 | ждётся | выдан 15.09 после трёх кругов опровергателя (21 → 3 мажора → 0) и confirm владельца |
|
||||
|
||||
⛔ **ПОЛИГОН СНЯТ ВЛАДЕЛЬЦЕМ 11.09.** Я предлагал пак трижды — `ed`, `5c` (обе отработавшие, отказались ПО НОРМЕ и были правы) и свежей `37`, — после чего владелец сказал «полигон не надо выдавать». Выдача `37` ОТОЗВАНА тем же часом. ⚠ Урок не про полигон: **я трижды искал адресата для заказа, приоритет которого не подтверждал у владельца.** Слот зоны свободен ≠ работу зоны надо заказывать.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue