# Milestone Closure — 2r

## Milestone
- ID         : 2r
- Name       : revert 축 판정 완결
- PRD        : `.claude/prds/insuniverse-docs-60-history-deprecated.prd.md`
- Plan       : `.claude/plans/insuniverse-docs-60-history-deprecated-m2r.plan.md`
- Status     : done
- Closed at  : 2026-08-26T07:57:03.943Z
- Closed by  : /mccp:milestone-close (run_id=a876d862-03b9-4f3b-b119-0016d6e93046)

## Acceptance Condition

PRD Delivery Milestones `2r` 행 Outcome 문면 그대로:

> `dead-candidates.yaml` `revert_groups` 8그룹 전건이 5중 필터 5축 값과 근거 앵커를
> 갖고, 판정 결과가 확정 0건임이 8행 각각의 최소 1축 `fail` 로 증명된다 —
> `unknown` 만으로 막힌 행이 0이므로 참조 카운트 축이 열려도 결과가 바뀌지 않는다.
> **이 행은 발행하지 않는다.**

## Goal Loop Result

`/goal` 루프는 돌지 않았다. 사용자가 종료 판정을 직접 내렸다 (verdict=done, 2026-08-26).

### 충족된 것 — 판정 실체

`.claude/plans/insuniverse-docs-60-history-deprecated-m2r.plan.md` §5중 필터 판정 원장이
8행 전건을 담는다. 8행 각각이 5축(필터1~5) 값과 근거 앵커를 갖고, **8행 모두 최소 1축이
`fail`** 이다 — `unknown` 만으로 막힌 행 0건. 따라서 참조 카운트 축(`11-index-code`)이
열려도 판정 결과가 바뀌지 않는다. 확정 0행. `사용자 확인` 은 전건 `미확인` 이며, 확정
후보가 없으므로 확인을 물을 대상 자체가 없다.

발행은 하지 않았다 — M1 하네스 `check10` 이 빈 `deprecated[]` 를 거부하므로
`docs/99-deprecated/02-reverted-policies.md` 는 이 창에서 생성 불가다. 이는 마일스톤
문면이 미리 명시한 상태이며 결함이 아니다. 발행은 M2 행 소관으로 남는다.

### 충족되지 않은 것 — 기계 포장

종료 시점 실측. 계획서 §Files to Change 5건 중 실제 변경은 PRD 1건뿐이다.

| 계획서 Task | 산출물 | 종료 시점 실측 |
|---|---|---|
| Task 0 | `.claude/plans/insuniverse-docs-60-history-deprecated-m2r.gates.mjs` | 부재 |
| Task 1 | 원장 8행 실값 | 8행 중 3행(`3aa75706` · `4410c381` · `68438342`)의 `revert sha`·`대상 sha` 셀이 `(dead-candidates.yaml revert_groups 에서 유도)` 자리표시자. 5축 값과 앵커는 8행 전건 실값 |
| Task 2 | `codex-findings-backlog.md` `id=60m2-revert-filters-fail` 닫힘 표식 | 부재 — 293행이 열린 채 |
| Task 3 | PRD M2 Outcome 발행조건 · Success Metrics 2셀 · Open Questions 1건 | 미반영 (`2r` 행 신설만 계획 커밋 `e647498` 에서 됨) |
| Task 4 | `docs/_meta/findings/60-history-deprecated.md` F-07·F-08·F-09 | 부재 — F-01~F-06 까지 |
| Task 5 | `docs/_meta/verify/golden.txt` 재동결 | 부재 |

### 종료 근거

사용자 판정: **판정 실체가 원장에 있고 그것이 이 마일스톤의 Outcome 문면이다.**
미완인 여섯은 하네스·표식·색인 갱신이며 판정 결과를 바꾸지 않는다. 위 표가 그 위임을
숨기지 않고 적은 것이 이 문서의 목적이다.

`mccp-implement-codex` receipt 부재는 결함이 아니다 — 이 환경은
`MCCP_CODEX_DISABLED=1` 이라 Codex 게이트가 구조적으로 발행되지 않는다.

`mccp-santa-review/insuniverse-docs-60-history-deprecated.json` 은
`resolution.review_verdict=divergent` · `quorum.passed=false` 로 봉인됐고
`head_sha=8a5b175` 다 (현재 HEAD 보다 뒤). 계획 단계 리뷰이며 이 종료의 선행조건으로
취급하지 않았다.

## Counterfactual — 전이 전/후 하네스

`2r` 행을 읽는 게이트가 없음을 실행으로 확인했다.

- 정적: `grep -n '2r' .claude/plans/insuniverse-docs-60-history-deprecated-m2.gates.mjs` 0건.
  `m1.gates.mjs` 는 M1 행과 M2 행만 읽는다 (1195행 · 576행).
- 동적: `node .claude/plans/insuniverse-docs-60-history-deprecated-m2.gates.mjs check9`
  를 전이 **전** 과 **후** 로 각각 실행 — 둘 다 rc 0 이고 출력 문자열이 동일하다
  (`M2 status=pending … 2b 행 status=pending …`). `check9` 는 Delivery Milestones 표를
  파싱하는 유일한 검사다.
- `docs/_meta/verify/verify.sh` `bootstrap_permitted()` 는 PRD `*Status:` 토큰의 DRAFT
  여부만 본다. 이 전이는 그 토큰을 건드리지 않았다 (279행 그대로).

전이 전 `m1.gates.mjs check-all` 기준선: `5/10` (실패 `verify.sh(rc 2)` · `check1` ·
`check3` · `check4` · `check6` · `check7`). 이 실패들은 전이 이전부터 있던 병합 잔여이며
`2r` 과 무관하다 — `#9`(M1 status) 와 `#10`(M2 인수)은 전이 전에 이미 ok 였다.

## Provenance
- Lock run_id        : a876d862-03b9-4f3b-b119-0016d6e93046
- Lock owner session : 13a5c810-6e9a-4b29-88ff-90f277d36d1b
- PRD source         : `.claude/prds/insuniverse-docs-60-history-deprecated.prd.md`
- Detection signal   : `{"row":2,"name":"revert 축 판정 완결","plan":".claude/plans/insuniverse-docs-60-history-deprecated-m2r.plan.md","status":"in-progress"}`
- Detection note     : `--milestone 2r` 는 `milestone-not-found` 다. 이름 부분일치로 지정해야 잡힌다
- mccp version       : 1.32.6
- HEAD at closure    : 46db230
