7a469dc913
enforce-parallel-session-lock keyed the lock on the hook's process.cwd(), which collapses to the main repo dir after a session resume — so sessions in DIFFERENT git worktrees shared one lock and false-blocked each other (observed: a brainrepo-worktree session blocked launching agents by a discipline-guard session). New resolveWorkspacePath() keys on the session's stable cwd (event.cwd) resolved to the git work-tree root (git -C <cwd> rev-parse --show-toplevel), with fallback to process.cwd() so behaviour never regresses when event.cwd is absent. Same-worktree concurrency stays serialized (unchanged) — discipline not weakened; only cross-worktree false-blocks fixed. TDD: RED (5 resolveWorkspacePath cases) -> GREEN -> tools-vitest 2003 passed / 2 skipped. Backlog item F; plan docs/superpowers/plans/2026-05-31-discipline-guard-backlog.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>