approval-gates: /approve и гейты не видят change/план в worktree (приёмка A2) #76
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Находка живой приёмки #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 резолюция + тесты).
Приёмка A3 (25.10, фича #77): гейт B честно заблокировал bounded-диспатч, чей промпт ссылался на .superpowers/sdd// без плана — «plan not approved» (fail-closed). Резолюция: bounded-задачи не используют .superpowers/sdd/; их брифы/отчёты живут в .superpowers/bounded//. Требуется строка в sdd-скилле/ролях (включить в #43 Task 3).
Приёмка A4 (25.10, #43 Task 1): require-plan требует имя ветки в файле плана (планов много, правило «ровно один» не срабатывает), а /approve plan биндит sha256. Правильный порядок: строка «Ветка: feat/...» добавляется в план ДО plan-аппрува, затем владелец аппрувит план с новым sha256. Урок для шаблона плана/sdd-скилла (включить в #43 Task 4 тексты).
Закрыто 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.