textmachine/docs/orchestrator-norms-scratchpad.md

13 KiB
Raw Blame History

Скратчпад оркестратора №23 — контроль исполнения лупа

Здесь НЕТ копий норм. Нормы живут в docs/ORCHESTRATOR_SESSION_PROMPT.md, копия факта стареет молча (D39.112). Здесь только (а) указатели-чек-лист, по которому я прохожу ПЕРЕД выдачей и ПЕРЕД лендингом, (б) стоячие правила владельца на этот луп, (в) живая раскладка слотов и журнал выдач. Файл рабочий и умирает вместе с очередью №23.

Стоячие правила владельца на этот луп (слово 11.09)

  1. Выполнить ВСЕ промты, задуманные в docs/NEAR_TERM_PLAN.md.
  2. Советоваться со старшим коллегой (Fable 5, постоянный контекст) — при выдаче промта, при ратификации, при лендинге и при ЛЮБОМ сомнении.
  3. Каждый выдаваемый промт писан по ролевой ноте; сверяться с ролевым промтом всегда.
  4. Сессия обязана эхом вернуть промт (блок 9 — своими словами, не пересказом).
  5. Приёмка и лендинг — строго по нормам ролевого промта.
  6. Сессия доводит свой пак до конца САМА и не беспокоит владельца до готовности; финальное исполнение контролирую я.
  7. Большинство паков идёт бэкенд-сессиям — следить за КАЧЕСТВОМ КОДА: никаких лишних велосипедов, воркэраундов и хаков ВОКРУГ проблемы. Нужно логически правильное работающее решение задачи, а не обход проблемы. Это отдельная ось приёмки, а не общее пожелание.
  8. Один промт на зону. Одновременно живут бэкенд · платформа · полигон · фронт; двух промтов одной зоны быть не может. Слот освобождается закрытием пака АКТОМ, а не сдачей работы.
  9. Пустые сессии владелец наспамил — роли назначаю сам, запускаю по одной и довожу до логического завершения.
  10. АВТОНОМИЯ (слово 11.09, 03:00): владелец отошёл и вернётся, когда весь ближайший план ИСПОЛНЕН. Вопросы решаю сам, совещаясь со старшим коллегой; владельца не жду.
  11. Мерило любого решения — в этом порядке: (а) главные ценности продукта — КАЧЕСТВЕННЫЙ КОНСИСТЕНТНЫЙ ИИ-перевод длинных книг/ранобэ; (б) архитектура и чистый код; (в) рефакторинг только действительно необходимый; (г) никакого велосипедостроения. Решение, выигрывающее у (б)(г), но не служащее (а), — неверное решение.

Перед выдачей промта — механическая сверка (перечтение автором рубежом НЕ считается)

  • 13 обязательных блоков — таблицей/грепом против §«Пишешь промт сессии?» (счёт равен нумерации).
  • Опровергатель-субагент к самому промту («найди отсутствующее и противоречащее»).
  • Блок 5 называет 24 уязвимых места ИМЕННО ЭТОГО пака — «сделай самопроверку» дефектна.
  • Разметка свободы у каждого пункта: «ровно так» либо «реши сам и аргументируй».
  • «Инструмент задан» — только после (а) что канон зовёт штатным, (б) не построено ли уже.
  • Фантом-гард: каждая D-ссылка грепается до НОМЕРА ПУНКТА, не до тела ноты.
  • Построчная сверка чужих путей/каналов против зонной таблицы CLAUDE.md.
  • Полигон-пак — дополнительный абзац норм замеров (арм без фактора · дедуп+декой · критик полноты на каждую фазу · пре-рег фриз ДО платных вызовов · активная проверка живости прогона).
  • Кодовый пак — свой абзац (вакуумный пин · клейм = команда · дифф ^func Test исполнением).
  • Пропорциональность: тяжесть аппарата соразмерна весу пака.

Перед лендингом

  • Контроль завершённости ДО приёмки, механически (блок 13).
  • Приёмка адверсариальная; дерево на время прохода заморожено ИЛИ верификатору выдан ГОТОВЫЙ путь.
  • Скипы печатаются рядом с числом ok.
  • Деньги — из сырого леджера двумя независимыми путями.
  • docs/scripts/counts.py --check и --lint перед ратификационным коммитом.
  • git diff -- <файл> по каждому файлу класса «пишет зона, коммитит оркестратор».
  • Коммит pathspec-формой; финал git status --short.
  • Акт закрывает носители ТЕМ ЖЕ движением (ряды бэклога, реестр дефектов, таблица активных промтов).

