textmachine/docs
2026-09-16 22:02:07 +03:00
..
architecture Close the last canon anchors: three tokens and three moved onto the lines their prose names 2026-09-16 22:02:07 +03:00
archive Refuse a run whose target has no injection texts before it buys anything, split a role's refusal from garbage, and add the two contested-term predicates with their harness 2026-09-16 21:10:34 +03:00
experiments Convert the tech-debt anchors to token form, note the moved targets in the frozen report and the consilium result, and record the refusal-sentinel divergence 2026-09-16 17:48:32 +03:00
research Refuse a run whose target has no injection texts before it buys anything, split a role's refusal from garbage, and add the two contested-term predicates with their harness 2026-09-16 21:10:34 +03:00
scripts Divide the money by the copies that multiplied it, let the shape gate see the row it was blinded on, and stop the order asking for an effort step that does not exist 2026-09-11 14:57:52 +03:00
BACKEND_WHAT_THE_BANK_IS_MADE_OF_SESSION_PROMPT.md Add the bank memory consilium prompt with its archived evidence, mark the earlier bank design withdrawn, and point the plan and prompt table at it 2026-09-16 00:34:59 +03:00
BACKLOG.md Give seven more anchors their expectation tokens across the backlog and the decisions log 2026-09-16 21:42:47 +03:00
BANK_MEMORY_CONSILIUM_SESSION_PROMPT.md Correct four facts in the bank consilium prompt and its evidence README: reasoning visibility, what is mined from the source, a number's carrier, and a quote's subject 2026-09-16 04:33:58 +03:00
DOC_CLEANUP_PLAN.md Bring the entry paths in line with the repository they describe: the map, the glossary, the requirements register, the stack notes and three live prompts. 2026-09-10 22:00:55 +03:00
glossary.md Record what a call's reasoning cost, name and count the generations that came back with nothing, and add the lower effort step behind a key that ships off 2026-09-11 21:19:55 +03:00
NEAR_TERM_PLAN.md Refuse a run whose target has no injection texts before it buys anything, split a role's refusal from garbage, and add the two contested-term predicates with their harness 2026-09-16 21:10:34 +03:00
orchestrator-norms-scratchpad.md Refuse a run whose target has no injection texts before it buys anything, split a role's refusal from garbage, and add the two contested-term predicates with their harness 2026-09-16 21:10:34 +03:00
ORCHESTRATOR_SESSION_PROMPT.md Say that an anomaly can be about the instrument rather than the subject, that a catalogue grep misses catchers, and that two runs compete instead of summing 2026-09-11 15:33:47 +03:00
product-requirements.md Bring the entry paths in line with the repository they describe: the map, the glossary, the requirements register, the stack notes and three live prompts. 2026-09-10 22:00:55 +03:00
PROGRESS.md Close the catalogue run with its number, and correct the acceptance note's own book count that was borrowed rather than measured 2026-09-16 21:21:05 +03:00
README.md Refuse a run whose target has no injection texts before it buys anything, split a role's refusal from garbage, and add the two contested-term predicates with their harness 2026-09-16 21:10:34 +03:00
STACK.md Bring the entry paths in line with the repository they describe: the map, the glossary, the requirements register, the stack notes and three live prompts. 2026-09-10 22:00:55 +03:00

TextMachine — документация

Проект: издательский художественный перевод крупных текстов (книги, ранобэ, вебновеллы) мультиагентным пайплайном поверх LLM API; пара языков — данные, не код, сегодня боевая zh→ru. Go-бэкенд + веб-фронт ридер-IDE (Ф3) + платформа (SaaS control plane, platform/, D39.81). Цели и мерило — канон в ../CLAUDE.md; онбординг сессий — там же. Стартовый бриф владельца: ../START_PROMT.MDживой документ, его V-идеи разобраны в реестр требований (ниже).

