Чек-лист обязательных слайсов core.md для каждого скилла корпуса 2.0.
Зачем. Скиллы 2.0 не подгружают core.md в рантайме (решение sk2-06):
каждый скилл обязан заинлайнить нужные ему операционные слайсы и быть
самодостаточным на нормальном пути. Этот файл фиксирует, какие слайсы
обязан нести каждый скилл — чтобы при сборке и при ресинке после правки
core.md можно было пройти по списку и проверить наличие.
Как пользоваться. При создании/правке скилла или после изменения
core.md — пройти по списку соответствующего скилла, отметить наличие
каждого слайса. Слайс «есть» = он реально заинлайнен в SKILL.md
(не «упомянут где-то рядом»). Источник каждого слайса указан в скобках:
mem = skills/mem/core.md, work = skills/work/core.md; цитаты на доки
(skills.md, context-engineering.md, user-stories.md, formats.md) —
относительно docs/workflow/ и docs/consumer-guide/.
Не дублирует содержание core.md — это карта обязательности, а не
сам канон. Логика слайса живёт в core.md; здесь только его имя.
Пометки охвата:
*— операционный слайс search/anchor. Композит из трёх блоковmem/core.md:### Anchor model(типы + exact-match URI, передавать все уровни) +## Searching(два пути — anchored vs full-text, смешивание осей в одном вызове — ошибка, + status line) +### Reading results. Копируются дословно как блоки — целиком, без сокращения буллетов: при ресинке легко обронить буллет чтения кода (якорная карта + символьная картаlist_symbols_in_file, чтение диапазоном); проверять его наличие явно. Общий для всех скиллов, делающихsearch. Authoring-слайс (для пишущих ноты) =### Anchor model+### Two-axis rule+### Weights.- Mode-слайс — дословная копия одного блока
### <Mode>из секцииModesвwork/core.md(имя + mindset + forbidden). Не вся секцияModes(intro + mode-shift не копируются), и не авторский парафраз — именно блок, чтобы наличие проверялось бинарно. Скилл-специфичные запреты (у/mem— «не пересказ диффа») остаются в теле скилла, не в блоке. Краевые случаи — bespoke-строка, а не блок:/grillкопирует два блока (Ask + Architect) + слайс mode-shift trigger;/prime— «no Mode» (он— (system));/mem-explore— «stop-and-confront brake», не один из трёх режимов. - Язык общения (рус.) и язык артефактов (рус.) — обязательны везде, в списках ниже не повторяются.
- Mode-блок
### Architect Modeдословно; capture-запрет — в теле (work: Modes) - Capture-only; reading ambient и owned elsewhere (mem: Two modes)
- Worth capturing — критерии (mem: Capture discipline)
- Что НЕ писать: rename, typo, пересказ диффа (mem: Capture discipline)
- Траектория capture как Structured CoT (work: Structured CoT)
- Section criteria — выбор секции по роли (mem: Section criteria)
- Anti-swamp правило для
## Инварианты(mem: Anti-swamp rule) - ADR-тон: outcome не chronology, one role per section, declarative (mem: Notes are ADR)
- Оба шаблона тела — Regular + Investigation (mem: Note body)
-
summary— authored announce line (mem: summary) - Якоря по двум осям, все уровни (mem: Two-axis rule)
- Веса: centrality +
criticalтолько при Инвариантах (mem: Weights) -
*Search-слайс для dedup-поиска по составленному набору якорей (exact-match, все уровни) + status line (mem: Searching) - Контракт
create_note+ резолвwarning(mem: create_note contract) - Контракт
update_note— merge при совпадении scope, не дублировать (mem: update_note contract) - Note IDs — серверный хэш,
[[id]], не выдумывать (mem: Note IDs) - Незарегистрированная сущность →
create_entityпосле подтверждения (mem: Unregistered entity) - Подтверждение сохранения plain-text, prefill «да» (mem: confirm policy)
- Antipatterns capture (mem: Antipatterns)
- Mode-блок
### Architect Modeдословно (work: Modes) - Skill-driven; своих MCP/CLI-инструментов нет (mem-onboarding spec)
- Бутстрап индекса:
reindexавтоматом на пустом индексе (spec §1) - Setup: логика преобразования + стартовые сущности через
create_entity(spec §2) - Chunk-loop: read → search → decide → author → drop raw (spec §3)
-
*Search-слайс:include_drafts: true, anchor exact-match (все уровни), status line (mem: Searching) - Note authoring: ролевая структура + оба шаблона (mem: Note body)
- Якоря по двум осям, все уровни (mem: Two-axis rule)
- Веса: centrality +
critical(mem: Weights) -
summary(mem: summary) - Все ноты
status: draft; хранилище как сквозная память (spec) - Инвентаризация:
match_all: true+include_drafts(только онбординг) - Review: промоут draft→current через
update_note(spec §4) - Scratch-файл
.memory/onboarding.md, многосессионность (spec) - Нечёткие источники — усиленная дисциплина, только verifiable artifact (spec)
- Граница автоматики: только артикулированное, без реконструкции «почему» (spec)
- Подтверждение сущностей plain-text, prefill «да» (mem: confirm policy)
- Mode bespoke: «stop-and-confront brake», не один из трёх режимов (work: Modes — краевой случай)
- Manual brake; не часть workflow;
disable-model-invocation(context-engineering.md) - Stop-генерация; файлов не пишет; решения нет до дашборда (skills.md: /mem-explore)
- Назвать активную область — scope retrieval'а (skills.md: /mem-explore)
- Широкий retrieval:
list_entities+ anchors + query +RULES.md/specs(context-engineering.md) -
*Search contract (две оси, exact-match, все уровни одним OR) (mem: Searching) - Reading contract: компакт-лист,
get_notesпачкой,[[id]]-блок (mem: Reading results) - Извлечь
## Инварианты+## Антипаттерныиз тел (mem: Note body) - Флаги:
stale/draft/## Гипотезы/critical(mem: Reading results) - Confront: последние 2–3 предложения ↔ правила (context-engineering.md)
- status line (
нашёл N, пригодилось/релевантно k) (mem: Searching) - Шаблон дашборда (Противоречия/Подтверждено/Не покрыто/Флаги/Курс)
- Await direction — ждать выбора пользователя (skills.md: /mem-explore)
- Не стартует Mode, не предлагает шаг; только загрузка (work: Commands)
- Чтение base specs (корень
specs/, без подпапок) (skills.md: /prime) - Активный план: единственный
*-00-index.md,status: active, только индекс;draft/completedне грузятся (skills.md: /prime; work: Plan lifecycle) -
list_entities— доменная карта (skills.md: /prime) - Репорт загруженного + счётчик-артефакт
домен-карта: N(work: behavioral) - Разрешение неоднозначности плана (>1 active /
@<path>) — graceful (work: invariant 1) - Do-not: не
search, не step-файлы/код, не пересказ, не вопросы
- Modes Ask + Architect, их forbidden-списки (work: Modes)
- Mode-shift как триггер grounding-а (work: Mode-shift trigger)
- Structured CoT — когнитивная траектория (work: Structured CoT)
- Synthesis Form (work: Synthesis Form)
- Reading triggers: горизонтальный + вертикальный (work: Reading triggers)
-
*Search-слайс + status line (mem: Searching) - Водораздел specs vs memory для grounding — двухисточниковый pull (управляющая спека + память), спека не уходит из фокуса (work: watershed)
- Сбор обоих источников (спек-указатели +
[[id]]/якоря) для будущего## Groundingплана (work: Grounding references) - Файлов НЕ пишет (work: invariant 5)
- Design discipline — архитектурный фрейминг (work: Design discipline)
- Question style — один вопрос за раз (work: Question style)
- Architect Mode (work: Modes)
- Контекст не ищет, вопросов не задаёт — он уже загружен (skills.md: /storyteller)
- Формат System-Aware Story:
action+system_reactionв каждом шаге (skills.md: /storyteller, consumer-guide/user-stories.md) - Запись в
specs/user-stories/, имя<id>-<slug>.md, свободная подпапка без зеркалированияfeatures/(consumer-guide/user-stories.md, documentation-system.md) - Идентичность по id: 4-симв.
[a-z0-9]токен, глобальная уникальность FS-сканом**/<id>-*.md, коллизия → перегенерация (consumer-guide/user-stories.md; storyteller) - Шаблон Story заинлайнен (consumer-guide/formats.md / work: Templates)
- Пишет файл — на явном сигнале (work: invariant 5)
- Architect Mode (work: Modes)
- Диспетчеризация create/amend по
@<path>; статус нового плана (active при пустом фокусе, иначе draft); offer-activate на amenddraftбез активного (work: Plan lifecycle; blueprint dispatch) - Разрешение плана:
@<path>→ named любого статуса (amend); нет@<path>→ create (work: invariant 1) - Structured CoT — единая траектория с развилкой create/amend (work: Structured CoT)
- Synthesis Form (work: Synthesis Form)
- Use cases amend: скоуп ±, «хвосты», ре-декомпозиция (skills.md: /blueprint)
- Reading triggers +
*search-слайс + status line, особо для нового «хвоста»; двухисточниковый grounding (спека области + память) (work/mem) - Retrospective чек / Architecture Block в чат до записи; на amend — обоснование правки + запись в
## Отклонения(work: Design discipline) - Design discipline — антипаттерны, framework-механизмы (work: Design discipline)
- Таксономия индекса: Решения/Отклонения/Edge cases/Открытые вопросы (work: Index taxonomy)
-
## Grounding:### Спецификации(пути + однострочник, не пересказ) +### Память([[id]]+ якоря полного набора); на amend — обновление обоих источников (work: Grounding references) - Writing rules amend: не ломать закрытые
[x]; new step = next freeNN; re-decomp только открытых шагов (skills.md: /blueprint) - Stage granularity — один шаг = один осмысленный коммит (work: Stage granularity)
- Tracer-Bullet — дефолт декомпозиции (тонкий вертикальный слайс), бэкенд-only как обоснованное исключение (blueprint)
- Stage gate contract: линковка историй по
<id>(путь не несущий) + стратегия гейта, производная от наличия истории (селектор-инвариант, не свободный маркер) (formats.md; blueprint) - Stage test targets: называние тест-мишеней этапа в DoD (из
expected/system_reactionистории или## Цель шага), указатель на relevance-канонwork, без копии; этап без поведения — пред-declare исключения (blueprint) - Stage development mode: проставление
## Режим разработки— авторский выбор из трёх (standardдефолт,tdd,ui), не производное от историй и независимое от гейта (formats.md; blueprint) - Key invariants: плоские файлы плана в
plans/+ per-step леса в подпапкеplans/<prefix>/, имена<prefix>-NN-<slug>, gitignored, чекбоксы (work: Key invariants) - Шаблоны index + step заинлайнены; step несёт секции трека
/autopilot: авторские при создании плана (Связанные истории, Стратегия гейта, Режим разработки) + стабы/autopilot(Журнал проходов, Отложенные решения) (work: Templates; formats.md) - Question style; confirm prefill «да» для offer-activate (work: Question style)
- Mode bespoke: «reconnaissance — карта для исполнителя, без HOW/кода» (work: Modes — краевой случай, как
/mem-explore) - Две морковки: complete map (front) + partial map хуже чем none (back) (skills.md: /prepare)
- Траектория разведки как Structured CoT, 8 шагов (work: Structured CoT)
- Self-prime: plan resolution (пиннутый
#NNавторитетен, без ре-резолва; спавнящий/workпередаёт пиннутый этап) + index/step + specs root/RULES+list_entities(work: invariant 1; skills.md: /prepare) - Назвать всю территорию-кандидатов, не первые (skills.md: /prepare)
-
*Search-слайс (две оси, exact-match, все уровни OR) + status line (mem: Searching) - Reading results, с релаксацией: полное чтение ключевых файлов (mem: Reading results, адаптировано)
- Вердикт релевантности по каждому кандидату, без рецепта реализации (work: Reconnaissance)
- Валидация шаг 1: реверс blind-spots — контекст-less читатель (skills.md: /prepare)
- Валидация шаг 2: достаточность против
## Цель шага/## Definition of done/## Подзадачи— каждый пункт DoD имеет координату (skills.md: /prepare) - Run-file: запись
plans/<prefix>/run-<NN>.md+ «Проверено и отброшено» + escape hatch (consumer-guide/formats.md; work: The run-file) - Шаблон run-файла заинлайнен (consumer-guide/formats.md)
- Презентация супер-компактная: не дублировать run-файл, одна standout-находка как финальный self-check (skills.md: /prepare)
- Antipatterns разведки (prepare)
- Interaction mode: no-op слайс — run-файл единственный выход на любом пути, не блокируется (work: Interaction mode)
- Code Mode + forbidden: не менять specs/планы без разрешения (work: Modes)
- Чтение
00-index.md+ текущегоNN-step.md(skills.md: /work) - Текущий шаг = пиннутый
#NN(авторитетен, без ре-резолва), иначе первый без[x](work: invariant 1; Key invariants) - Терминал
/work= green + сверенный step-файл; индекс не трогает (ни галочку## Этапы, ни секции заметок), этап не гейтит и не закрывает (work: The Linux Way; Key invariants 4) - Reconnaissance decision: делегация по умолчанию / self-read на малом + явная строка; делегирует
/prepareна пиннутом этапе@<index>#NN(work: Delegation) - Сплит загрузки: делегация — только rules floor (specs root + RULES), домен-карту даёт субагент; self-read — полный
/prime(work: Delegation) - Потребление run-файла: координаты +
[[id]]+ срез## Сущности; escape hatch для полного реестра (work: Reconnaissance) - HOW выводится из карты интринсиком Code Mode, без отдельной design-pass-секции (work: Reconnaissance)
-
## Grounding: читает### Спецификации-указатели +get_notesпо[[id]]из### Память— подгрузить контекст до кода (work: Grounding references) - Reading triggers (first touch file/symbol, вертикаль) +
*search + status line; двухисточниковый grounding (спека области + память) (work/mem) - Testing discipline: mandatory + явный порядок relevance → completeness (сначала мишень и уровень, потом полнота) (work: Testing discipline)
- Relevance — презумпция теста: новый код тестируется по умолчанию, пропуск — объясняемое исключение (UI / no-behavior), логика внутри правки тестируется (work: Testing discipline — Relevance)
- Relevance — уровень решает, не ключевое слово: unit=наша логика в изоляции / feature=наш контракт (валидация вне границ на unit, в границах на feature) (work: Testing discipline — Relevance)
- Relevance — Must-Not framework behavior in isolation: горстка примеров + общая формула; feature-проверка контракта не под запретом (work: Testing discipline — Relevance)
- Completeness — под требования, не под написанный код (work: Testing discipline — Completeness)
- Completeness — State-Machine & Flow Coverage: покрытие не ограничено happy-path (work: Testing discipline — Completeness)
- Test Strategy Doc до сложного фичевого теста (work: Testing discipline)
- Red-Green при багфиксе (work: Testing discipline)
- Development mode overlay: маркер
## Режим разработки— три значения (standard/пусто → обычный поток без строгого test-first;tdd→ жёсткий Red-Green-Refactor на всю новую функциональность;ui→ выкл/UI-ветка), наследование Testing Discipline (incl. relevance) всеми режимами (work: Testing discipline — Development mode overlay) - Failure paths, не только happy (work: Testing discipline)
- Isolation & self-positioning — Framework isolation: сброс состояния штатным механизмом фреймворка между тестами, тест подключает его, не ручной teardown (work: Testing discipline — Isolation & self-positioning)
- Isolation & self-positioning — Self-positioning assertions: замер baseline + проверка дельты/инварианта, падение на своём поведении; опора на абсолютное состояние — обоснованное исключение в
## Рабочие заметки(work: Testing discipline — Isolation & self-positioning) - Шаг завершается только при зелёном полном прогоне (work: Testing discipline)
- Working notes discipline — борьба и решения, не пересказ диффа (work: Working notes)
-
rename_anchorпри переименовании символа/файла (mem: rename_anchor contract) - Interaction mode: реальная ветка — autonomous решает дефолт+лог сам, needs-human → pointer-возврат; attended «when in doubt ask»; канал вызова = режим (work: Interaction mode)
- Не стартует Mode; защиту несёт явный forbidden-set («no Mode» как
/prime) (work: Commands — краевой случай) - Forbidden-set контрастный к
step-done: не/mem, не удалять run-файл, не[x]этапа, неspecs/; capture mid-stage запрещён (work: Writing — plan to memory; The run-file) - Разрешение плана:
@<path>/ единственныйactive/ refuse при неоднозначности (work: invariant 1) - Текущий шаг = первый без
[x]; чтение step-файла целиком (work: Key invariants) - Оценка готовности (подзадачи / DoD / остаток) — инверсия finished-check
step-done(skills.md: /checkpoint) - Простановка
[x]готовым подзадачам, незавершённые не трогает (skills.md: /step-done — checking off, адаптировано) - Находки + маркер «где встал / следующий шаг» в
## Рабочие заметки(work: Working notes) - Working notes discipline — борьба и решения, не пересказ диффа (work: Working notes)
- Re-entry на штатной механике
/work(первая неотмеченная подзадача + рабочие заметки), без resume-секции (work: The run-file; /work re-entry)
- Architect Mode рефлексии (skills.md: /step-done)
- Чтение
## Рабочие заметкииз файла шага (skills.md: /step-done) - Гейт качества тестов на закрытии (шаг 3): тесты этапа пиннят наше поведение по канону relevance
work, не дублируя его; отсутствие теста — обоснование в## Рабочие заметкилибо пред-declared этап без поведения (## Связанные истории: —/## Режим разработки: ui); несоответствие — стоп без[x](work: Testing discipline — Relevance) - Суммаризация в секции индекса (Решения/Отклонения/Edge/Открытые) (work: Index taxonomy)
- Вызов
/memдля новых знаний; strip plan-process метаданных (work: Writing — plan to memory) - Водораздел: что идёт в память (work: watershed)
- Простановка
[x]в индексе — эксклюзивный терминальный акт/step-done, никто другой не пишет галочку## Этапы; пиннутый#NNавторитетен, без ре-резолва (skills.md: /step-done; work: Key invariants 4; invariant 1) - Никакого capture mid-stage (work: Writing — plan to memory)
- Interaction mode: no-op слайс — нет ветки вопроса к человеку; not-finished стоп = autonomous-exit (work: Interaction mode)
- Architect Mode (work: Modes)
- Проверка, что все шаги
[x](skills.md: /finalize) - Разнос по водоразделу specs vs memory (work: Writing — plan to memory)
- Обновление
specs/только при изменении бизнес-логики/модели/паттерна (work: Writing) - Вызов
/memдля глобальных архитектурных решений плана (skills.md: /finalize) - Смена статуса плана на
completed(skills.md: /finalize) - Файлы-запись плана (индекс, шаги) не удалять автоматом — вручную (work: Behavioral notes)
- Sweep run-файлов
plans/<prefix>/run-<NN>.mdпри закрытии плана — per-step леса, не запись (work: The run-file) - Interaction mode: реальная ветка — шаг raise (edge/открытые) mode-условен; autonomous surface+стоп без
completed; канал вызова = режим (work: Interaction mode)
- Mode bespoke: «Verification Mode — gate; вердикт только под неподделываемый артефакт», не один из трёх режимов; forbidden incl. расследование/root-cause дефекта (это
/diagnose) (work: Modes — краевой случай, как/prepare) - Дуальность inline / спавн + оркестрационная нейтральность; единственный выход — файл отчёта (skills.md: /prepare — Duality; work: Delegation)
- Разрешение плана:
@<path>/ единственныйactive/ refuse при неоднозначности; пиннутый#NNавторитетен, без ре-резолва (work: invariant 1) - Текущий шаг = пиннутый
#NN, иначе первый без[x]; чтение step-файла целиком (Цель/DoD/Связанные истории/Стратегия гейта) (work: invariant 1; Key invariants) - Селектор ветки из
## Стратегия гейта, производной от наличия истории; кросс-чек presence, не угадывать (blueprint: Stage gate contract; formats.md) - Резолв связанной истории по
<id>через globspecs/user-stories/**/<id>-*.md, не по фиксированному пути; нет файла →blocked(consumer-guide/user-stories.md; validate) - Test-ветка: полный прогон один раз = вердикт, сырой stdout/stderr verbatim (не пересказ); skipped = defect; flaky/порядковая зависимость — сам по себе
defect, не гонять реранами (work: Testing discipline — зелёный полный прогон) - E2E-ветка: зависимость от запуска приложения + сева
precondition; отсутствие →blocked/Tier C, не суждение на ходу (formats.md: Стратегия гейта; index edge case) - E2E coverage: все
negative_paths, не только happy path (consumer-guide/user-stories.md; work: State-Machine coverage — аналог) - Observation/verdict split: «Что видно на экране» (нейтральная транскрипция) отдельно от «Соответствие expected» (вердикт) — оркестратор читает текст, картинки не грузит (index: решение)
- Вердикт-контракт
green/defect/blocked, читается оркестратором из текста отчёта - UI validation branch: E2E-ветка закрывает форвард-референс из
/workдляui-режима (work: Development mode overlay) - Шаблон отчёта (Markdown) заинлайнен; место хранения
plans/<prefix>/step-<NN>.md+screenshots/(consumer-guide/formats.md — аналог) - Презентация компактная: вердикт + путь к отчёту, не дублировать отчёт в чат (skills.md: /prepare — презентация)
- Interaction mode: no-op слайс в Duality — не блокируется на человеке, вердикт
blockedуже autonomous-exit (work: Interaction mode)
- Mode bespoke: «Diagnosis Mode — трасса к корню, карта координат, без рецепта/правок», не один из трёх режимов (work: Modes — краевой случай, как
/prepare///validate) - Дуальность inline / спавн + оркестрационная нейтральность; единственный выход — файл отчёта (skills.md: /prepare — Duality; work: Delegation)
- Принцип долговечного знания: корень реконструируется из долговечных артефактов (якоря плана
## Затрагиваемые файлы/## Grounding, удерживаемыйrun-<NN>.md,[[id]], коммитнутый код), не из мёртвого контекста исполнителя; fix-forward без rewind закрытых[x](index: Решения — кросс-слойное падение) - Разрешение плана:
@<path>/ единственныйactive/ refuse при неоднозначности; пиннутый#NNавторитетен, без ре-резолва; спавнящий/autopilotпередаёт пиннутый этап (work: invariant 1) - Текущий шаг = пиннутый
#NN, иначе первый без[x]; вход =## Дефектиз отчёта/validate(work: invariant 1; Key invariants) - Траектория диагностики как Structured CoT, 7 шагов (work: Structured CoT)
- Назвать всю подозреваемую территорию по слоям (фронт/бэк/проводка), полный набор кандидатов, не ближний слой (skills.md: /prepare — назвать территорию, адаптировано)
- Run-файл как durable-карта подозреваемой территории: текущий
run-<NN>.mdв шаге 2, раннийrun-<MM>.md— только при заходе трассы в закрытый этап (consumer-guide/formats.md; work: The run-file) -
*Search-слайс (две оси, exact-match, все уровни OR) + status line (mem: Searching) - Reading results (mem: Reading results)
- Локализация: координаты корня отделены от поверхности симптома, без рецепта починки (work: Reconnaissance — вердикт без рецепта, аналог)
- Валидация корня: корень объясняет весь симптом; не локализуется из долговечных артефактов →
inconclusive, не угадывать (skills.md: /prepare — валидация достаточности, аналог) - Вердикт-контракт
located/inconclusive, читается оркестратором из текста;inconclusive= Tier C стоп + эскалация (index: Решения — политика «не застрять» Tier C / стоп-кран) - Шаблон отчёта (Markdown) заинлайнен; место хранения
plans/<prefix>/diagnose-<NN>.md(consumer-guide/formats.md — аналог /validate) - Презентация компактная: вердикт + путь к отчёту, не дублировать в чат (skills.md: /prepare — презентация)
- Antipatterns диагностики (diagnose)
- Interaction mode: no-op слайс в Duality — не блокируется,
inconclusiveуже autonomous-exit (work: Interaction mode)
- Mode bespoke: «Orchestration Mode — spawn and decide; инвариант тонкости», не один из трёх режимов (work: Modes — краевой случай, как
/prepare//validate//diagnose) - Model-driven скилл, НЕ harness-Workflow; имя
autopilot(запрет имени «workflow») (index: Контекст) - Только на готовом
active-плане; планирование (/grill//storyteller//blueprint) ручное, не входит (index: Контекст) - Разрешение плана:
@<path>/ единственныйactive/ refuse при неоднозначности (work: invariant 1) - Текущий шаг = первый без
[x]; цикл по этапам до пустого остатка, затем/finalize(work: Key invariants) - Управляющий цикл:
work→validate→[diagnose→work fix-forward]→step-done, повтор,finalize(index: DoD) - Спавн атомарных скиллов субагентами с передачей пиннутого этапа
@<index>#NN(оркестратор владеет позицией, субагент не ре-резолвит); тип субагента —general-purpose, задача — вызвать слэш-команду скилла (скилл ≠ agent type);/prepareделегируется внутри/work, отдельно не спавнится (work: Delegation; invariant 1) - Subagent models: модель задаётся при спавне (скиллы фронтматтерной модели не несут);
work=Sonnet/Opus-по-тяжести этапа,validate=Sonnet,step-done/diagnose/finalize=Opus (autopilot: Subagent models) - Ветка work/validate не выбирается оркестратором — живёт в спавнимых скиллах по маркерам
## Стратегия гейта/## Режим разработки(blueprint: Stage gate contract; formats.md; index: DoD) - Вердикт
/validateчитается из текста отчёта (green/defect/blocked); green→step-done, blocked→Tier C (validate: Verdict) - Вердикт
/diagnoseчитается из текста отчёта (located/inconclusive); located→fix-forward, inconclusive→Tier C (diagnose: Verdict) - Стоп-кран — счётчик-строка на каждый non-green проход в
## Журнал проходовstep-файла; решение читается из файла, не из головы (formats.md: Журнал проходов; index: DoD) - Порог стоп-крана: 3 прохода без
green→ стоп + эскалация человеку (formats.md: Журнал проходов; index: Решения — стоп-кран) - Spawn watchdog: каждый спавн цикла в фоне + дедлайн (по весу шага, err long); резолв — заверш. → вердикт / wakeup + нет отчёта → аборт + timeout-проход + стоп-кран + ре-спавн с чекпоинта; абортный триггер = дедлайн+отсутствие артефакта, не суждение (autopilot: Spawn watchdog)
- Стоп-кран считает и timeout-проходы watchdog'а, не только дефекты валидации (formats.md: Журнал проходов; autopilot: Stop-brake)
- Keep-alive watchdog: kicked-таймер на
ScheduleWakeup, собственность автопилота; оживляет зависший/выдохшийся оркестратор в той же сессии (Spawn watchdog — лишь субагент); ARM на старте / KICK на каждом спавне / FIRE только на остановке; переиспользует Spawn-wakeup, не отдельный heartbeat (autopilot: Keep-alive watchdog) - Слой A — payload сторожа всегда привязанный
/autopilot @<index>; bare-форма (резолв единственного active) — первый ручной вызов человека, как watchdog-payload запрещена; re-entry привязан к индексу, не re-резолвит single active (autopilot: Keep-alive watchdog / Plan resolution; index awd: Решения — слой A) - Слой B — guard завершения первым шагом wakeup-реэнтри: все
[x]/status≠active / естьautopilot-report.md→ снять wakeup + выйти, иначе возобновить; триггер+артефакт, читает только существующее, без resume-маркера/паузы (autopilot: Keep-alive watchdog; index awd: Решения — слой B) - Слой C — снятие сторожа терминальным шагом, что пишет отчёт (finalize / Tier-C / стоп-кран); завершённый прогон не оставляет взведённого wakeup (autopilot: Keep-alive watchdog / Final report; index awd: Решения — слой C)
- Antipatterns keep-alive: bare watchdog-payload / выдуманный resume-маркер под guard / отдельный heartbeat вместо переиспользования Spawn-wakeup (autopilot: Antipatterns)
- Кросс-слойное падение →
diagnose→ fix-forward в текущем этапе; rewind закрытых[x]запрещён (index: Решения — кросс-слойное падение) - 3-уровневая политика: A решай+лог (в
/work) / B мок-отложить (судит оркестратор) / C стоп+вопрос (index: Решения — политика «не застрять») - Tier-B судит оркестратор как держатель плана по downstream индекса; задевает закрытый
[x]/неизвестную зависимость → Tier C (index: Решения) - Tier-B артефакт:
## Отложенные решенияв step-файле + маркер в коде;blocked/inconclusive= уже материализованный Tier C (formats.md: Отложенные решения; index: Решения) - Оркестрационная тонкость: оркестратор читает только индекс/step/отчёты/возвраты, пишет только Журнал проходов/Отложенные решения/отчёт; тяжёлый рендер/прогон/чтение кода — в субагентах (index: DoD — тонкость)
- Финальный отчёт
plans/<prefix>/autopilot-report.md: итог + прогон по этапам + Tier-B отложенные + Tier-C эскалации + счётчики; пишется на любом завершении (finalize / Tier-C / стоп-кран), молча терять нельзя (index: DoD; index: Открытые вопросы — структура отчёта) - Run mode: walk-away дефолт / attended по позиционному слову
attended(/autopilot attended, ⊥@<index>); видимая строка объявления режима до цикла (autopilot: Run mode; index apl-08 DoD) - Субагенты всегда autonomous по каналу — attended живёт только на оркестраторе (держателе канала к человеку); спавн передаёт только
@<index>, контракт едет с каналом (work: Interaction mode; index apl-08) - Mode-gated 3-уровневая политика: walk-away → полная A/B/C; attended → Tier A сам, всё за ним → сразу стоп+вопрос человеку (без Tier-B-мока/поиска приемлемого дефолта) (autopilot: Run mode / Three-tier; index apl-08 DoD)
- Канал эскалации walk-away Tier-C: запись вопроса в
## Эскалацииотчёта → уведомление хоста (нет механизма → деградация в чистый стоп) → останов прогона (autopilot: Run mode; index apl-08 DoD) - Бесплатный resume: повторный вызов стартует с первого этапа без
[x]по чекбоксам; спец-паузы/resume-маркера нет (autopilot: Run mode; index apl-08 DoD) - Antipatterns оркестрации, incl. run-режим (attended-блокировка субагента / Tier-search под attended / выдуманный resume-маркер), watchdog (foreground без дедлайна / аборт по суждению / ре-спавн без timeout-прохода) и спавн без
#NN-пина (субагент ре-резолвит «первый без[x]» и дрейфует на чужой этап) (autopilot)