Роли и память: слои ролей, /role, briefing, role-hint, link-roles (B5+B6) #2

Open
opened 2026-10-11 20:23:34 +03:00 by aep · 2 comments
Owner

Architectural. Спека: docs/superpowers/specs/2026-10-11-roles-and-memory-design.md (ветка retro/2026-10-11, утверждена владельцем 11.10.2026). Источник: ретро docs/retro/2026-10-11.md, находки RT-11, RT-13, RT-14, RT-15.

Часть 1 — обвязка (этот репозиторий, раздел 8 спеки):

  • roles/{dev,admin,analyst,qa}.md общего слоя, формат 3.1
  • skills/role/SKILL.md
  • agents/briefing.md
  • hooks/role-hint.sh + блок SessionStart в settings.hooks.json
  • link-roles.sh
  • install.sh ставит новое, --check проверяет
  • project-template/: заготовки ролей, role-repo/, режим --workspace в adopt/new-project
  • doctor.sh: симлинки ролей, тест role-hint, размеры CLAUDE.md и индекса памяти
  • global/CLAUDE.md ≤ 3 КБ, таблица «каждый абзац имеет адрес»
  • docs: HARNESS.md, README.md, CHANGELOG 0.3.0

Часть 2 — awp-ca (разделы 3.3, 6.2, 6.3, 7.3, 9 спеки): проектные файлы ролей, агенты jira-admin/qa-runner, репозитории направлений, чистка памяти, песочница и перенос. Отдельный план в workspace awp-ca.

Architectural. Спека: `docs/superpowers/specs/2026-10-11-roles-and-memory-design.md` (ветка retro/2026-10-11, утверждена владельцем 11.10.2026). Источник: ретро `docs/retro/2026-10-11.md`, находки RT-11, RT-13, RT-14, RT-15. Часть 1 — обвязка (этот репозиторий, раздел 8 спеки): - [x] `roles/{dev,admin,analyst,qa}.md` общего слоя, формат 3.1 - [x] `skills/role/SKILL.md` - [x] `agents/briefing.md` - [x] `hooks/role-hint.sh` + блок SessionStart в `settings.hooks.json` - [x] `link-roles.sh` - [x] `install.sh` ставит новое, `--check` проверяет - [x] `project-template/`: заготовки ролей, `role-repo/`, режим `--workspace` в adopt/new-project - [x] `doctor.sh`: симлинки ролей, тест role-hint, размеры CLAUDE.md и индекса памяти - [x] `global/CLAUDE.md` ≤ 3 КБ, таблица «каждый абзац имеет адрес» - [x] docs: HARNESS.md, README.md, CHANGELOG 0.3.0 Часть 2 — awp-ca (разделы 3.3, 6.2, 6.3, 7.3, 9 спеки): проектные файлы ролей, агенты jira-admin/qa-runner, репозитории направлений, чистка памяти, песочница и перенос. Отдельный план в workspace awp-ca.
Author
Owner

Часть 1 (обвязка) закрыта PR #4, merge 2c599a1 (ветка feat/2-roles-and-memory, 15 коммитов, тесты tests/run.sh 157/157). Все 10 пунктов части 1 выполнены, отмечены в описании.

Отличие от спеки: spike показал, что memory: project через симлинк не работает. Принят запасной вариант 6.5 (notes/agent-memory.md), link-roles симлинки памяти не создаёт (R-9, design #16).

Рулинги R-4..R-11 записаны в спеке, раздел «Decisions made without discussion», записи 11–18.

Issue остаётся открытой: часть 2 (awp-ca) не начата. Туда же отнесены M-4 (=T4.3), M-6, T10.2. Остальные отложенные находки вынесены в отдельную follow-up issue.

Часть 1 (обвязка) закрыта PR #4, merge 2c599a1 (ветка feat/2-roles-and-memory, 15 коммитов, тесты `tests/run.sh` 157/157). Все 10 пунктов части 1 выполнены, отмечены в описании. Отличие от спеки: spike показал, что `memory: project` через симлинк не работает. Принят запасной вариант 6.5 (`notes/agent-memory.md`), link-roles симлинки памяти не создаёт (R-9, design #16). Рулинги R-4..R-11 записаны в спеке, раздел «Decisions made without discussion», записи 11–18. Issue остаётся открытой: **часть 2 (awp-ca)** не начата. Туда же отнесены M-4 (=T4.3), M-6, T10.2. Остальные отложенные находки вынесены в отдельную follow-up issue.
Author
Owner

Вопрос для части 2 (awp-ca), из #25 (23.10.2026).

В cc-harness worktree теперь создаются через EnterWorktree с именем — в <repo>/.claude/worktrees/<имя>. Причина: с Claude Code 2.1.206 вход в worktree вне .claude/worktrees/ спрашивает подтверждение при любых allow-правилах.

Для awp-ca это правило напрямую не подходит, а решать за него с этой машины нельзя (workspace на другой машине):

  • корень awp-ca — не git-репозиторий, поэтому EnterWorktree с именем в нём worktree не создаст;
  • одна задача затрагивает несколько репозиториев, их worktree собраны в awp-ca/.wt/<задача>/<repo> вместе с симлинками (fixtures, CLAUDE.md, reference-old-arm). При схеме .claude/worktrees/ каждого репозитория задача разъехалась бы по N местам — это пересекается с B7 (wt-new/wt-rm);
  • если сессия остаётся в корне workspace и правит .wt/<задача>/<repo>/ по путям, не входя в worktree, запроса, скорее всего, нет вовсе.

Проверить на той машине:

  1. Спрашивает ли что-то при работе в .wt/<задача>/ без EnterWorktree.
  2. Нужен ли EnterWorktree(path) в .wt/<задача>/<repo> вообще.
  3. Решить вместе с B7: оставить .wt/<задача>/, если запроса нет, или перейти на хук WorktreeCreate.
Вопрос для части 2 (awp-ca), из #25 (23.10.2026). В cc-harness worktree теперь создаются через `EnterWorktree` с именем — в `<repo>/.claude/worktrees/<имя>`. Причина: с Claude Code 2.1.206 вход в worktree вне `.claude/worktrees/` спрашивает подтверждение при любых allow-правилах. Для awp-ca это правило напрямую не подходит, а решать за него с этой машины нельзя (workspace на другой машине): - корень awp-ca — не git-репозиторий, поэтому `EnterWorktree` с именем в нём worktree не создаст; - одна задача затрагивает несколько репозиториев, их worktree собраны в `awp-ca/.wt/<задача>/<repo>` вместе с симлинками (`fixtures`, `CLAUDE.md`, `reference-old-arm`). При схеме `.claude/worktrees/` каждого репозитория задача разъехалась бы по N местам — это пересекается с B7 (`wt-new`/`wt-rm`); - если сессия остаётся в корне workspace и правит `.wt/<задача>/<repo>/` по путям, не входя в worktree, запроса, скорее всего, нет вовсе. Проверить на той машине: 1. Спрашивает ли что-то при работе в `.wt/<задача>/` без `EnterWorktree`. 2. Нужен ли `EnterWorktree(path)` в `.wt/<задача>/<repo>` вообще. 3. Решить вместе с B7: оставить `.wt/<задача>/`, если запроса нет, или перейти на хук `WorktreeCreate`.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/claude-harness#2
No description provided.