Skip to content

feat: extend pipeline phase gates to quality-loop and feature-lifecycle#605

Merged
notque merged 1 commit intomainfrom
feat/blocking-phase-gates
May 8, 2026
Merged

feat: extend pipeline phase gates to quality-loop and feature-lifecycle#605
notque merged 1 commit intomainfrom
feat/blocking-phase-gates

Conversation

@notque
Copy link
Copy Markdown
Owner

@notque notque commented May 8, 2026

Summary

  • Extends hooks/pipeline-phase-gate.py PHASE_SENTINEL_REGISTRY from 1 pipeline to 3 skills
  • quality-loop: blocks IMPLEMENT without task_plan.md, blocks TEST/FIX/PR without state file
  • feature-lifecycle: blocks PLAN/IMPLEMENT/VALIDATE/RELEASE without .feature/ directory
  • JSON sentinel support alongside legacy integer format
  • ADR: adr/blocking-phase-gates.md

Test plan

  • 25 unit tests (4 regression, 6 quality-loop, 4 feature-lifecycle, 5 bypass/fallthrough, 5 sentinel)
  • Integration: real hook invocation with stdin JSON — blocks without artifact, allows with artifact, bypass works
  • A/B test: 20 complex tasks with gates vs 20 without (post-merge validation)

…, pr-workflow gates

Generalizes the phase-sentinel registry per ADR blocking-phase-gates.md:

- PHASE_SENTINEL_REGISTRY: add quality-loop (5 gated phases), feature-lifecycle
  (4 gated phases), pr-workflow (placeholder for git-state gates)
- _read_phase_sentinel: support JSON sentinel format {"pipeline": ..., "phase": N}
  alongside legacy plain-integer format
- _artifact_exists: handle both file and directory artifacts (.feature/)
- ARTIFACT_TO_PIPELINE: add task_plan.md and quality-loop-state.md mappings
- Pipeline resolution: env > sentinel JSON > basename inference (3-tier)
- 25 tests covering all 3 new skills, regression for do-perspectives,
  bypass, fallthrough, and sentinel format variants
@notque notque merged commit 2d2ef16 into main May 8, 2026
5 checks passed
@notque notque deleted the feat/blocking-phase-gates branch May 8, 2026 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant