v0.9.9 — 워크플로 잠금 해제 + 리뷰 게이트 운영 보강 4종
리뷰 게이트 운영 보강 4종 (REQ-2026-053~056, 소비 저장소 운영감사 후속). 모두 0.9.8 위의 추가 기능(신규 명령·additive 필드·opt-in)이라 기존 사용자는 무회귀입니다.
-
레거시 완료 티켓 마이그레이션 종결 —
req:close --migrate(REQ-2026-053). 0.9.8의req:nextDONE 게이트/intake가 close-proof·design 결속 도입 이전에 완료·병합된 durable 티켓을 영구 미종결로 분류해 새 REQ 생성을 막던 워크플로 잠금을 해소합니다. dev-complete를 흉내 내지 않는 별도 close 이벤트migrated-complete를 두고, HEAD-committed 증거 무결성·design/phase 증거·**본선 병합 여부(integrated)**를 검증한 티켓만 종결합니다(mainline은 신뢰된 ref로만 해소·운영자 override 없음). dry-run 기본·재실행 멱등. -
리뷰 호출 lifecycle 분류 + pre-dispatch 무차감 예산 (REQ-2026-054). 리뷰 attempt 실패를
pre_dispatch_failed·dispatched_unknown·dispatch_confirmed·completed로 분류해 원장에 보상attempt-closed를 남깁니다. 명백한 pre-dispatch 실패(codex spawn 실패)만 회차를 환불하고 나머지는 fail-closed 차감(환불은refunded_attempts별도 카운터 —attempts는 단조 유지해 원장 자연키 충돌 회피). -
req:review-exception전용 명령 + 구조화 rationale (REQ-2026-055). needs-exception 예외를state.json수동 편집 대신 검증·원자 기록합니다. 대상 series·회차를 소비 게이트와 같은 함수로 계산하고, 구조화 rationale을 전용review-exceptions.jsonl에 durable하게 남깁니다(durable 먼저 커밋 후에만 소비 가능 state 기록 — 부분 실패 시 근거 없는 예외 방지). B1 review-ledger 스키마는 불변. -
lockfile 프롬프트 요약 + frozen-lockfile doctor D23 (REQ-2026-056). lockfile diff(수천 줄)를 리뷰 프롬프트에서 요약(경로·통계·SHA)으로 대체합니다 — 승인 바인딩은 불변이라 승인은 전체 lockfile을 결속하고 요약은 리뷰어 view만 바꿉니다. config
lockfilePromptFull로 전문 opt-in.req:doctorD23은 lockfile 부재/untracked를 WARN합니다(FAIL 아님).
전체 테스트 1363 → 1709. CI 9/9(ubuntu·windows·macos × node 18/20/22) green.