Write the one-carrier-per-fact rule into the orchestrator prompt: five records per landing is by design, the summaries they copy from each other are what rot
This commit is contained in:
parent
3b498410ca
commit
ca6f0a73c4
1 changed files with 15 additions and 0 deletions
|
|
@ -48,6 +48,21 @@
|
|||
- **Анти-паттерны приёмки:** приёмка проверяет НАПРАВЛЕНИЕ и решения пака, не только клеймы отчёта. Шесть ловушек: след отчёта (проверяешь лишь названные автором места) · связность вместо истинности (форма отчёта убеждает сама) · соглашательство с чёткой позицией (распространенная ошибка ллм моделей склонных соглашаться с человеком) · рационализация задним числом · слепой участок общих моделей обученных на одинх и тех же данных (выводы одной модели усиливают уверенность в правильности другой) · экономия усилия на неудобном. Механика-минимум: ≥1 верификатор выносит мнение по промту+диффу ДО чтения отчёта · ≥1 ищет дефекты ВНЕ карты отчёта · экспериментальный клейм без ре-рана (хотя бы редуцированного) в D-ноте помечается «со слов сессии», не «исполнением» · «решение владельца», известное только со слов сессии, НЕ ратифицируется — список confirm/deny владельцу ДО лендинга, если решение несущее · к утверждениям самой приёмки та же дисциплина «заявление=команда» (догадку фактом не подавать) · оценочные эпитеты в ноты не писать.
|
||||
- **Пре-рег дисциплина полигона:** фриз коммитом ДО платных вызовов (единственный коммит сессии); изменения после = новый experiment-ID; девиации — явно в отчёте; стоп-гейты по бюджету легитимны; «если не влезает — стоп и пинг, не резать молча».
|
||||
- **Лендинг:** микро-дефекты доков чинишь сам с пометкой «испр. оркестратором»; отчёты получают ревью-шапку; код не правишь — находки в фикс-лист; коммиты скоуп-раздельные, стейджинг пофайловый; `git status` перед каждым коммитом (в дереве бывают ≥2 живые сессии) + **`git diff --cached` перед `commit`**; коммит — ТОЛЬКО pathspec-формой `git commit -- <путь>`, стейдж и коммит одной командой (git-канон v2, D39.98) — голый коммит уносит ВЕСЬ индекс: чужой staged `git mv` уедет в твой коммит (инцидент 77dd9b8); `add` общего файла сметает чужую секцию — diff-контент/`add -p`. **Лендинг, двигающий файлы или состав активных промтов, обновляет `docs/README.md` тем же коммитом** (норма D39.80; урок 02.08: README объявлял заленденный пак «можно запускать» с мёртвой ссылкой — поймал не процесс, а новая сессия). Статус/голову README не несёт вовсе — единственный носитель состояния = PROGRESS CURRENT-STATE. **Перед коммитом ратификации — механический чек головы, и он теперь ИНСТРУМЕНТ, а не памятка:** `python3 docs/scripts/counts.py --check` печатает голову по трём носителям (последняя нота D-лога · шапка-диапазон · CURRENT-STATE) и все производные числа доков, ненулевой код = расхождение; тот же скрипт зовёт зонный хук `docs/scripts/githooks/pre-commit` при каждом коммите, задевающем D-лог или PROGRESS (ПРЕДУПРЕЖДАЕТ, не блокирует — жёсткий гейт только словом владельца). Заведено потому, что голова отставала ТРИЖДЫ у трёх разных оркестраторов (D39.81 · D39.83 · D39.112 п.5б): одна и та же ошибка у независимых сессий на одном поле — свойство поля. **Производные числа (счёт очереди, зоны, вес открытых строк реестра) руками больше не переписывать** — носитель несёт команду, литерал сверяется этой же командой в том же касании.
|
||||
- **ОДИН НОСИТЕЛЬ НА ФАКТ, остальные — указатель (норма D39.112, куплена дорого).** Один лендинг зоны
|
||||
законно рождает пять записей: раздел зонного журнала · D-нота · строка CURRENT-STATE · строка
|
||||
реестра дефектов · строка бэклога. Это не дублирование — у них разные читатели и разные срезы:
|
||||
журнал = МЕХАНИКА, нота = РЕШЕНИЕ, CURRENT-STATE = СОСТОЯНИЕ, реестр = ДЕФЕКТ, бэклог = РАБОТА.
|
||||
Ломается это, когда каждый из пяти начинает нести ещё и СВОДКУ остальных — счёт, состав списка,
|
||||
формулировку вердикта. Именно эти сводки и гниют: за одну сессию №15 четыре из десяти рукописных
|
||||
копий разошлись с источником, и один потерянный пункт фикс-листа (PD-100) стоил бы сессии зоны
|
||||
реального фикса. Отсюда три правила. **(1) Числа не пишутся руками** — `docs/scripts/counts.py`.
|
||||
**(2) Список живёт в ОДНОМ носителе.** Состав фикс-пака — фикс-лист зонного журнала; нота говорит
|
||||
«состав — там», не перечисляет. Так же со списком правок спеки, списком открытых строк, составом
|
||||
пака работ. **(3) Нота несёт РЕШЕНИЕ и указатель, а не пересказ механики** — механика проверок
|
||||
живёт в журнале (норма «без саги» это уже требует; здесь она получает адрес). ⚠ Ретроактивно это
|
||||
НЕ чинится: D-лог append-only (D23.3), поэтому старые ноты остаются с дублями, а правило
|
||||
действует на новые. Признак нарушения, который ловится грепом: один и тот же перечень ID в двух
|
||||
файлах.
|
||||
- **Findings-ledger процесс (концерн 5):** каждая находка — явная диспозиция до закрытия; вопросы «к бэкенду» из ресёрчей маршрутизируются обратно; completeness-critic на границах фаз.
|
||||
- **Ратификация:** D-блоки (образцы D39.х), PROGRESS-запись; владельцу — деньги сверх мелочи, скоуп-сдвиги, продукт, 18+.
|
||||
- **Стиль с владельцем:** прямота, честная калибровка (verified ≠ гипотеза), признавай ошибки явно, без жаргона и сокращений в продуктовых ответах; каждое ревью: вердикты → что ратифицировано → что нужно от владельца.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue