[tsq-quick] Phase Gate not triggered on phase completion
Resolved 💬 2 comments Opened Mar 19, 2026 by sonature-lab Closed Mar 19, 2026
Problem
/tsq-quick으로 Phase의 마지막 태스크를 완료했을 때, Phase Gate가 자동으로 트리거되지 않음.
사용자가 직접 "페이즈 게이트는?" 하고 물어봐야 실행됨.
Expected Behavior
/tsq-quick이든 /tsq-full이든, Phase의 마지막 태스크 완료 시:
- workflow.json에서 해당 Phase의 미완료 태스크가 0인지 감지
- 자동으로 Phase Gate 안내 → 실행
- Phase Gate 내용: RLS 검증, Librarian 호출 (phase-memory + trail), planning.md 갱신, Exit Checklist 검증
Current Behavior
/tsq-quick스킬에 Phase 완료 감지 로직이 없음- 스킬 비교표에 "Librarian 호출: X", "게이트: unit만"으로 되어 있어 PM이 Phase Gate를 생략함
- 이 비교표의 의도는 태스크 단위에서의 생략이지, Phase 완료 시점까지 면제하라는 뜻이 아님
Root Cause
MEMORY.md에도 기록된 Known Issue:
"Controller trigger chain (task-complete → phase-complete) is soft protocol, not system-enforced"
task-complete → seq-complete → phase-complete 체인이 프로토콜에만 존재하고, 실제 스킬 프롬프트에 감지 로직이 없음.
Proposed Fix
/tsq-quick 스킬 Protocol의 Step 8 (workflow.json 갱신) 이후에 추가:
9. **Phase 완료 감지**: workflow.json에서 현재 Phase의 모든 태스크가 completed인지 확인
- 모든 태스크 완료 → "Phase N의 모든 태스크가 완료되었습니다. Phase Gate를 진행합니다." 안내 후 자동 실행
- Phase Gate: Exit Checklist 검증 → Librarian 호출 → planning.md 갱신 → 다음 Phase 안내
또한 비교표에 주석 추가:
> Note: Librarian/Gate "X"는 태스크 단위 기준. Phase 완료 시에는 /tsq-quick에서도 Phase Gate + Librarian가 실행됨.
Impact
- Phase 3 완료 시 Phase Gate 누락 발생 (사용자가 수동으로 지적하여 뒤늦게 실행)
- phase-memory, trail 아카이브, planning.md 갱신이 지연됨
Related
- GitHub #24: Controller trigger chain not enforced
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