Раскладка слотов (живая)

Зона Промт Сессия Состояние
бэкенд CHAPTER_STRUCTURE_DESIGN_SESSION_PROMPT.md textmachine-50 выдан · эхо · записка-план · работает
платформа PLATFORM_TRUTH_AT_THE_DOOR_SESSION_PROMPT.md textmachine-8e выдан · эхо · записка-план · минор 0.14.0 ратифицирован по её пингу
полигон POLYGON_COLD_RUN_A_SESSION_PROMPT.md (ред. 2) textmachine-23 выдан · жду эхо; два прежних промта зоны припаркованы
фронт заморожен разморозка по критерию NEAR_TERM_PLAN.md

Журнал выдач очереди №23

# зона предмет сессия эхо исход
1 бэкенд структура глав, ДИЗАЙН textmachine-50 своими словами, с возражением идёт
2 платформа правда у двери textmachine-8e своими словами, с контрактным пингом идёт
3 полигон холодный прогон A (платный) textmachine-23 ждём выдан

Что я должен помнить, пока паки идут

  • Ключи прогона A: путь выдан (backend/.env), файл НЕ читать; живость ключей проверяется ПЕРВЫМ платным вызовом. Отказ по авторизации — стоп сессии и мой поход к владельцу.
  • Пре-рег-таблица прогона A приходит мне ДО фриза — читаю её прежде, чем потратится первый цент.
  • Релей: улика прогона A про многоединичную главу идёт движковой сессии ОТ МЕНЯ отдельным сообщением с её эхо-подтверждением, не напрямую.
  • Кросс-зонная цена перекроя (unit_resolutions платформы, экспортные id термов) придёт от движковой сессии пунктом отчёта — отнести её платформе должен я.

Чему меня научили опровергатели 11.09 (не повторять)

  1. Санкция владельца, известная «со слов», носителем НЕ является. Оба пака ссылались на разрешение платного прогона как на факт, а в дереве его не было ни строкой. Завёл носитель — NEAR_TERM_PLAN.md §«Решения владельца».
  2. Пак не заглянул в СВОЮ зону записи. Дизайн-пак заказывал то, что уже лежит в backend/docs/ дизайном-оф-рекорд и рабочим прибором. Теперь у каждого пака первым делом — «что уже лежит у тебя».
  3. Трудность, которой нет. Я написал платформенной сессии, что валидация каталога обязана отличать первый прогон, — каталог создаётся на интейке ДО строки в БД, и различать нечего. Пин на недостижимую ветвь толкает сессию строить exemption, чтобы было что пинить.
  4. «Одно определение на две площадки» бывает недостижимо по построению — опросный путь замка не берёт, и контракт эту асимметрию ратифицировал. Мерило — число ОПРЕДЕЛЕНИЙ, а не площадок.
  5. МОЙ КОММИТ УНЁС ЧУЖУЮ СЕКЦИЮ — 54f8f6c, 11.09. Я правил ОДНУ строку головы в docs/PROGRESS.md и взял файл pathspec-формой целиком, не сделав git diff -- docs/PROGRESS.md; в тот же момент движковая сессия положила туда свою записку-план, и 32 вставки из 33 оказались её. История НЕ переписана (переписывание стёрло бы незакоммиченные правки параллельных сессий), содержимое цело, атрибуция восстановлена сообщением зоне. ⚠ Норма стояла в моём ролевом промте и не сработала, потому что я читал её как «про чужое в ИНДЕКСЕ». Ловится дёшево и постфактум: объём коммита против объёма своей правки — одна строка против тридцати трёх.
  6. Атрибуция нормы к ноте проверяется телом ноты. Ссылка на D39.108 п.1 в моём ролевом промте фантомна: норма верна, нота о другом. Эррата внесена.

Долг, замеченный попутно (не терять)

  • 11 уехавших якорей в ЧУЖИХ зонах (counts.py --lint, 11.09): полигон 5 (docs/experiments/) · бэкенд 3 (backend/docs/DISCLOSURE_LAW_DESIGN.md) · фронт 3 · платформа 3 — платформенные уже врезаны в её пак §4.5. Свои пять я починил (f9216cd). Остальные раздать ПАКАМИ их зон, не чинить самому.
  • Воркфлоу про банк памяти (wm0j2l4kz) умер, отдав пустой файл — вопрос владельца «что банку памяти нужно для качества перевода» носителя не получил; пере-задать при паке «выдача, которую видит читатель».