feat: unit tests for BLOCKED:PERSISTENT → gated status transition#
Problem#
Commit #243 added the status=gated transition for BLOCKED:PERSISTENT signals and the gated hook category, but edge-case coverage for these paths was missing.
Task / Link#
Closes #248
Changes#
- Added "already-gated" edge-case test:
BLOCKED:PERSISTENTon an already-gated task does not error and correctly updatesgatePhase/gateReason - Added "clears before threshold" edge-case test: one
BLOCKED:TRANSIENTthenCOMPLETEleaves status ascomplete, notgated - Created
src/hooks/phase-hooks.service.spec.tswith fullonPhaseBlockedcoverage forcategory='gated'— non-refine/review phases add label + post comment; refine/review phases return early with no side effects
Notes#
No production code changes — test-only PR.
Testing#
- Unit tests: 666 passing
npm run lint— no new lint errors introduced (pre-existing errors inws-gateway/main.tsare unrelated)