# Notes: 60 · 연혁 + 폐기 정본 — 마일스톤 2b (삭제 축)

> 계획서: `.claude/plans/insuniverse-docs-60-history-deprecated-m2b.plan.md`
> 이 파일은 `/mccp:prp-implement` 게이트 산출물이다. 계획서 본문은 바이트 그대로 두어
> `mccp-plan-codex` receipt 의 `plan_hash`
> (`sha256:a4d487f7d9e14a62ad92f1db68f2f979c97d93cdf185c93aba37763dd7862405`) 앵커를 유지한다.

## Codex Implementation Review

- 호출: `node .../scripts/lib/codex-invoke.js adversarial-review` — `classification: disabled`
  로 spawn 전 short-circuit. 2.5.0 정책 봉인이
  `.git/worktrees/60-history-deprecated/mccp/tmp/codex-policy.json` 에 `codex_disabled=true` 다.
- 라운드 수: 0
- 합치 결론: **없음.** Codex 가 이 창의 구현 결정에 의견을 낸 적이 없다. `MCCP_CODEX_DISABLED=1`
  은 `~/.claude/settings.json` `env` 의 영구 운영자 정책이며 게이트 우회가 아니라 입력 부재다.
- YAGNI Triage: 대상 0건 — 판정할 finding 이 없다.
- Deferred to backlog: 0
- Open Questions: 없음 (auto-CRITICAL 대상 0건). 단 계획서 §Codex Adversarial Review 가 남긴
  *"이 계획서는 적대 리뷰로 검증되지 않았다"* 는 **이 게이트에서도 해소되지 않는다** —
  plan 축과 implement 축이 같은 env 정책으로 함께 접혔다. 남은 인수처는 `/mccp:pr` 의
  PR-Codex 이고 그 축도 같은 env 로 접힌다. `codex_verdict=skipped` 이므로 교차 게이트
  dedupe 는 fail-closed 로 닫힌다.
- Codex session 참조: 없음

> Codex skipped per MCCP_CODEX_DISABLED=1

### 2.5.2 — 이 창의 implement-time 결정 (Codex 가 봤어야 할 목록)

리뷰가 돌지 않았으므로 아래는 **적대 검토를 받지 않은 결정** 목록으로 남긴다.

1. 하네스를 `m2b.gates.mjs` 단일 파일 8서브커맨드로 둔다 — 형제 창(`m1`·`m2`·`m2r`)의 형식이며
   신규 의존 0(INV1), Node 표준 모듈만 쓴다.
2. `ledger` 가 원장을 **매 실행 재유도**한다 — 손으로 옮긴 사본을 두지 않는다. 2r 이 SHA 셀 3칸을
   자리표시자로 남긴 비용이 근거다.
3. `m2.gates.mjs check9` 개정을 **단언 이동**으로 한다 — `pending`·`in-progress` 통과 +
   `complete` 일 때만 발행 결박. 삭제가 아니라는 것을 검사 `#8` 이 3방향 반사실로 잡는다.
4. 축 6칸 어휘 `<pass|fail|unknown> — <앵커>` 를 검사 `#1` 이 정규식으로 결박한다.
5. git 재유도(`ls-tree` · `--name-status` · 부모 트리 grep)를 하네스 안에서 `execFileSync` 로
   돌린다 — 셸 문자열 조립을 쓰지 않는다.
6. 기준선 blob 을 `git log --diff-filter=A -- <하네스>` 의 Task 0 커밋에서 읽는다 — 같은 창
   자기승인 차단. 그 앵커가 변경 창 안이라는 잔여는 `id=60m2b-anchor` 로 이월한다.

### Security Reviewer

> security-reviewer 미호출 — 이 창의 산출물은 문서(마크다운) · `golden.txt` · 로컬 게이트
> 하네스이며 Phase 2.5.5 가 지정한 보안 민감 영역(auth · crypto · secrets · 입력 검증 ·
> SQL/cmd injection · SSRF · path traversal · 권한 상승) 중 어느 것도 건드리지 않는다.
> 하네스가 부르는 git 은 전부 `execFileSync` 배열 인자이고 입력은 저장소 안 인덱스 파일이다.
> 자동 fallback 이 아니라 **트리거 미충족**이므로 `security_skipped` 를 찍지 않는다.

### Design Review

> impeccable 트리거 미충족 — `impeccable-detect --mode implement` 가
> `skill_available=true` · `design_signal=false` · `silent_skip=true` · `reason=no-signal` 을 냈다.
> 계획서 §Design Routing Guide 가 예고한 대로 `point.routes.tsx` 는 2025년 삭제 커밋의 **증거
> 경로**일 뿐 이 창의 변경 집합에 렌더링 표면이 0건이다. receipt 에
> `impeccable_silent_skip=true` 로 정직하게 기록한다. critique 루프 · 2.5.5b 라우팅 ·
> 2.5.5c grounding capture · 3.6 finish 라우팅 · 3.7 grounding verify 는 전부 no-op 이다.
