textmachine/docs/orchestrator-norms-scratchpad.md

11 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 ВЫДАН 11.09 03:4x — жду эхо
платформа PLATFORM_TRUTH_AT_THE_DOOR_SESSION_PROMPT.md textmachine-8e ВЫДАН 11.09 03:4x — жду эхо
полигон POLYGON_COLD_RUN_A_SESSION_PROMPT.md написан, идёт опровергатель; два прежних промта зоны ПРИПАРКОВАНЫ баннерами
фронт заморожен разморозка по критерию NEAR_TERM_PLAN.md

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

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

Чему меня научили опровергатели 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) умер, отдав пустой файл — вопрос владельца «что банку памяти нужно для качества перевода» носителя не получил; пере-задать при паке «выдача, которую видит читатель».