Repository navigation
기계로 판정 가능한 규칙을 산문에서 벤더중립 셸 스크립트로 옮긴 릴리스입니다. 3 flavor(claude·codex·antigravity)가 같은 스크립트를 공유하고, 호스트 훅에는 보장을 두지 않습니다(벤더 독립 유지).
Added
_shared/adapters/gate.sh <brief>— worker 호출 사전 게이트 (fail-closed, exit 9)
G0 인터랙티브 세션 · G1 brief 위치(tasks/<task>/workers/<role>/brief.md) · G2workers_approved· G3[APPROVAL]로그(같은 worker) · G4 한도(한글 1200자 / 영문 240단어, 한글 비율 판정) · G5 외부 쓰기 조건(승인 항목의target_repo·write_scope가 brief와 정확 일치 + 같은 worker·scope 값을 담은[APPROVAL]줄).--json출력으로 공백 경로 보존. 디스패처 경유 호출은 자동, native/MCP 직접 호출은 지침 Task Lifecycle 6에 따라 호출 전 실행._shared/adapters/scope_check.sh— write_scope 사후 검사 (보고만)
--snapshot <repo>로 실행 전 스냅샷(git 루트 기준 porcelain + 내용 해시, hex 인코딩 레코드) → 실행 후 대조. 기존 dirty/untracked 재수정·rename 원본·서브디렉터리 target 밖 변경까지 검출. 위반은status: scope_violation(exit 10), 검사 실패는scope_error(exit 12) — 둘 다 폴백 없는 최종 실패. 자동 revert 없음(채택 판단은 오케스트레이터). ignored 파일·비git 대상은 보장 제외(scope_check: skipped)._shared/reentry-check.sh <task>— 재진입 정합 검사
status↔log 불일치 검출(exit 11) + 역할별 brief/result/승인 표. 정정은 하지 않음. 태그는 timestamp 다음 필드만 읽어 본문 인용[TAG]에 흔들리지 않음.- 디스패처 배선 —
call_worker.sh가 gate·scope_check를 자동 호출. 승인된 역할(brief 경로)과 호출 역할 불일치 거부.none/tasks-only는 cwd=루트 고정(환경변수 fallback 제거),tasks-only=현재 작업 폴더만. envelope에scope_check·scope_violations필드. - 회귀보호 — design-basis D14, INV14(비주석 실제 호출 줄 검사 + self-test "호출 줄만 제거" 변이), validate C9c, 테스트 3종(
test_gate31 ·test_scope_check31 ·test_reentry12).
Changed
- claude flavor 1.5.0 / codex flavor 0.6.0 / antigravity flavor 0.4.0 — 위 집행층 동봉. 승인 항목 스키마에 외부 쓰기용
target_repo·write_scope필드(approval-policy). 지침 Lifecycle 6·Approval Gate·쓰기 정책·재진입에 집행 포인터.
리뷰
codex-critic(gpt-6-astra) 설계 리뷰 11건 + 구현 diff 리뷰 9건 전부 반영. 2차 리뷰의 절반이 "1차 반영이 반쪽"(폴백 경로 위반 덮임·env 우회·공백 경로·스냅샷 실패 무시)이었고, 추가로 macOS BSD grep -z/-f 비호환과 role 부분일치를 잡았습니다. 교훈은 _shared/learnings.md.
Versions
- 패키지 3.6.0 / claude flavor 1.5.0 / codex flavor 0.6.0 / antigravity flavor 0.4.0
검증: tests ALL PASS · 본체·3 flavor 러너 ALL PASS · self-test 전체 검출 · 3 flavor init→validate 전부 PASS · sync drift 0 · 스크립트 4종 3 flavor 바이트 일치
🤖 Generated with Claude Code