Состояние проекта НЕ здесь — кроме таблицы активных промтов ниже, и это осознанное исключение: она отвечает на вопрос «какой файл мой», без которого холодная сессия выбирает роль сама (проверено слепым замером входа). Всё остальное состояние — Очередь и курс — CURRENT-STATE в шапке PROGRESS.md, а долг — единый бэклог BACKLOG.md; решения — architecture/05-decisions-log.md (при конфликте с любым доком побеждает он). Эта страница — только карта «что где лежит».

Карта

  • glossary.md — жаргон и сокращения (D-номер, паки, банк, голден, K/DC/H/L…) одним экраном.

  • product-requirements.md — реестр «что продукт обязан уметь»: производное живого брифа владельца и его находок, статусы сверены кодом.

  • architecture/ — синтез и контракты:

    • 05-decisions-log.mdисточник истины по решениям: ратифицированный контракт, при конфликте побеждает он. Дисциплина чтения (грепать номер, не читать целиком, баннер прежде тела) — в каноне ../CLAUDE.md, здесь не дублируется. Статус и тело ЛЮБОГО номера одним хопом — реестр 05-decisions-index.md (все ноты, колонка тем для грепа «какой закон по X»).
    • 09-target-architecture.md — целевая 7-слойная архитектура (статус стройки — шапка-таблица; §3 — карта находок H/L) · 10-prompt-architecture.md — промпт-слой · 12-go-style-notes.md — норматив общности §0 · 13-tech-debt-anchors.md — якоря техдолга + археология выселенных строк бэклога §Б-* (справочник к бэклогу, НЕ трекер) · 14-api-contract/контракт API v0 фронт↔платформа (D39.99): нормативная спека OpenAPI 3.1 (типы фронта генерятся из неё) + компаньон-README с провенансом каждой строки (легенда — в нём самом; зонная копия frontend/docs/api-contract/ ОТСТАЛА на 0.2.3 при каноне 0.10.0 (испр. 05.09; ⚠ версию канона брать ФАЙЛОМ — grep '^ version:' architecture/14-api-contract/openapi.yaml, число здесь стареет) и зеркалом сегодня НЕ является — зона заморожена, синк при разморозке; читать ТОЛЬКО канон).
    • Топикальные входы (D39.126; НЕ источники истины, при конфликте побеждает D-лог): 15-money-path.md — деньги от гранта до settle одним маршрутом · 16-events-emitter.md — сборка-норматив эмиттера шва — обязательное пре-чтение перед кодом эмиттера · 17-seam-inbound-law.md — закон ВХОДНОЙ двери шва движок↔платформа — РАТИФИЦИРОВАН D39.156: семь пунктов дисциплины, двери встают паками без нового решения владельца · 18-bank-ontology.md — онтология банка памяти (РАТИФИЦИРОВАНА D39.158): три роли носителей, единственные писатели, дисциплина проекции — обязательное пре-чтение перед кодом, трогающим банк или его артефакты · STACK.md — карта «роль → модель → конфиг → квирки».
    • Исторические, читать через ⚠-баннеры: 01-decisions.md (Р1Р10) · 02-mvp-plan.md · 03-implementation-notes.md · 04-unhappy-paths.md · 06-memory-risk-registry.md.
  • experiments/ — эмпирика полигона: 00-provider-quirks.mdчитать перед любым вызовом провайдера; 08-cost-model-v2.md — денежная модель; 09-pilot-protocol.md — пилот Ф2.5; остальные — отчёты экспериментов. ⚠ У каждого отчёта статус в его ревью-шапке: читай шапку прежде тела — она первична и говорит, ратифицированы выводы или заморожены.

  • research/ — фактура ресёрчей; у принятых — ревью-шапки, часть тел под ⚠ superseded: читай баннер прежде содержимого. Ключевые для навигации: 15 голос · 16 ридер-IDE · 17 внешняя критика · 18 рычаги качества · 19 нарезка · 20 банк-майнинг · 21 обзор транспорта · 22 доменные харнессы · 23 шов движок↔платформа · 25 холодное ревью шва — читать перед любым кодом стыка · 24 арбитраж банка · 26 официальные практики Anthropic · 28 контракт-ревью API v0 — носитель для исполняющих сессий, читать оригинал, не пересказ · 27 детекция глав · 33 техдолг бэкенда — основание курса перекроя; диспозиции ратифицированы D39.224, адреса §3 читать через эррату шапки · 35 консилиум по банку памяти — решение, выработанное советом агентов: что банк есть, как проходят восемь проблем, цена каждого шага, порядок относительно перекроя глав и пять вопросов владельцу; принят актом D39.253 с дофиксом и названным остатком · 34 банк памяти и качество перевода — что механизм консистентности держит, чего не держит и что доработать; читать через ревью-шапку (14 находок из 15 отвергнуты верификацией по ВЕСУ, синтез написан после неё).

  • PROGRESS.md — журнал: CURRENT-STATE + состояние паков + живой хвост хроники и зонные секции «Бэкенд»/«Полигон». НЕ источник решений.

  • BACKLOG.mdЕДИНЫЙ БЭКЛОГ проекта (единственный трекер; «строка N» — стабильный ID). Вынесен из PROGRESS.md 06.09 (D39.218; исключение из дословности названо в шапке того файла); зонные бэклоги — свои и с другими ID (П-N, Ф-N, PD-N).

  • Тулчейн на чистой машине. Версии не здесь — их носители: backend/Makefile и platform/Makefile (GO_MIN_VERSION, GOLANGCI_VERSION), frontend/package.json (engines), platform/docs/STACK_DECISIONS.md §«Postgres на стенде без root», eval/requirements.txt + eval/.python-version. Здесь только то, чего нет нигде: ставим в ~/.local/opt/<инструмент> с симлинком в ~/.local/bin (он уже в PATH), берём последний патч пинованного минора, а не следующий минор — линтер пинован точным равенством и разъедется. Root требуют ровно два пакета: build-essential (без C-компилятора нет -race, а снять -race значит выдать отсутствие тулчейна за зелёный прогон — см. комментарий над целью test в backend/Makefile) и python3-venv (в системном питоне нет ensurepip, и установка полигона по eval/README.md обрывается на первом шаге).

  • orchestrator-norms-scratchpad.mdрабочий чек-лист смены №23: стоячие правила владельца на луп, механическая сверка перед выдачей промта и перед лендингом, живая раскладка слотов зон и журнал выдач. ⚠ Копий норм не несёт — они в ORCHESTRATOR_SESSION_PROMPT.md; умирает вместе с очередью.

  • NEAR_TERM_PLAN.mdгоризонт на 35 ближайших промтов: порядок, зоны и чем каждый заперт. Рабочая записка оркестратора, живёт до исполнения. ⚠ Не трекер и не реестр: долг — в BACKLOG.md, решения — нотами.

  • scripts/counts.pyпроизводные числа доков считаются им, а не руками (голова по трём носителям · счёт очереди и зон · вес открытых строк регистра платформы · полнота реестра нот); --check даёт ненулевой код на расхождении; --lint — линтер file:line-якорей живых доков (D39.126). Его же зовёт зонный хук scripts/githooks/pre-commit: --lint якорей — при ЛЮБОМ коммите с непустым индексом, включая коммиты чистого КОДА (гейт по составу снят 21.08: цели якорей живут в коде, и двигает их кодовый коммит; шумовое следствие — строка бэклога 244); --check чисел и головы — только при коммите с D-логом или PROGRESS (оба --from-index, предупреждает, не блокирует). ⚠ Гейт бутстрапится ЧУЖОЙ зоной — это ДЕФЕКТ, а не порядок работы (строка бэклога 220): судит он CLAUDE.md и доки трёх зон, а в .git/hooks/ его кладёт единственный установщик frontend/scripts/githooks/install.mjs, то есть побочный эффект npm install в зоне, которая ЗАМОРОЖЕНА. На свежем клоне .git/hooks/ пуст и гейт молчит, не проверив ничего. Пока строка открыта, бутстрап делается руками (node frontend/scripts/githooks/install.mjs) — и это ВРЕМЕННАЯ мера, которую строка 220 закрывает, а не способ жить дальше. ⚠ Шапка систематически отстаёт от хвоста у ЛЮБОГО автора — потому проверка механическая, а не «посмотрю внимательно».

  • Активные хендофф-промты — какой файл ТВОЙ (состав обновляется при каждом лендинге, D39.80; хроника, причины и статусы РАБОТ — CURRENT-STATE и D-лог):

    Роль Активный промт Статус
    Бэкенд · БАНК ЗА $0 активного НЕТ пак ОТРАБОТАН и ПРИНЯТ 16.09 С НАЗВАННЫМ ОСТАТКОМ — акт D39.257; промт в archive/prompts/ с баннером-исходом. 29 путей, $0. Посылка D39.256 перестала быть посылкой: 25 из 26 смен при идентичном входе. Мажоры — сдвинутые якоря (ряд 467) и арм по чужому знаменателю (ряд 462). ⚠ Остаток: полный прогон каталога мутаций (267) на момент акта не закончен. Слот бэкенда СВОБОДЕН
    Бэкенд · КУПЛЕНО — ЗНАЧИТ ДОСТАВЛЕНО активного НЕТ пак ОТРАБОТАН и ПРИНЯТ 16.09 С НАЗВАННЫМ ОСТАТКОМ — акт D39.255; промт в archive/prompts/ с баннером-исходом. Лендинг af88680, 29 путей, $0. Закрыты строки 291 и 379 (вторая — ЗАМЕРОМ: мутант 8/8 против 7/8 в ряду). Пак пережил ПОТЕРЮ сессии: textmachine-b1 построила почти всё и исчезла при переезде окружения, доводила textmachine-main-b1 разделом ПЕРЕДАЧИ ред. 5. ⚠ Остаток — строки 375 · 232 · 453456; три опубликованных ключа качества сменили смысл (п.5 акта). Слот бэкенда СВОБОДЕН
    Сквозной · ХОЛОДНЫЙ ПРОГОН B активного НЕТ пак ОТРАБОТАН и ПРИНЯТ 11.09 — акт D39.252; промт в archive/prompts/ с баннером-исходом. Книга второй раз от двери до ФАЙЛА, факт $0.396657. Две меры денежной дыры разошлись в РАЗНЫЕ стороны на одних данных; 85.7 % оплаченного выхода — размышление, а не текст. Прибор приоритета №1 солгал вердиктом по подписанному имени героя. Качество впервые судилось по ОРИГИНАЛУ рядом с переводом: 26 находок, 1 крит
    Оркестратор ORCHESTRATOR_SESSION_PROMPT.md роль и нормы; счётчик роли — CURRENT-STATE
    Консилиум · БАНК ПАМЯТИ ДЛИННОЙ КНИГИ BANK_MEMORY_CONSILIUM_SESSION_PROMPT.md пак ОТРАБОТАН и ПРИНЯТ 16.09 С ДОФИКСОМ И ОСТАТКОМ — акт D39.253; итог — research/35-bank-memory-consilium.md, ход работы и таблица проверки — research/35-bank-memory-consilium/00-protocol.md. Сдан по правилу остановки (три круга: 2·21·34 → 0·16·17 → 1·7·13); приёмка — пять осей вне консилиума, 50 находок, дофикс и узкий закрывающий круг. Пять вопросов владельцу — §6 итога. Не пак кодовой зоны: совет агентов (Fable 5 — 12), $0 по моделям проекта, пишет только research/35-bank-memory-consilium.md и одноимённый каталог. Входы — archive/reports/BANK_CONSILIUM_INPUTS_2026-09-15/: отозванный проект оркестратора и сверка того, что репозиторий уже решил и построил по банку
    Бэкенд · ДВЕ ОСТАНОВКИ активного НЕТ пак ОТМЕНЁН ВЛАДЕЛЬЦЕМ 10.09 до лендинга — акт D39.240; промт в archive/prompts/ с баннером. Причина — размах правки, не качество. ⚠ Предмет ЗАМЕНЁН и сузился: остановка остаётся жёсткой, деньги терять допустимо, но она обязана быть КОРРЕКТНОЙ (без гонок, без половинчатых состояний, верное возобновление). Пак успел купить D39.236D39.238 и строку 385
    Платформа · ДВЕ ОСТАНОВКИ активного НЕТ пак ОТМЕНЁН ВЛАДЕЛЬЦЕМ 10.09 до лендинга — акт D39.240; промт в archive/prompts/ с баннером. Причина — размах правки, не качество. ⚠ Предмет ЗАМЕНЁН и сузился: остановка остаётся жёсткой, деньги терять допустимо, но она обязана быть КОРРЕКТНОЙ (без гонок, без половинчатых состояний, верное возобновление). Пак успел купить D39.236D39.238 и строку 385
    Бэкенд · ВЫЗОВ, КОТОРЫЙ ОБОРВАЛИ МЫ активного НЕТ пак ОТРАБОТАН и ПРИНЯТ 10.09 — акт D39.232 (3f05fab, 28 путей, $0); промт в archive/prompts/ с баннером-исходом. Движок перестал платить дважды за одну генерацию; закрыты строки 360 · 369 · 78. Восемь кругов ревью; приёмка двумя рубежами нашла пять выживших мутаций на носителях ВИДИМОСТИ денег. Живое из остатков — 375 · 376 · 377 (⚠ форма испр. 10.09: здесь стоял ДИАПАЗОН «374377», а 374 закрыта — диапазон о закрытии ряда внутри себя не узнаёт, поэтому в этой таблице только перечисления)
    Бэкенд · ДВИЖОК УЖЕ ЗНАЕТ активного НЕТ пак ОТРАБОТАН и ПРИНЯТ С ДВУМЯ ДОФИКСАМИ 08.09 — акт D39.228 (2b6f1f4, 21 путь); промт в archive/prompts/ с баннером-исходом. Закрыты строки 355 · 357 · 358; у 253 и 312 закрыта ДВИЖКОВАЯ половина, платформенная жива (испр. 08.09 по кросс-модельному ревью: акт объявил обе закрытыми целиком). Живое из не взятого — 362 (ремонт против ремонта, 77 % денег чанка) и 363 (текстовый сайдкар молчит о неполноте); 360 ждёт слова владельца по денежной половине
    Бэкенд · КОНСИСТЕНТНОСТЬ активного НЕТ пак ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 07.09 — акт D39.222; промт в archive/prompts/ с баннером исхода. Строки 267 и 318 закрыты, у 320 исполнена половина (а). Живой остаток зоны ЗАКРЫТ актом D39.226 (строки 333338); живое — 353 · 354 · 356 · 359 (⚠ форма испр. 10.09: стоял диапазон «353359», а 355 · 357 · 358 закрыты)
    Бэкенд · ПРАВДА ОПЕРАТОРУ И ДЕНЬГИ активного НЕТ пак ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 08.09 — акт D39.226, живой платный прогон; промт в archive/prompts/ с баннером-исходом
    Бэкенд · ГЕЙТ ВМЕСТО ПРОЗЫ активного НЕТ пак ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 07.09 — акт D39.225; промт в archive/prompts/ с баннером-исходом
    Бэкенд · КОНСИСТЕНТНОСТЬ, КОТОРУЮ МОЖНО ПРЕДЪЯВИТЬ активного НЕТ пак ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 11.09 — акт D39.249 (0997e41, 26 путей, $0); промт в archive/prompts/ с баннером-исходом. Приоритет №1 впервые ИЗМЕРИМ по отгруженному тексту. Первый круг приёмки — шесть выживших посадок из шести; порядок колонок ратифицирован и отменён в тот же день (правило и два триггера — ряд 406). Каталог 169/169 RED, выживших 0. Живое: 407 и 419 наполовину · 408 с опровергнутым мотивом · 409 не тронут · новые 425427 · 428 · 431 · 432
    Бэкенд · СТРУКТУРА ГЛАВ (ДИЗАЙН) активного НЕТ пак ОТРАБОТАН и ПРИНЯТ 11.09 БЕЗ СХОДИМОСТИ, правилом остановки — акт D39.245 (1d2fab6, 3 пути, $0); результат — backend/docs/CHAPTER_STRUCTURE_DESIGN.md (2062 строки), статус ПРЕДЛОЖЕНИЕ до пака стройки. Глава становится ИДЕНТИЧНОСТЬЮ; предметная часть устояла в четырёх кругах опровержения, механика исполнения — нет, и пак стройки обязан начать с прогона миграционной механики ОПЫТОМ. Промт был — CHAPTER_STRUCTURE_DESIGN_SESSION_PROMPT.md, выдан 11.09 (актуализирован пятью врезками + 19 правок по опровергателю: мёртвые адреса, две таксономии осей, три «уже построено», собственная зона записи backend/docs/ с дизайном-оф-рекорд D15.2 и прибором shiftmap). ⚠ ПРОЕКТИРОВАНИЕ, НЕ СТРОЙКА (D39.136 п.3): дизайн окна большой пере-нарезки — чем адресуется глава и развязка чанкера (161) · карта осей сдвига · банк-окна на chapter-ID · контент-адресуемый resume D15.2 · IR/адаптеры/индуктор · правило заголовка и не-CJK путь (303) · гранулярность EPUB (302) и выдача (283). Снимает временный отказ интейка книге из одной главы (D39.221). Пак 1 «форматы и честный словарь» ОТРАБОТАН и ПРИНЯТ 06.09 — акт D39.210, промт в archive/prompts/. ⚠ ПАК 2 (лексиконы не-CJK, корпус, замер оракулом) — НЕ НАПИСАН и ждёт файлов владельца
    Бэкенд · ЗА ОДНУ ЕДИНИЦУ ПЛАТИМ ДВАЖДЫ активного НЕТ пак ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 11.09 — акт D39.251 (22 пути, +947/66, 8 новых тестовых, $0); промт в archive/prompts/ с баннером-исходом. Наблюдаемость двойной оплаты построена, лекарство лендится ВЫКЛЮЧЕННЫМ и достаёт один случай из четырёх — условие включения в ряду 433. Посылка промта была ПЕРЕВЁРНУТА и снята зоной ДО первой правки (empty ×3 = 89 % потери, не length); reasoning_tokens ронял НАШ адаптер, а не вендор.
    Бэкенд · отозванный активного НЕТ пак КАЧЕСТВО написан и ОТОЗВАН до выдачи 05.09 (archive/prompts/…_WITHDRAWN.md): предмет дешевле пака — точность чекера уже измерена, пере-снять её стоит одной команды. Следующий пак — СТРУКТУРА ГЛАВ (решение владельца 05.09 «любая книга любого формата»), пишется
    Бэкенд · прежний активного НЕТ пак «денежный стоп» ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 05.09 — акт D39.206 (81a89e9 + 616a8e4), промт в archive/prompts/ с баннером исхода. Следующая работа зоны — строки 291 (флаг вместо клина, D39.204) · 294 (форма «сколько добавить», D39.203) · 296 (точечная перегенерация по промаху глоссария, после 295)
    Платформа · ОТВЕТ, НЕ ЗАВИСЯЩИЙ ОТ ВЕЗЕНИЯ активного НЕТ пак ОТРАБОТАН и ПРИНЯТ С ДВУМЯ ДОФИКСАМИ 11.09 — акт D39.250 (711569d, 27 путей, 24 новых теста, $0), контрактный минор 0.15.0; промт в archive/prompts/ с баннером-исходом. Предмет ПЕРЕ-ОПРЕДЕЛЁН замером зоны ДО первой правки: не гонка, а ординарный путь. Оба денежных предохранителя проверены не тем прибором; лечением стал СНОС $0-рецепта, а не починка. Закрыты PD-448 · PD-466 · PD-162 · PD-139 · П-22 · П-23. Живое — эскроу П-18 и одно названное слепое пятно (адрес вызова не пинится изнутри набора, который на хосте не бежит)
    Платформа · ПРАВДА У ДВЕРИ активного НЕТ пак ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 11.09 — акт D39.246 (49f74d9, 15 путей, $0). PD-455 закрыт, PD-162 наполовину у обеих денежных дверей, PD-448 разобран и НЕ построен (четвёртый путь принят направлением, строит следующий пак вместе с минором 0.15.0). Приёмка нашла два дефекта ВНЕ карты автора: выживший мутант на единственной проводке BooksDir и тихо-зелёное в самом новом гейте. Живое — PD-162 (эскроу), PD-466, PD-139. Промт был — PLATFORM_TRUTH_AT_THE_DOOR_SESSION_PROMPT.md, выдан 11.09: PD-455 (форма обещает то, в чём дверь откажет — точка роста Blocked.code, не закрытый enum вердикта) · PD-448 (двойной клик по «продолжить» — исследуй и предложи, НЕ строй: все три законных пути требуют контрактного минора или миграции) · PD-162 (прогон книги с исчезнувшим каталогом висит с холдом — валидация каталога ПРИ ДОПУСКЕ). Свип сирот и потолок аплоадов СНЯТЫ подписанным пропуском: их гейт — открытая регистрация, которой в закрытой бете нет (PD-175 + D39.176 п.1)
    Платформа · РАЗРЕЗ ПРИЁМА И ПРАВДА О СЕБЕ активного НЕТ пак ОТРАБОТАН и ПРИНЯТ 08.09 — акт D39.229 (ddcbf0c, 26 путей, $0); промт в archive/prompts/ с баннером-исходом. Синхронный вход разреза под потолком, граница хвоста выведена из кода, зонный журнал и регистр приведены к правде (открытых 112 → 109, major 3 → 1). Живое из не взятого — строка 364 (потолок разрезов не есть потолок процессов движка)
    Платформа · ДЕНЬГИ И ПРАВДА активного НЕТ пак ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 07.09 — акт D39.221, контрактный минор 0.13.0; промт в archive/prompts/ с баннером исхода. ⚠ Синхронный разрез приёма остановлен правилом остановки и заландён построенным, но НЕ готовым — десять пунктов несёт строка бэклога 332, и она же заказ следующему паку зоны; ложный инвариант бюджета заландён осознанно (окно 8 с при дефолте в 16 минутах)
    Платформа · ФОРМА ЗАКАЗА активного НЕТ пак ОТРАБОТАН, ПРИНЯТ С ДОФИКСОМ и ЗАЛЕНДЕН 06.09 — акт D39.208, код + канон 0.11.0; промт уведён в archive/prompts/ORDER_FORM_SESSION_PROMPT_2026-09-05.md с баннером исхода. ⚠ НЕ построено, хотя заказывалось: денежный ползунок на проводе объявлен, а отправить его нечем, и оценки под ВЫБРАННЫЙ заказ нет; «упрощение резюма» не сделано — обе позиции живут строками бэклога, брать их как новый пак СЛЕДУЮЩЕЙ сессии, не читать промт как задание
    Платформа · прежний активного НЕТ пак «пустить внутрь можно» ОТРАБОТАН и ПРИНЯТ С ДОФИКСОМ 05.09 — акт D39.201 (7e2226a + 3e84716), промт в archive/prompts/ с баннером исхода. Следующая работа зоны — строки 294 (зеркало словаря под минор потока) ⚠ (строка 293 — зона ОРКЕСТРАТОРА, не платформы: правило игнора общее для всех рабочих деревьев клона)
    Полигон активного НЕТ ЗОНА ВЫВЕДЕНА ИЗ СКОУПА СЛОВОМ ВЛАДЕЛЬЦА 11.09: «полигон это вообще не наш скоуп». Все четыре её промта уведены в archive/prompts/ с баннерами: РЕМОНТ ПРИБОРА (был готов и не выдан) · ХОЛОДНЫЙ ПРОГОН A (ОТРАБОТАН и ПРИНЯТ актом D39.247 — строка 16 закрыта замером, книга доведена до файла за $0.419424) · фаза Д · хендофф фазы Д. ⚠ Инструкции оттуда НЕ исполнять; пере-открытие — только новым словом владельца. Ссылки на эти файлы из журнала решений и старых отчётов НЕ правлены сознательно: тела нот не переписываются. Живое, что зона успела купить и что остаётся работой ДРУГИХ зон: ряды 413 (пин цены flash протух) · 414 · 415 (четверть денег купила пустоту) · 416 · 417 · 422
    Фронт активного НЕТ ЗОНА ЗАМОРОЖЕНА (D39.136 п.2 + D39.147: разморозка отдельным словом владельца, не привязана к P7); перечень первого касания — в зонном журнале
    Контракт активного НЕТ канон — architecture/14-api-contract/; ⚠ версию брать ФАЙЛОМ (grep '^ version:' openapi.yaml), не отсюда: миноры ратифицируются D-нотами и их содержание грепается по реестру нот.
  • Чужие зоны — фронт и платформа (читать при касании стыка; каждая ведёт СВОЙ зонный бэклог — единый бэклог их строк не принимает, D39.84): ../frontend/ — веб-интерфейс: зонный журнал docs/frontend-PROGRESS.md (прогресс зоны только там, D39.100) + промт фронт-сессий + STACK_DECISIONS.md (пины версий точными числами и ловушки) + BACKLOG.md · ../platform/ — SaaS control plane: README + BACKLOG.md + docs/ (зонный журнал platform-PROGRESS.md · регистр дефектов · STACK_DECISIONS.md с рецептом стенда и инвентарём каналов шва · ENGINEERING_STANDARDS.md — ратифицирован; КАЖДЫЙ промт платформенной сессии обязан на него ссылаться, отступление = пинг · PLATFORM_DIRECTION.md — ратифицированное направление зоны: аутентификация, деньги, стандарты, скорость · архив промтов).

  • archive/ — история (правила архива): закрытые промты (prompts/) · отчёты с ревью-шапками (reports/ — на них ссылаются приёмки) · исполненные арх-доки (architecture/) · слайсы хроники PROGRESS-*.md. Инструкции оттуда не исполнять.

  • Диаграммы: ../backend/docs/components.puml · ../backend/docs/pipeline.puml — дом рядом с кодом (D39.80), правятся бэкендом одним коммитом с кодом; не рендерить (гардрейл CLAUDE.md).

Ключи провайдеров

Имена переменных per-провайдер — поле api_key_env в backend/configs/models.yaml (носитель, который читает КОД, поэтому разойтись с реальностью резолва не может). У полигона свои дополнительные провайдеры — имена в его же скриптах, движковый носитель их не покрывает и не должен. Наполненность ключей — .env деплоя, его НЕ читать; при сомнении спрашивать владельца. ⚠ Ручной перечень здесь не держим: он уже лгал умолчанием — называл семь имён, когда в ходу было девять.