17 Commits

Author SHA1 Message Date
203436b9c2 docs(retro): решения владельца 24.10 — бэклог B13–B17 принят; CLAUDE.md «Текущая работа» (#33)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:26:29 +04:00
bdaee66dfc docs(retro): ретро 2026-10-24 по cc-harness — первый прогон /harness-retro (#33)
Срез с 2026-10-11 (2 сессии): метрики и сравнение с 11.10, 6 блокировок размечены в корпус (135/135), хвостов нет, поправки владельца; находки RT-21…RT-25, бэклог B13–B17.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:21:40 +04:00
132504520b feat(retro): «сделай сам» — признак поправки владельца (H-1, PR #30)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:07:26 +04:00
3d2ce3f41d fix(retro): финальное ревью — сабагенты, период по записям, разбор Bash, redact до обрезки, --from (#29)
- 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>
2026-10-24 01:59:41 +04:00
cc697c030c feat(retro): skill /harness-retro, шаблон ретро, метрики 11.10; документация 0.6.0 (#29)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:28:56 +04:00
4bbf6ebb3a feat(retro): retro_leftovers.py — хвосты чеклиста закрытия по состоянию репозиториев (#29)
SDD workspace в worktree активной задачи хвостом не считается (O-19, живой прогон).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:25:14 +04:00
dde575673d feat(retro): retro_metrics.py — срез метрик, кандидаты в поправки владельца, сравнение с прошлым ретро (#29)
Синтетические сообщения об ошибке API (model <synthetic>) не считаются ходом модели (O-18, живой прогон).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:21:53 +04:00
4d52ef773d feat(retro): корпус хуков по сегментам и known, выгрузка блокировок за период (#29)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:17:22 +04:00
897fa0f3a7 feat: install.sh ставит allow-правила цикла фичи, --no-permissions для отказа (#24, 0.5.0)
Пересмотр решения владельца 2: allow-правила (git worktree, git branch
-m/-D, push фичевых и chore-веток, push --delete, tea issues/pulls
create/list/edit/comments) ставит install.sh в ~/.claude/settings.json,
а не владелец руками. Список — global/permissions.json; merge и push в
main в нём нет. Правила только дописываются, чужие не трогаются; копия
списка — ~/.claude/harness/permissions.json для doctor.sh.

- install.sh: шаг 5 — слияние permissions.allow; --no-permissions;
  неизвестный аргумент — ошибка; --check показывает permissions N/M.
- doctor.sh, «Машина»: ok / WARN со списком недостающих / MISS.
- adopt/new-project: строка push --delete — для --no-permissions.
- harness-doctor: агент чинит install.sh --no-permissions, права ставит
  владелец (иначе обход отказа классификатора auto mode).
- EnterWorktree не входит: вход в worktree вне .claude/worktrees/
  спрашивает подтверждение при любых правилах (#25).
- README, HARNESS.md, roles/dev.md, CLAUDE.md, ретро (пометка о
  пересмотре решения 2), CHANGELOG 0.5.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 00:01:57 +04:00
6b7a073f6f chore(openspec): архив hooks-write-target, спека hook-guards в openspec/specs (#6)
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>
2026-10-16 10:16:06 +04:00
3d54932709 test(hooks): регрессионный корпус хуков из транскриптов, экстрактор только по ошибкам хука (#6)
B2, RT-6, O-1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 01:56:47 +04:00
Andrey Epifancev
2549e86882 test(fixtures): 126 блокировок хуков из транскриптов (сырьё B2, #6) 2026-10-12 15:37:08 +04:00
Andrey Epifancev
5fd8346ef9 docs: старт #6 — экспорт блокировок хуков из транскриптов, текущая работа в CLAUDE.md
hook_blocks_export.py выгружает блокировки хуков в JSONL (cwd, ветка, команда,
ответ хука) — сырьё для регрессионных тестов B2. Похожее на секреты скрывается.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 15:26:47 +04:00
Andrey Epifancev
d2889483bc fix: правила для сабагентов, точные формулировки dev.md
Сабагенты не получают вывод /role, поэтому глобальный CLAUDE.md задаёт
для них правило и полный путь ~/.claude/roles/dev.md, а роль dev велит
передавать этот файл контроллеру SDD и ревьюеру ветки (I-1). Уточнены
формулировки про [claude-harness] (M-2) и allow-правило push --delete (M-3).

Refs #2

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MzkPQWjfA7RpqYWkjnqJwt
2026-10-12 00:48:16 +04:00
Andrey Epifancev
c3512d068e feat(global): CLAUDE.md ≤ 3 КБ — роль, хуки, память, маркировка; таблица адресов
Refs #2

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MzkPQWjfA7RpqYWkjnqJwt
2026-10-12 00:29:18 +04:00
Andrey Epifancev
f8b77ed8e3 docs(retro): решения владельца по разделу 5
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-11 17:24:26 +04:00
Andrey Epifancev
0733ffd9c9 docs: ретроспектива обвязки 11.10.2026 по полигону awp-ca
Находки RT-1…RT-20, бэклог B1…B12, решения владельцу; скрипты подсчёта
по транскриптам (retro_stats.py, retro_blocks.py) как основа регулярного ретро.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-11 16:51:34 +04:00