[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의 마지막 태스크 완료 시:

  1. workflow.json에서 해당 Phase의 미완료 태스크가 0인지 감지
  2. 자동으로 Phase Gate 안내 → 실행
  3. 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

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