13 KiB
Промт бэкенд-сессии: КАЧЕСТВО БАНКА — этап 1 ресёрч+дизайн ($0), этап 2 стройка (по ратификации)
⚠ АРХИВ (02.08.2026): исполнен ОБОИМИ этапами и ПРИНЯТ — D39.69. Этап 1 ратифицирован владельцем напрямую; этап 2 построен той же сессией. Отчёт с ревью-шапкой:
../reports/BANK_QUALITY_DESIGN_2026-08-01.md. Фикс-лист — бэклог-строка 87; вопросы владельцу Q1–Q8 — строка 88. Инструкции отсюда НЕ исполнять.
Выдан 01.08.2026, оркестратор №9; санкция владельца D39.67/68. Ты — бэкенд-сессия TextMachine. Зона записи: backend/ + свой отчёт в docs/archive/reports/. НЕ коммитить — лендит оркестратор. Первый деливерабл — эхо-блок ≤10 строк (первым сообщением ДО работы: как понял скоуп/стоп-точки/$0/зону; продублируй шапкой отчёта; подтверждения не жди — СТОП только в конце этапа).
⚠ Денег — НОЛЬ. Платные вызовы моделей запрещены (развилка 74: DeepSeek-0731 покупает пустое, бьёт и терминолога). Все нужные платные пробы УЖЕ куплены и лежат в отчётах — не докупать. --resnapshot не запускать.
⚠ Параллельно может идти сессия пакета-чекеров (пишет backend/internal/checks + configs/langpacks + membank в части пост-чека #10 + харнесс labels). Твой этап 1 — read-only по коду (пишешь только отчёт-дизайн + разрешённый тест п.7), конфликтов нет. Этап 2 НЕ начинать без отдельного релея оркестратора (дерево общее; обычно — после лендинга пакета-чекеров, D39.68).
Глобальный критерий владельца (01.08 — мерило КАЖДОГО решения ниже)
Чистый архитектурный бэкенд, который легко писать и поддерживать, и который качественно выполняет свою задачу. Общность: «заработает ли на паре, которой в репо ещё НЕТ, без правки Go?» (пара-данные → данные). Механизм строится только там, где несёт качество/деньги — НЕ ради галочки бэклога.
МАНДАТ РЕВИЗИИ ПОСЫЛОК (обязателен, решение владельца 01.08)
Пункты ниже собраны свипом по критерию «мы это ЗАБЫЛИ» — но НЕ проверены по критерию «а НАДО ли это делать и нет ли решения ЛУЧШЕ». Это твоя работа. Для КАЖДОГО пункта в отчёте этапа 1 — вердикт-тройка: (а) посылка — из какого решения/замера растёт (D-номер/отчёт), верна ли она сегодня; (б) нужность — что сломается/потеряется, если НЕ делать (честно: если ничего — рекомендуй закрыть); (в) форма — лучшая из ≥2 рассмотренных альтернатив по глобальному критерию, с ценой (сложность/поддержка/снапшот-оси). Если замер/чтение бьёт по ПОСЫЛКЕ задачи — СТОП и вопрос через владельца, не тихий обход и не формальный артефакт (норма «оспаривать посылку»).
ШАГ 0 — карта чтения (в этом порядке)
CLAUDE.md→ CURRENT-STATE вdocs/PROGRESS.md(курс D39.67: «качество банка» = банк обязан приходить ВЕРНЫМ без ручной правки; подпись владельца опциональна — D39.59).- Факты-вход (ратифицированы, пере-мерять не надо):
docs/archive/reports/POLYGON_BANK_RAWMATERIAL_2026-08-01.md(замеры: нестабильность 43.3% · §C2-3 точна, но финал решает терминолог по KWIC 50/75 — веса НЕ тюнить, D39.65 · тип ненадёжен 12–22%, branch-harm 元石/元海 · Decl 142/142 null) иPOLYGON_BANK_PROBES_2026-08-01.md(проверенные живьём фиксы: со-батчинг серии = детерминированная унификация; сфокусированный тип-классификатор чинит 6/6 harm; §6 — советы с порядком ценности). docs/architecture/13-tech-debt-anchors.md— file:line-якоря по строкам 73/80/84 (что уже построено:InjectivityCollisions·AttachRubyAliasesToManual·repin.go/rebill.go).- D-лог по грепу: D39.65 (вход целиком) · D39.58 (холодный прогон, дыра 蛊 — строка 18) · D39.42/45 (терминолог/консолидация/пере-пин) · D39.63 (Р2/Р4-контракты). Бэклог-строки: 73 · 80 · 18 · 27 · 36а–36г · 84 · 86(feed_cap).
- Код:
backend/internal/terminology/·membank/(memory.go селекция/пост-чек; ⚠ пост-чек #10 однознаковых ключей СТРОИТ параллельная чекер-сессия — читай, не проектируй заново; её контракт придёт релеем) ·pipeline/terminologist.go/seeding.go/repin.go(feed_cap-претензия: гейт бюджета terminologist.go:256-264 при лексикографическом сорте :191). - Сырьё (read-only):
~/books/gu-zhenren/coldrun-a/(БД+артефакты холодного прогона) · готовый python-харнессeval/bank_autonomy/(parse_common и m21*/m22*/m36*).
ЭТАП 1 — ресёрч + дизайн (СЕЙЧАС; деливерабл = отчёт-дизайн, кода НЕ писать)
Спроектируй арку «банк приходит верным автономно» из механизмов ниже. По каждому — вердикт-тройка мандата + выбранный дизайн с интерфейсами/данными/снапшот-осями/тестами приёмки:
- Серия-батчинг (36в): ключ батчинга терминолога = кластер по общей исходной морфеме (НЕ хардкод 等/转 — общность!), вся серия в один вызов; детерминизм чекпойнта; отдельно — вопрос канон-пина родового слова между прогонами/книгами. Посылка: пробы §2.
- Тип-пере-вывод (36а): draft-тип не доверять; варианты — терминолог эмитит
typeиз контекста рядом с dst / отдельный сфокусированный проход / $0-экран «name-place с многословным строчным dst» (+ где ветка транслита и conform читают НОВЫЙ тип). Учти: классtitleобязан включать work-title (стихи), иначе падают в term (пробы §3). - Decl-шов (строка 27+73): 142/142 null ⇒ E1/E2 без входа; варианты — эмиссия форм терминологом в том же проходе / дешёвый морфопроход / отложить с обоснованием. Сюда же: пост-чек принимает сокращённую форму терма (Р3/Q4, строка 27) и связка со строкой 84 (средний род «гу»: enum+
gender: neuterсегодня тихий no-op — нужен seed-lint). - 36б «второе мнение другой моделью»: ЧЕСТНО оспорь нужность — если (2) чинит harm-направление, что докупает рецензент? Дизайн только если переживёт (б).
- Вопрос резюме-слоя (строка 80): дать РЕКОМЕНДАЦИЮ с обоснованием — строить резюме глава→арка→книга + fact-gate (D25 п.8–9) или закрыть («KWIC-банк+reveal-окна достаточны»). Решение — владельца; твоя работа — честная инженерная оценка обоих исходов.
- Дыра эмиссии 蛊 (строка 18): голова частотного понятия не приходит ни одним каналом; сайты порога длины:
internal/miner/miner_alias.go:44,93+ греп порога ≥2 поinternal/miner/+membank/memory.go:144(minKeyLen/allow_short — приёмная сторона). Фикс или обоснованное «оставить». - Кандидаты (вердикт-тройка в 1–2 строки КАЖДОМУ, без проработки альтернатив — полная форма только для пп.1–6): 36г формат каналов
{{banknote_format}}(Р5) · STITCH-ретирование инъекции · ranked-set-остаток (тип + порядок ступеней; инъективность УЖЕ есть) · tmctl «замена термина с главы N» (тонкая CLI над repin) · feed_cap (гейт режет лексикографический хвост — предметно) · эмбеддинг-второй-эшелон A7/D2 (дать диспозицию: строить/закрыть) · first-occurrence-тест KWIC-консолидатора ($0 по артефактам coldrun-a — МОЖНО исполнить в этапе 1, если дёшево; код — Вeval/bank_autonomy/m_firstocc*.pyрядом с готовым харнессом: расширение зоны на ЭТУ папку санкционировано промтом, единственное исключение из «кода не писать»; coldrun-a read-only; «вывод на агрегате до вскрытия единиц запрещён»).
Деливерабл этапа 1: docs/archive/reports/BANK_QUALITY_DESIGN_<дата>.md — по пунктам: вердикт-тройка · выбранный дизайн · альтернативы с причиной отказа · сдвигаемые снапшот-оси · тесты приёмки · отдельным блоком: вопросы владельцу (только те, что реально его — вкус/деньги/продукт). Самопроверка исполнением: свои утверждения о коде грунтуй file:line и перепроверь грепом; посылки из отчётов цитируй, не пересказывай по памяти. Плюс краткий итог 3–5 строк — в секцию «Бэкенд» docs/PROGRESS.md (таблицу бэклога и CURRENT-STATE НЕ трогать). СТОП — ратификация оркестратором/владельцем.
ЭТАП 2 — стройка (ТОЛЬКО по релею ратификации, отдельным сообщением)
По ратифицированному дизайну: код+тесты, $0. Приёмка: «пара, которой нет в репо, проходит без правки Go» · голден Ш-1 (пере-захват один раз в конце, маскированный дифф, отчёт какие оси двинулись и почему вердикт-двиги ВЕРНЫ — с вскрытыми единицами) · майнер-парити · -race весь пакет · мутационные тесты на новые швы. Отчёт стройки — отдельным файлом, СТОП на приёмку.
Дисциплина
.env не читать · тексты книги в доки не цитировать · сессия не коммитит и бэклог не правит · расхождение промта с кодом/доками = пинг через владельца · самопроверка ИСПОЛНЕНИЕМ обязательна (норма «ВСЕГДА на важных») · персист не scratch (артефакты — в git/durable, не /tmp).