- C-1: транскрипты сабагентов (<сессия>/subagents/*.jsonl) вливаются в
сессию-родителя — ходы, токены, инструменты, codegraph, блокировки,
отказы; промпты, роль, стартовый контекст — только из основного.
hook_blocks_export.py выгружает их блокировки с сессией-родителем.
- I-7: период режется по меткам времени записей; сессия на стыке
делится между ретро, стартовый контекст — если первый ход в периоде.
- I-1: простые команды Bash — shlex с punctuation_chars, «|» в кавычках
команду не делит. I-2: правило src/ ловит и сам каталог src.
- I-3: clip() — redact до обрезки (кандидаты, выгрузка), роль — redact.
- I-4: без --since период берётся из существующего --out; --from рисует
«Цифры» из сохранённого среза. SKILL.md передаёт период явно.
- I-5: выгрузка ретро без разметки — сборка корпуса падает.
- I-6: сводка компакции — не промпт; «перечитай» — побуждение перечитать.
- 2026-10-11.metrics.json: несравнимое помечено (без сабагентов, широкий
«перечитай»). Спека и design.md (Decisions) обновлены.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Синтетические сообщения об ошибке API (model <synthetic>) не считаются ходом модели (O-18, живой прогон).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
OpenSpec change harness-retro: proposal, specs (harness-retro — новая
capability; hook-guards — MODIFIED «Регрессионный корпус хуков»: сегменты
и known), design с Decisions made without discussion. По итогам
brainstorming 24.10.2026: черновик ретро, срез одного проекта, запуск из
репозитория обвязки, разметка блокировок агентом в корпус, хвосты по
текущему состоянию, поправки владельца по процессу, подход A.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
С Claude Code 2.1.206 вход в worktree вне .claude/worktrees/ спрашивает
подтверждение при любых allow-правилах. EnterWorktree с именем создаёт
worktree в <repo>/.claude/worktrees/<slug> на ветке worktree-<slug> от
origin/main и входит без вопроса; ветка переименовывается в
feat/<id>-<slug>.
- roles/dev.md: «Исполнение» — EnterWorktree с именем; п. 1 закрытия —
archive-<id>; п. 4 — ExitWorktree (keep) снимает блокировку сессии,
затем git worktree remove и branch -D.
- .claude/worktrees/ в .gitignore: adopt-project.sh, project-template,
этот репозиторий; doctor.sh — WARN, если не игнорируется.
- Спека hook-guards: сценарии «worktree внутри репозитория» для
guard-main и require-plan; тесты закрепляют уже верное поведение.
- HARNESS.md (шаг 4, п. 4, подтверждения), SKILL.md, CHANGELOG 0.5.1,
CLAUDE.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
openspec archive hooks-write-target: change перенесён в
openspec/changes/archive/2026-10-16-hooks-write-target/, дельта применена —
openspec/specs/hook-guards/spec.md (20 требований), validate --strict проходит.
Ссылки на путь спеки в harness_target.py, hook_cases_build.py и CHANGELOG
переведены на openspec/specs/hook-guards/spec.md; в CLAUDE.md «Текущая работа»
B1+B2 переведены в «Сделано» (PR #12, follow-ups — #13).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
I-1, I-2, M-3, M-4, M-5 (переоценены в Important), M-8; спека и design.md синхронизированы (M-7).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
proposal, specs/hook-guards (16 требований), design с Decisions made without discussion. B1, B2, решение владельца 1; RT-1, RT-2, RT-6, RT-7.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>