approval-gates: /approve и гейты не видят change/план в worktree (приёмка A2) #76

Closed
opened 2026-10-25 09:34:31 +03:00 by aep · 3 comments
Owner

Находка живой приёмки #59 (25.10.2026, фича #43): /approve резолвит openspec/changes/ и docs/superpowers/plans/ от cwd сессии (workingDirectory → process.cwd). Из сессии в основном checkout change, живущий в .claude/worktrees//, не виден — отказ «missing: proposal.md, design.md …» при существующих файлах.

Ожидание: гейты и /approve должны резолвить пути как хуки (harness_target.py resolve) — по репозиторию файла/поиском по .claude/worktrees// и .wt// от repoRoot, с фолбэком на cwd. Класс ограничения — T3.8/M-1 (#70). Обход (документированный): cwd сессии = worktree (как у sdd-субагентов).

Приоритет: P2 (блокирует удобный аппрув из основной сессии, есть штатный обход). Оценка: ~полдня (lib/gates.js + command-approve.js резолюция + тесты).

Находка живой приёмки #59 (25.10.2026, фича #43): /approve резолвит openspec/changes/<id> и docs/superpowers/plans/ от cwd сессии (workingDirectory → process.cwd). Из сессии в основном checkout change, живущий в .claude/worktrees/<slug>/, не виден — отказ «missing: proposal.md, design.md …» при существующих файлах. Ожидание: гейты и /approve должны резолвить пути как хуки (harness_target.py resolve) — по репозиторию файла/поиском по .claude/worktrees/*/ и .wt/*/ от repoRoot, с фолбэком на cwd. Класс ограничения — T3.8/M-1 (#70). Обход (документированный): cwd сессии = worktree (как у sdd-субагентов). Приоритет: P2 (блокирует удобный аппрув из основной сессии, есть штатный обход). Оценка: ~полдня (lib/gates.js + command-approve.js резолюция + тесты).
Author
Owner

Приёмка A3 (25.10, фича #77): гейт B честно заблокировал bounded-диспатч, чей промпт ссылался на .superpowers/sdd// без плана — «plan not approved» (fail-closed). Резолюция: bounded-задачи не используют .superpowers/sdd/; их брифы/отчёты живут в .superpowers/bounded//. Требуется строка в sdd-скилле/ролях (включить в #43 Task 3).

Приёмка A3 (25.10, фича #77): гейт B честно заблокировал bounded-диспатч, чей промпт ссылался на .superpowers/sdd/<name>/ без плана — «plan not approved» (fail-closed). Резолюция: bounded-задачи не используют .superpowers/sdd/; их брифы/отчёты живут в .superpowers/bounded/<id>/. Требуется строка в sdd-скилле/ролях (включить в #43 Task 3).
Author
Owner

Приёмка A4 (25.10, #43 Task 1): require-plan требует имя ветки в файле плана (планов много, правило «ровно один» не срабатывает), а /approve plan биндит sha256. Правильный порядок: строка «Ветка: feat/...» добавляется в план ДО plan-аппрува, затем владелец аппрувит план с новым sha256. Урок для шаблона плана/sdd-скилла (включить в #43 Task 4 тексты).

Приёмка A4 (25.10, #43 Task 1): require-plan требует имя ветки в файле плана (планов много, правило «ровно один» не срабатывает), а /approve plan биндит sha256. Правильный порядок: строка «Ветка: feat/...» добавляется в план ДО plan-аппрува, затем владелец аппрувит план с новым sha256. Урок для шаблона плана/sdd-скилла (включить в #43 Task 4 тексты).
aep closed this issue 2026-10-25 13:40:57 +03:00
Author
Owner

Закрыто PR #82 (feat/76-approve-resolve, коммит 885c451): /approve и гейты A/B резолвят change/план в worktree (.claude/worktrees/, .wt/), фолбэк на cwd. Верификация: dsh/tests 216/216, tests 640/0, openspec validate --strict valid.

Закрыто PR #82 (feat/76-approve-resolve, коммит 885c451): /approve и гейты A/B резолвят change/план в worktree (.claude/worktrees/*, .wt/*), фолбэк на cwd. Верификация: dsh/tests 216/216, tests 640/0, openspec validate --strict valid.
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#76
No description provided.