# 소유권 정본 — PRD별 배타 소유 경로 · 공유 자산 · 스크래치 승격

## 승계 선언

**이 시점부터 소유권 정본은 이 파일이다.** `insuniverse-policy-docs.prd.md` §PRD 분할 맵은 이 파일이 없던 기간의 정본이었다.

근거는 `insuniverse-docs-00-protocol.prd.md` §Risks 다 — *"배타 소유 경로표가 이미 분리. `ownership.md`(마일스톤 7)가 늦게 나오므로 **그 전까지는** 부모 PRD 분할 맵이 정본"*. 즉 이 파일의 생성이 승계 시점이다.

승계는 전사가 아니라 **무손실 승계**다. 아래 §PRD별 배타 소유 경로는 우산 표 10행을 **한 행도 다르지 않게** 옮긴 것이고(선행조건 · 경로 · 종료조건까지 행 단위로 결속), 우산에 없던 항목은 §승계 시 추가에 **행 단위로 선언**한다. 선언되지 않은 초과는 게이트가 실패시킨다.

우산 PRD 파일 자체는 이 worktree 가 편집하지 않는다 — 다른 소유다(`insuniverse-docs-00-protocol.prd.md` §배타 소유 경로).

## PRD별 배타 소유 경로

각 행이 별도 PRD 파일이자 별도 worktree. **배타 소유 경로가 겹치는 행은 없다** — 이것이 동시 작업의 유일한 보증이다.

종료조건 열의 `동일` 은 우산 표의 축약을 **그대로** 옮긴 것이며 바로 위 행과 같다는 뜻이다. 게이트가 이 표를 우산과 **원본 순서 그대로** 행 단위 대조하므로 축약을 풀면 대조가 깨진다.

| PRD 파일 | 선행조건 | 배타 소유 경로 | 종료조건 |
|---|---|---|---|
| `insuniverse-docs-00-protocol.prd.md` | 없음 | `docs/_meta/extraction-manifest.yaml`, `docs/_meta/verify/**`, `docs/_meta/onboarding-questions.yaml`, `docs/_meta/template-config.yaml`, `docs/_meta/ownership.md`, `docs/00-index.md` | manifest 2회 실행 수치 편차 0 + 온보딩 질문 사용자 승인 |
| `insuniverse-docs-10-index-git.prd.md` | 00 M2 | `docs/_meta/index/commits.*.jsonl`, `comments.*.jsonl`, `releases.yaml`, `cross-repo-days.csv`, `dead-candidates.yaml`, `policy-candidates.git.jsonl`, `README.10-index-git.md`, `cross-repo-days.md`, `index-pins.lock` | 재실행 시 diff 0 + 모든 후보에 status 부여 |
| `insuniverse-docs-11-index-code.prd.md` | 00 M2 | `docs/_meta/index/codes/*.yaml`, `constants.yaml`, `env-gates.yaml`, `policy-anchors.yaml`, `api-contracts.jsonl`, `schema-constraints.jsonl`, `tests.jsonl`, `policy-candidates.code.jsonl` | 동일 |
| `insuniverse-docs-12-index-runtime.prd.md` | 00 M2 | `docs/_meta/index/schedules.yaml`, `vendor-behaviors.yaml`, `legal-surfaces.yaml`, `policy-candidates.runtime.jsonl` | 동일 |
| `insuniverse-docs-13-relation-contract.prd.md` | 00·10·12 | `.claude/meta/05-final-spec.md`, `.claude/meta/12-flow-centric-restructure.md`, `.claude/meta/13-precursor-prd-scope.md`, `.claude/meta/14-doc-viewer-meta-analysis.md` | 사람이 쓴 링크 0 + 소유권 게이트 exit 0 |
| `insuniverse-docs-20-foundation-access.prd.md` | 10·11·12·13 | `docs/01-foundation/**`, `docs/02-access/**` | 온보딩 질문 중 해당 영역 100% 답변 가능 + 리뷰 불일치 0 (2라운드) |
| `insuniverse-docs-30-contracts-limits.prd.md` | 10·11·12·13 | `docs/03-contracts/**`, `docs/04-limits/**` | 동일 |
| `insuniverse-docs-40-runtime-vendor-legal.prd.md` | 10·11·12·13 | `docs/05-schedules/**`, `docs/06-vendors/**`, `docs/07-legal/**` | 동일 |
| `insuniverse-docs-50-domain.prd.md` | 10·11·12·13 | `docs/10-server/**`, `docs/20-site/**`, `docs/30-admin/**` | 동일 |
| `insuniverse-docs-60-history-deprecated.prd.md` | 10·11·12·13 | `docs/90-history/**`, `docs/99-deprecated/**` | 동일 |

## 승계 시 추가

우산 표에 없던 소유 경로다. 각 행은 **어느 문서를 근거로** 하는지를 밝히고, 게이트가 그 근거 문서의 §배타 소유 경로 절을 실제로 열어 경로 실재 · 소유자 일치 · 범위 한정 일치를 확인한다. 허용 목록을 코드에 리터럴로 박지 않는 이유가 이것이다 — 리터럴은 개수 증가만 막고 *어느 문서가 정본인지*를 해결하지 못한다.

**범위 한정 열은 장식이 아니다.** 한정을 잃은 채 경로만 옮기면, 이 파일이 정본이 되는 순간 하류 PRD 가 자기 findings 파일을 쓸 권한이 정본상 사라진다. 근거 행에 `←` 한정어가 있으면 이 열이 그것과 일치해야 하고, 없으면 `전체` 라고 적는다.

**다른 소유자의 경로와 겹치는 추가는 거부된다.** 자기 PRD 에 경로를 적고 그 PRD 를 근거로 드는 자기 승인이 두 개의 배타 소유자를 만드는 것을 이 검사가 막는다. 대조 대상은 위 §PRD별 배타 소유 경로 10행과 **이 표의 다른 행 전부**다.

거부 조건은 두 가지다.

- **정확히 같은 경로**: 언제나 거부. 범위 한정과 무관하게 배타 소유자가 둘이 된다.
- **한쪽이 다른 쪽의 상위 경로**: **상위 쪽 범위 한정이 `전체` 일 때만** 거부한다. 한정이 붙은 상위는 그 한정 자체가 *"하위는 남의 것"* 이라는 선언이다 — `docs/_meta/findings/` 가 *디렉터리·기록 형식만* 인 것이 그렇고, 그래서 하류 PRD 가 `docs/_meta/findings/<prd-id>.md` 를 자기 승계로 선언하는 것은 규약이 예정한 정상 경로다. 무조건 거부하면 그 정상 경로가 막힌다. §PRD별 배타 소유 경로 10행은 한정 열이 없으므로 전부 `전체` 로 본다.

**하류 PRD 가 자기 §배타 소유 경로에 선언한 `_meta/` 개인 파일도 여기 실린다.** 우산 표는 8개 worktree 가 `docs/` **산출물**을 두고 충돌하지 않게 하는 것이 목적이라 PRD별 개인 파일을 담지 않았다. 이 파일이 정본인 이상, 여기 없는 경로는 정본상 무소유다 — 두 worktree 가 같은 `term-requests/x.md` 를 각자 자기 것이라고 주장해도 아무 데서도 터지지 않는다. 게이트가 **양방향**으로 묶는다: 여기 있는 행은 근거 PRD 에 실재해야 하고(검사 2b), PRD 가 선언한 `findings/<id>.md` · `term-requests/<id>.md` 는 여기 있어야 한다(검사 2e).

`docs/_meta/index/**` 계열은 아직 이 결속 밖이다. 우산이 축약 표기(`comments.*.jsonl`)를, 하류 PRD 가 전 경로를 써서 표기 정규화가 먼저 필요하고, 그 정규화는 하류가 착수하며 자기 선언을 낼 때의 축이다.

| 소유자 | 경로 | 범위 한정 | 사유 | 근거 |
|---|---|---|---|---|
| `insuniverse-docs-00-protocol.prd.md` | `.gitmodules` | 전체 | 우산 표는 8개 worktree 가 `docs/` **산출물**을 두고 충돌하지 않게 하는 목적이라 저장소 루트 파일을 담지 않는다. 마일스톤 1 의 서브모듈 제자리 전환이 실제 소유를 만들었다 | `insuniverse-docs-00-protocol.prd.md` §배타 소유 경로 |
| `insuniverse-docs-00-protocol.prd.md` | `.gitattributes` | 2026-08-06 추가. 12-index-runtime 회부 5 수용 (아래) | `.gitmodules` 와 같은 저장소 루트 인프라라 우산 표가 담지 않는다. `12-index-runtime` 이 회부하고 이 PRD 가 수용해 EOL 정책을 고정했다 | `insuniverse-docs-00-protocol.prd.md` §배타 소유 경로 |
| `insuniverse-docs-00-protocol.prd.md` | `docs/_meta/findings/` | 디렉터리·기록 형식만. 각 파일 본문은 생성 PRD 소유 | 우산 표의 `00-protocol` 행이 누락했다. 발견 기록 규약(F6, 2026-08-05 확정)이 이 PRD 에 개설 책임을 지운다 | `insuniverse-docs-00-protocol.prd.md` §배타 소유 경로 |
| `insuniverse-docs-10-index-git.prd.md` | `docs/_meta/findings/10-index-git.md` | 전체 | 우산 표가 담지 않은 PRD별 개인 파일. 이 PRD 가 §배타 소유 경로에 직접 선언했다 | `insuniverse-docs-10-index-git.prd.md` §배타 소유 경로 |
| `insuniverse-docs-10-index-git.prd.md` | `docs/_meta/term-requests/10-index-git.md` | 전체 | 우산 §공유 자산이 용어 추가를 자기 소유 파일 한 줄로 규정했으나 그 파일 자체는 분할 맵 밖이다 | `insuniverse-docs-10-index-git.prd.md` §배타 소유 경로 |
| `insuniverse-docs-11-index-code.prd.md` | `docs/_meta/findings/11-index-code.md` | 전체 | 우산 표가 담지 않은 PRD별 개인 파일. 이 PRD 가 §배타 소유 경로에 직접 선언했다 | `insuniverse-docs-11-index-code.prd.md` §배타 소유 경로 |
| `insuniverse-docs-11-index-code.prd.md` | `docs/_meta/term-requests/11-index-code.md` | 전체 | 우산 §공유 자산이 용어 추가를 자기 소유 파일 한 줄로 규정했으나 그 파일 자체는 분할 맵 밖이다 | `insuniverse-docs-11-index-code.prd.md` §배타 소유 경로 |
| `insuniverse-docs-12-index-runtime.prd.md` | `docs/_meta/findings/12-index-runtime.md` | 형식 정본은 00-protocol 마일스톤 7 (pending) | 우산 표가 담지 않은 PRD별 개인 파일. 이 PRD 가 §배타 소유 경로에 직접 선언했다 | `insuniverse-docs-12-index-runtime.prd.md` §배타 소유 경로 |
| `insuniverse-docs-12-index-runtime.prd.md` | `docs/_meta/term-requests/12-index-runtime.md` | 형식 정본 없음. 이 PRD 가 최소안을 제시 | 우산 §공유 자산이 용어 추가를 자기 소유 파일 한 줄로 규정했으나 그 파일 자체는 분할 맵 밖이다 | `insuniverse-docs-12-index-runtime.prd.md` §배타 소유 경로 |
| `insuniverse-docs-20-foundation-access.prd.md` | `docs/_meta/findings/20-foundation-access.md` | 전체 | 우산 표가 담지 않은 PRD별 개인 파일. 이 PRD 가 §배타 소유 경로에 직접 선언했다 | `insuniverse-docs-20-foundation-access.prd.md` §배타 소유 경로 |
| `insuniverse-docs-30-contracts-limits.prd.md` | `docs/_meta/findings/30-contracts-limits.md` | 전체 | 우산 표가 담지 않은 PRD별 개인 파일. 이 PRD 가 §배타 소유 경로에 직접 선언했다 | `insuniverse-docs-30-contracts-limits.prd.md` §배타 소유 경로 |
| `insuniverse-docs-30-contracts-limits.prd.md` | `docs/_meta/term-requests/30-contracts-limits.md` | 전체 | 우산 §공유 자산이 용어 추가를 자기 소유 파일 한 줄로 규정했으나 그 파일 자체는 분할 맵 밖이다 | `insuniverse-docs-30-contracts-limits.prd.md` §배타 소유 경로 |
| `insuniverse-docs-40-runtime-vendor-legal.prd.md` | `docs/_meta/findings/40-runtime-vendor-legal.md` | 전체 | 우산 표가 담지 않은 PRD별 개인 파일. 이 PRD 가 §배타 소유 경로에 직접 선언했다 | `insuniverse-docs-40-runtime-vendor-legal.prd.md` §배타 소유 경로 |
| `insuniverse-docs-40-runtime-vendor-legal.prd.md` | `docs/_meta/term-requests/40-runtime-vendor-legal.md` | 전체 | 우산 §공유 자산이 용어 추가를 자기 소유 파일 한 줄로 규정했으나 그 파일 자체는 분할 맵 밖이다 | `insuniverse-docs-40-runtime-vendor-legal.prd.md` §배타 소유 경로 |
| `insuniverse-docs-50-domain.prd.md` | `docs/_meta/findings/50-domain.md` | 전체 | 우산 표가 담지 않은 PRD별 개인 파일. 이 PRD 가 §배타 소유 경로에 직접 선언했다 | `insuniverse-docs-50-domain.prd.md` §배타 소유 경로 |
| `insuniverse-docs-50-domain.prd.md` | `docs/_meta/term-requests/50-domain.md` | 전체 | 우산 §공유 자산이 용어 추가를 자기 소유 파일 한 줄로 규정했으나 그 파일 자체는 분할 맵 밖이다 | `insuniverse-docs-50-domain.prd.md` §배타 소유 경로 |
| `insuniverse-docs-60-history-deprecated.prd.md` | `docs/_meta/findings/60-history-deprecated.md` | 전체 | 우산 표가 담지 않은 PRD별 개인 파일. 이 PRD 가 §배타 소유 경로에 직접 선언했다 | `insuniverse-docs-60-history-deprecated.prd.md` §배타 소유 경로 |
| `insuniverse-docs-60-history-deprecated.prd.md` | `docs/_meta/term-requests/60-history-deprecated.md` | 전체 | 우산 §공유 자산이 용어 추가를 자기 소유 파일 한 줄로 규정했으나 그 파일 자체는 분할 맵 밖이다 | `insuniverse-docs-60-history-deprecated.prd.md` §배타 소유 경로 |
| `insuniverse-docs-13-relation-contract.prd.md` | `docs/_meta/findings/13-relation-contract.md` | 전체 | 우산 표가 담지 않은 PRD별 개인 파일. 이 PRD 가 §배타 소유 경로에 직접 선언했다 | `insuniverse-docs-13-relation-contract.prd.md` §배타 소유 경로 |
| `insuniverse-docs-70-viewer.prd.md` | `docs/_meta/findings/70-viewer.md` | 전체 | 우산 표가 담지 않은 PRD별 개인 파일. 이 PRD 가 §배타 소유 경로에 직접 선언했다 | `insuniverse-docs-70-viewer.prd.md` §배타 소유 경로 |

## 공유 자산 충돌 방지 프로토콜

| 자산 | 소유자 | 나머지 PRD의 접근 |
|---|---|---|
| `docs/_meta/extraction-manifest.yaml` | `00-protocol` | **읽기 전용.** 수정 필요 시 작업 중단 후 사용자 판단 — 규약 변경은 모든 산출물을 무효화한다 |
| `docs/00-index.md` | `00-protocol` | **읽기 전용.** 미생성 문서 경로까지 전부 미리 확정되어 있으므로 나중에 손댈 일이 없다 |
| `docs/01-foundation/01-glossary.md` | `20-foundation-access` | 직접 편집 금지. 새 용어가 필요하면 자기 소유의 `docs/_meta/term-requests/<prd-id>.md` 에 한 줄 추가 → `20` 이 병합 |
| `policy-candidates.*.jsonl` | 축별 인덱스 PRD 각각 | 문서 PRD는 3개를 **읽어서** 사용. 중앙 병합 파일 없음 (`cat` 이 병합) |
| 발견한 버그·불일치 | 없음 | 각자 `docs/_meta/findings/<prd-id>.md` 에만 기록 |

**동시 실행 권장 상한: 3~5.** 그 이상은 리뷰(사용자 1인)가 병목이 되어 worktree가 대기 상태로 쌓인다.

## 스크래치 승격 규약

`.claude/meta/*.temp.md` 는 `.gitignore` 대상이라 이력에 남지 않는다. 승격 규칙은 다음 4항이다(`insuniverse-docs-00-protocol.prd.md` §스크래치 승격 규약, 2026-08-05 확정).

- **승격 대상 판정**: 인덱스 산출물의 필드를 채울 수 있는 사실만. 서술·요약·추정은 승격하지 않는다.
- **승격 시 필수 기재**: 출처 스크래치 파일명 + 원 측정 시점 + `05-final-spec.md` §2 근거 등급 부여.
- **재측정 의무**: 스크래치는 구 SHA 기준이므로 승격 시 신 SHA 로 값을 다시 확인한다. 일치하지 않으면 신 SHA 값을 채택하고 차이를 기록한다.
- **중복 조사 금지**: 승격된 항목은 인덱스 PRD 가 같은 대상을 처음부터 다시 조사하지 않는다.

### 승격 대상 목록

누락이 곧 재조사이므로(`insuniverse-docs-00-protocol.prd.md` §Risks *"스크래치 승격이 누락되어 재조사 발생"*) 대상을 명시 열거한다. 아래 파일은 `.gitignore` 대상이라 이 저장소에 존재하지 않을 수 있다 — **부재는 실패가 아니다.**

| 스크래치 파일 | 절 | 내용 | 인수 PRD |
|---|---|---|---|
| `.claude/meta/admin.temp.md` | §5 | 화면 인벤토리 | `insuniverse-docs-50-domain.prd.md` |
| `.claude/meta/admin.temp.md` | §11 | 근거 파일 인덱스 | `insuniverse-docs-11-index-code.prd.md` |
| `.claude/meta/admin-corp.temp.md` | §13 | 에러코드 총람 | `insuniverse-docs-11-index-code.prd.md` |
| `.claude/meta/admin-corp.temp.md` | §14 | 상태값 규약 | `insuniverse-docs-11-index-code.prd.md` |

**승격 실행은 `00-protocol` 이 하지 않는다.** 이 PRD 의 범위는 규약과 목록까지이며, 실행은 인수 PRD 가 자기 소유 경로로 가져간다.

## 개정 위임

**소유자는 바뀌지 않는다. 개정 권한만 이동한다.** 아래 표의 경로는 전부 archived PRD 소유이며,
위 두 소유 표(§PRD별 배타 소유 경로 · §승계 시 추가)의 어느 행도 이 표 때문에 움직이지 않는다 —
저 둘은 소유 정본이라, 위임받은 경로를 거기 적는 순간 위임이 소유가 된다. 근거는 우산 PRD
§핵심 제약 6 의 *예외 — archived PRD 의 소유 경로 개정* 이다.

**게이트로 승격하지 않는다 — 이번엔 재검토를 거친 판정이다(2026-08-24).** 앞 판은 *"지금 위임을 받은
PRD 는 하나뿐이라 검증할 관계가 없다. 위임 PRD 가 둘 이상이 되면 그때 재검토한다"* 였고,
`60-history-deprecated` 가 아래 5행으로 **두 번째 위임 PRD** 가 되어 그 조건이 발동했다.

재검토 결과는 **승격 보류**다. 승격은 `docs/_meta/verify/verify.sh` 편집을 뜻하는데,
`60-history-deprecated` 가 받은 `docs/_meta/verify/**` 위임 사유는 `--update` 재동결 한정이라
승격 자체가 그 위임 밖이다. 그렇다고 자리를 비워 두지는 않는다 — 이 절과 §회부 인계 두 축은
`.claude/plans/insuniverse-docs-60-history-deprecated-m1.gates.mjs` 의 검사 `#3`(위임 표: 6열 ·
경로 집합 · 개정 사유 셀 · 기존 행 보존)과 `#4`(회부 표: `#`·`수신` 정본 결속 · 수용 기록 2행)가
진다. 그 하네스는 유도 원본을 워킹트리가 아니라 **자기 기준선 커밋의 blob** 에서 읽어, 같은 창에서
위임 표와 근거 PRD 를 함께 넓히는 자기승인을 막는다. 상시 층 승격의 인수처는
`60-history-deprecated` 의 마일스톤 2 이며 승인은 사용자 몫이다.

**재검토 발동 조건은 그 뒤 좁혀졌다(`30-contracts-limits` 마일스톤 1, 2026-08-24).** 위 판정을 부른
*"위임 PRD 가 둘 이상"* 은 장부에 행이 둘 이상이면 서는 조건이라 겹치는 창이 없어도 발동한다. 지금
조건은 **서로 다른 위임받은 PRD 의 `상태: 진행` 행이 동시에 2개 이상일 때**다 — 두 PRD 가 같은 창에서
같은 파일을 여는 상태가 검증할 관계의 최소 조건이다. 한 PRD 가 자기 마일스톤을 위해 여러 행을 동시에
세우는 것은 이 조건이 아니다. 그 행들은 한 실행자가 순서대로 집행하므로 겹치는 창이 없다. 위 `60`
판정 자체는 이 좁힘으로 뒤집히지 않는다 — 승격 보류의 근거는 위임 사유의 경계이지 발동 조건이 아니다.

**같은 경로에 새 위임 행을 세우는 조건.** 그 경로를 가리키는 기존 위임 행이 전건 `완료` 이고 원
소유자가 archived 여야 한다. 미완료 선행 행이 있으면 두 위임이 같은 창에서 겹치므로 선행을 먼저
닫는다. `docs/_meta/verify/**` 처럼 glob 로 적힌 선행 행은 그 접두를 공유하는 경로를 함께 든다.

**그 뒤 `20-foundation-access` 가 세 번째 위임 PRD 가 됐다.** 아래 재검토는 위 좁힘을 알기 전
(형제 창 병행)에 옛 조건 *"위임 PRD 가 둘 이상"* 으로 발동한 것이다. 결론 1 은 좁힌 조건과
같은 것을 말한다 — 겹치는 창이 없으면 관계가 성립하지 않는다.

**재검토 (2026-08-25 · `20-foundation-access` 마일스톤 1).** 위 조건이 성립했다 — 위임 PRD 가
`13`(완료)과 `20`(진행) 둘이다. 재검토 결과는 둘이다.

1. **경로 중복 2건은 동시 쓰기가 아니다.** `docs/_meta/template-config.yaml` 과
   `docs/_meta/verify/**` 는 둘 다 `13` 앞으로 상태 `완료`이고 `20` 앞으로 상태 `진행`이다.
   두 쌍 모두 **완료 ↔ 열림** 관계이며 같은 시점에 열려 있는 위임은 `20` 하나뿐이다. 소유는
   어느 쪽으로도 이동하지 않았으므로 배타 소유자가 둘이 되는 사태 자체가 성립하지 않는다.

   > `verify/**` 행은 착수 시점 계획서가 `docs/_meta/verify/golden.txt` 로 좁게 잡았던 것이다.
   > 마일스톤 1 이 `--bootstrap` 만료 경로를 처음 밟으면서 `verify.sh` 의 만료 진단 2자리가
   > `printf` 선두 `--` 때문에 진단문 대신 `printf: --: invalid option` 을 찍는 것이 관측됐고,
   > 그 정정이 같은 트리 안이라 행을 `13` 이 쓰던 것과 같은 범위로 넓혔다. 넓힌 쪽이 좁은 쪽을
   > 포함하므로 위임 행 수는 3 그대로다.
2. **그럼에도 이 절을 게이트로 승격하지 않는다.** §승계 시 추가 의 겹침 거부 규칙은 그 절이
   자기 표와 §PRD별 배타 소유 경로 를 대조 대상으로 **지정해** 정한 것이고, 그 두 표에만 `범위
   한정` 열이 있다. 이 표의 6열에는 그 열이 없다. 겹침 판정에 필요한 입력이 없는 표에 검사기를
   붙이면 검사가 무엇을 보는지 정의되지 않는다. 지금 필요한 것은 **관계를 행에 적는 것**이고,
   그것은 아래 표의 `개정 사유` 열이 한다. 위임이 셋 이상으로 늘거나 상태 `진행`이 둘 이상
   동시에 서면 그때 `범위 한정` 열 신설을 포함해 다시 본다.

| 원 소유자 | 경로 | 위임받은 PRD | 개정 사유 | 상태 | 승인 |
|---|---|---|---|---|---|
| `00-protocol`(archived) | `docs/_meta/template-config.yaml` | `13` | `statuses` 매핑 승격 | 완료 | 사용자 plan 승인 2026-08-11 |
| `00-protocol`(archived) | `docs/00-index.md` | `13` | 흐름 진입 절 · 트리 2행 | 완료 | 동 |
| `00-protocol`(archived) | `docs/_meta/onboarding-questions.yaml` | `13` | `ia_doc_consumed` 재판정 | 완료 | 동 |
| `00-protocol`(archived) | `docs/_meta/verify/**` | `13` | 게이트 갱신 + golden | 완료 | 동 |
| `00-protocol`(archived) | `docs/_meta/ownership.md` | `13` | 이 절 자신 · 주 표 10행 · 드리프트 복구 · 회부 인계 절 | 완료 | 동 |
| `00-protocol`(archived) | `.claude/prds/insuniverse-policy-docs.prd.md` | `13` | 제약 #6 예외 · 분할 맵 10행 · 선행조건 열 | 완료 | 동 |
| `00-protocol`(archived) | `.claude/prds/archived/insuniverse-docs-00-protocol.prd.md` | `13` | `ia-doc@1` 판정 항목 재판정 | 완료 | 사용자 M2 승인 2026-08-18 |
| `doc-template-kit`(archived) | `.claude/templates/doc-kit/**` | `13` | `flow-exits` · `ia-exits` 규칙 · `placement` 규칙 | 완료 | 동 |
| `13`(archived) | `.claude/meta/05-final-spec.md` | `60` | §4 트리에 `90-history/00-origin.md` · `90-history/04-ops-intent.md` 2행 추가 | 완료 | 사용자 PRD 개정 2026-08-24 |
| `00-protocol`(archived) | `docs/00-index.md` | `60` | 같은 2행 + §폐기 목록 정합 | 완료 | 사용자 PRD 개정 2026-08-24 |
| `00-protocol`(archived) | `docs/_meta/verify/**` | `60` | `--update` 로 `index.entry_count`·`doc_count`·`tree_sha256` 재동결 | 완료 | 사용자 PRD 개정 2026-08-24 |
| `00-protocol`(archived) | `docs/_meta/template-config.yaml` | `60` | `deferred_ref_targets` 의 `99-deprecated/` 원소 해소 | 완료 | 사용자 PRD 개정 2026-08-24 |
| `00-protocol`(archived) | `docs/_meta/ownership.md` | `60` | 이 위임 표의 `60` 행 자신 · §회부 인계 R-4·R-8 수용 표기 | 완료 | 사용자 PRD 개정 2026-08-24 |
| `doc-template-kit`(archived) | `.claude/templates/doc-kit/examples/**` | `60` | `deferred_ref_targets` 원소가 가리키는 `supersedes` 대상 예시 재지정 | 완료 | 사용자 plan 승인 2026-08-25 |
| `00-protocol`(archived) | `docs/00-index.md` | `30` | 트리 행 신설 · 파서 계약 계수 문면 · 코드펜스 밖 문면 | 완료 | 사용자 PRD 승인 2026-08-24 |
| `13-relation-contract`(archived) | `.claude/meta/05-final-spec.md` | `30` | §4 트리 — D1 과 바이트 동일 | 완료 | 사용자 PRD 승인 2026-08-24 |
| `13-relation-contract`(archived) | `.claude/meta/05-final-spec.md` | `30` | §6-1 env 게이트 서술 정정 | 완료 | 사용자 PRD 승인 2026-08-24 |
| `00-protocol`(archived) | `docs/_meta/onboarding-questions.yaml` | `30` | src 인용 · 주석 문면 | 완료 | 사용자 PRD 승인 2026-08-24 |
| `00-protocol`(archived) | `docs/_meta/ownership.md` | `30` | 이 절 자신 · 회부 인계 · 재검토 조건 | 완료 | 사용자 PRD 승인 2026-08-24 |
| `00-protocol`(archived) | `docs/_meta/verify/golden.txt` | `30` | 재동결 — 변동 키 집합 | 완료 | 사용자 plan 승인 2026-08-24 |
| `00-protocol`(archived) | `docs/_meta/template-config.yaml` | `20` | `actors` 를 fixture 6종에서 `01-glossary.md` A축 정본으로 정정. 같은 경로의 `13` 위임은 **완료**라 동시 쓰기가 아니다 | 완료 | 사용자 plan 승인 2026-08-25 |
| `00-protocol`(archived) | `docs/_meta/verify/**` | `20` | 마일스톤 1·2·3·4·5 산출물 반영 golden 재생성(`--update`) + `bootstrap_permitted` 만료 진단 2자리의 `printf` 정정. 마일스톤 2 몫은 `findings/20-foundation-access.md` 신설이 움직인 `findings.files`·`fixtask.findings_headings` 2키였고, 마일스톤 3·4·5 몫은 그 파일에 발견이 각각 1건씩 더해져 움직이는 `fixtask.findings_headings` 1키다. 같은 경로의 `13` 위임은 **완료**라 동시 쓰기가 아니다 마일스톤 7 몫은 `docs/_meta/verify/verify.sh` 의 복구 자리 3곳 — `oq.gen.owners` 생성 열거자 · `oq.owners.want` 검사 열거자 · `oq_downstream_refs` 의 PRD 경로 해석기 — 을 활성 ∪ `archived/` 재열거로 바꾸는 편집이고 golden 재생성이 아니다. | 완료 | 동 |
| `12-index-runtime`(archived) | `docs/_meta/term-requests/12-index-runtime.md` | `20` | `T-01`·`T-02` 판정을 상태 행에 되돌려 적는다. 원 소유자가 낸 요청을 병합자가 닫는 자리 | 완료 | 동 |

**재검토 (2026-08-25 · `20-foundation-access` 마일스톤 2).** 위임 관계는 마일스톤 1 시점과 같다 —
위임 PRD 는 `13`(완료)과 `20`(진행) 둘이고, 상태 `진행`은 여전히 `20` 하나뿐이다. 행을 늘리지
않았고 경로 집합도 그대로다. 넓힌 것은 `docs/_meta/verify/**` 행의 `개정 사유` 셀 **하나뿐**이다.

넓힌 이유는 권한의 경계가 사유이기 때문이다. 종전 사유는 *"마일스톤 1 산출물 반영"* 으로 한정돼
있었고, 마일스톤 2 가 `docs/_meta/findings/20-foundation-access.md` 를 신설하면 `findings.files` 와
`fixtask.findings_headings` 두 golden 키가 움직여 `--update` 재동결이 필요해진다. 그 `--update` 는
종전 사유 밖이므로 사유를 먼저 넓히고 나서 돌린다 — 순서가 뒤집히면 권한 없는 쓰기가 된다.

이 순서는 `20` 의 마일스톤 2 계획서 게이트 `#12` 가 잡는다. 그 검사는 유도 원본을 워킹트리가
아니라 **기준선 커밋 `323dcfc` 의 blob** 에서 읽어, 같은 창에서 사유와 산출물을 함께 넓히는
자기승인을 막는다. 다만 그것은 **탐지**이지 예방이 아니다 — 종료 상태 검사는 이미 일어난 쓰기를
인증하지 않을 뿐 쓰기 자체를 막지 못한다. 예방은 쓰기 전 훅이 필요하고 그 층은 이 위임 밖이다.

**행 수를 늘리지 않은 것은 편의가 아니라 결박이다.** `20` 의 PRD §config `actors` 정정 책임 절이
*"자기 행 3개를 추가"* 라고 적고 있고 마일스톤 1 이 그 문면을 게이트로 묶었다. 행을 늘리면 그
문면이 거짓이 된다. `20` 행 수와 경로 집합의 기준선 대조는 같은 계획서 게이트 `#11` 이 진다.

상시 층 승격은 여전히 **보류**다. 위 2026-08-24 판정의 조건(위임 셋 이상 · 상태 `진행` 둘 이상
동시)이 아직 성립하지 않았고, 이 표의 6열에는 겹침 판정에 필요한 `범위 한정` 열이 없다.

**재검토 (2026-08-26 · `20-foundation-access` 마일스톤 3).** 위임 관계는 마일스톤 1·2 시점과 같다 —
위임 PRD 는 `13`(완료)과 `20`(진행) 둘이고, 상태 `진행`은 여전히 `20` 하나뿐이다. 행을 늘리지
않았고 경로 집합도 그대로다. 넓힌 것은 `docs/_meta/verify/**` 행의 `개정 사유` 셀 **하나뿐**이며,
넓힌 폭은 마일스톤 2 까지였던 범위를 마일스톤 3 까지로 미는 것 하나다.

넓힌 이유는 마일스톤 2 때와 같은 축이다. 마일스톤 3 이 `docs/_meta/findings/20-foundation-access.md`
에 발견 1건을 더하면 `fixtask.findings_headings` 의 이 PRD 칸이 움직여 `--update` 재동결이
필요해진다. 종전 사유는 *"마일스톤 1·2 산출물 반영"* 으로 한정돼 있어 그 `--update` 는 사유 밖이다.
사유를 먼저 넓히고 나서 돌린다 — 순서가 뒤집히면 권한 없는 쓰기가 된다. 마일스톤 2 와 달리
`findings.files` 는 이번에 움직이지 않는다. 파일 자체는 마일스톤 2 가 이미 개설했고 이번 창은 그
파일 안에 표제 하나를 더할 뿐이다.

이 순서는 `20` 의 마일스톤 3 계획서 게이트 `#13` 이 잡고, 그 계획서 Task 6 이 자기 검사 앞에서
`#13` 을 한 번 더 부른다. 두 자리 모두 유도 원본을 워킹트리가 아니라 **기준선 커밋의 blob** 에서
읽어 같은 창의 자기승인을 막는다. 다만 그것은 마일스톤 2 가 적은 그대로 **탐지**이지 예방이
아니다 — 종료 상태 검사는 이미 일어난 쓰기를 인증하지 않을 뿐 쓰기 자체를 막지 못하며, 노출 창은
그 Task 하나의 편집 구간이다. 예방은 쓰기 전 훅이 필요하고 그 층은 이 위임 밖이다. **두 마일스톤이
같은 한계를 같은 자리에 적었다는 것이 이 문단의 관측이다** — 이월된 축이며 해소는 도구 계층이다.

행 수를 늘리지 않은 결박도 그대로다. `20` 의 PRD §config `actors` 정정 책임 절이 *"자기 행 3개를
추가"* 라고 적고 있어 행을 늘리면 그 문면이 거짓이 된다. `20` 행 수와 경로 집합의 기준선 대조는
마일스톤 3 계획서 게이트 `#12` 가 지며, 사유 셀은 `#13` 이 별도 번호로 진다 — 축이 둘이라
번호를 갈랐다.

상시 층 승격은 여전히 **보류**다. 위 2026-08-24 판정의 조건(위임 셋 이상 · 상태 `진행` 둘 이상
동시)이 아직 성립하지 않았다.

**재검토 (2026-08-26 · `20-foundation-access` 마일스톤 4).** 위임 관계는 마일스톤 1·2·3 시점과 같다 —
위임 PRD 는 `13`(완료)과 `20`(진행) 둘이고, 상태 `진행`은 여전히 `20` 하나뿐이다. 동시 쓰기 조건이
서지 않는다. 행을 늘리지 않았고 경로 집합도 그대로다. 넓힌 것은 `docs/_meta/verify/**` 행의
`개정 사유` 셀 **하나뿐**이며, 넓힌 폭은 마일스톤 3 까지였던 범위를 마일스톤 4 까지로 미는 것 하나다.

넓힌 이유는 마일스톤 2·3 때와 같은 축이다. 마일스톤 4 가 `docs/_meta/findings/20-foundation-access.md`
에 발견 1건을 더하면 `fixtask.findings_headings` 의 이 PRD 칸이 움직여 `--update` 재동결이
필요해진다. 종전 사유는 *"마일스톤 1·2·3 산출물 반영"* 으로 한정돼 있어 그 `--update` 는 사유 밖이다.
사유를 먼저 넓히고 나서 돌린다 — 순서가 뒤집히면 권한 없는 쓰기가 된다. 마일스톤 3 과 같이
`findings.files` 는 이번에도 움직이지 않는다. 이 창이 신설한 두 문서
(`docs/02-access/02-authz-roles.md` · `docs/02-access/03-authz-capabilities.md`)도 golden 을 움직이지
않는다 — `docs/00-index.md` 문서 트리가 두 경로를 이미 싣고 있고 `index.*` 는 그 트리 텍스트에서만
유도되기 때문이다. 움직이면 그 자체가 예상 밖이며 마일스톤 4 계획서 게이트 `#20` 이 떨어뜨린다.

이 순서는 `20` 의 마일스톤 4 계획서 게이트 `#17` 이 잡고, 그 계획서 Task 7 이 자기 검사 앞에서
`#17` 을 한 번 더 부른다. 두 자리 모두 유도 원본을 워킹트리가 아니라 **기준선 커밋의 blob** 에서
읽어 같은 창의 자기승인을 막는다. 다만 그것은 마일스톤 2·3 이 적은 그대로 **탐지**이지 예방이
아니다 — 종료 상태 검사는 이미 일어난 쓰기를 인증하지 않을 뿐 쓰기 자체를 막지 못하며, 노출 창은
그 Task 하나의 편집 구간이다. **세 마일스톤이 같은 한계를 같은 자리에 적었다는 것이 이 문단의
관측이다** — 이월된 축이며 해소는 도구 계층(쓰기 전 훅)이다.

행 수를 늘리지 않은 결박도 그대로다. `20` 의 PRD §config `actors` 정정 책임 절이 *"자기 행 3개를
추가"* 라고 적고 있어 행을 늘리면 그 문면이 거짓이 된다. `20` 행 수와 경로 집합의 기준선 대조는
마일스톤 4 계획서 게이트 `#16` 이 지며, 사유 셀은 `#17` 이 별도 번호로 진다 — 축이 둘이라
번호를 갈랐다.

상시 층 승격은 여전히 **보류**다. 위 2026-08-24 판정의 조건(위임 셋 이상 · 상태 `진행` 둘 이상
동시)이 아직 성립하지 않았다.

**재검토 (2026-08-27 · `20-foundation-access` 마일스톤 5).** 위임 관계는 마일스톤 1·2·3·4 시점과 같다 —
위임 PRD 는 `13`(완료)과 `20`(진행) 둘이고, 상태 `진행`은 여전히 `20` 하나뿐이다. 동시 쓰기 조건이
서지 않는다. 행을 늘리지 않았고 경로 집합도 그대로다. 넓힌 것은 `docs/_meta/verify/**` 행의
`개정 사유` 셀 **하나뿐**이며, 넓힌 폭은 마일스톤 4 까지였던 범위를 마일스톤 5 까지로 미는 것 하나다.

넓힌 이유는 마일스톤 2·3·4 때와 같은 축이다. 마일스톤 5 가 `docs/_meta/findings/20-foundation-access.md`
에 발견 1건을 더하면 `fixtask.findings_headings` 의 이 PRD 칸이 움직여 `--update` 재동결이
필요해진다. 종전 사유는 *"마일스톤 1·2·3·4 산출물 반영"* 으로 한정돼 있어 그 `--update` 는 사유 밖이다.
사유를 먼저 넓히고 나서 돌린다 — 순서가 뒤집히면 권한 없는 쓰기가 된다. 마일스톤 3·4 와 같이
`findings.files` 는 이번에도 움직이지 않는다. 이 창이 신설한 두 문서
(`docs/02-access/04-authz-db-menu.md` · `docs/02-access/05-admin-view-token.md`)도 golden 을 움직이지
않는다 — `docs/00-index.md` 문서 트리가 두 경로를 이미 싣고 있고 `index.*` 는 그 트리 텍스트에서만
유도되기 때문이다. 움직이면 그 자체가 예상 밖이며 마일스톤 5 계획서 게이트 `#24` 가 떨어뜨린다.

이 순서는 `20` 의 마일스톤 5 계획서 게이트 `#21` 이 잡고, 그 계획서 Task 7 이 자기 검사 앞에서
`#21` 을 한 번 더 부른다. 두 자리 모두 유도 원본을 워킹트리가 아니라 **기준선 커밋의 blob** 에서
읽어 같은 창의 자기승인을 막는다. 다만 그것은 마일스톤 2·3·4 가 적은 그대로 **탐지**이지 예방이
아니다 — 종료 상태 검사는 이미 일어난 쓰기를 인증하지 않을 뿐 쓰기 자체를 막지 못하며, 노출 창은
그 Task 하나의 편집 구간이고 되돌리기는 그 경로의 체크아웃이다. **네 마일스톤이 같은 한계를 같은
자리에 적었다는 것이 이 문단의 관측이다** — 이월된 축이며 해소는 도구 계층(쓰기 전 훅)이다.

행 수를 늘리지 않은 결박도 그대로다. `20` 의 PRD §config `actors` 정정 책임 절이 *"자기 행 3개를
추가"* 라고 적고 있어 행을 늘리면 그 문면이 거짓이 된다. `20` 행 수와 경로 집합의 기준선 대조는
마일스톤 5 계획서 게이트 `#20` 이 지며, 사유 셀은 `#21` 이 별도 번호로 진다 — 축이 둘이라
번호를 갈랐다.

상시 층 승격은 여전히 **보류**다. 위 2026-08-24 판정의 조건(위임 셋 이상 · 상태 `진행` 둘 이상
동시)이 아직 성립하지 않았다.

**재검토 (2026-09-01 · `20-foundation-access` 마일스톤 7).** 위임 관계는 마일스톤 1~5 시점과
같다 — 위임 PRD 는 `13`(완료)과 `20`(진행) 둘이고, 상태 `진행`은 여전히 `20` 하나뿐이다. 행을
늘리지 않았고 경로 집합도 그대로다. 넓힌 것은 `docs/_meta/verify/**` 행의 `개정 사유` 셀
**하나뿐**이다.

넓힌 이유는 **축이 다르다**. 마일스톤 2~5 는 같은 축(발견 1건 추가 → golden 재동결)을 뒤로 밀었을
뿐이지만, 마일스톤 7 이 쓰는 것은 golden 이 아니라 `docs/_meta/verify/verify.sh` 의 **문서 PRD
열거자**다. 형제 축(`40-runtime-vendor-legal`)이 `/mccp:archive-complete` 로 자기 PRD 를
`.claude/prds/archived/` 로 옮기자 그 파일의 계수 리터럴과 십의 자리 정규식이 `origin/main` 에서
붉어졌고, 그 경로는 이 위임 슬롯의 소관이다. 종전 사유(`--update` 재동결 + `bootstrap_permitted`
만료 진단 `printf` 정정)는 그 편집을 안 덮으므로 사유를 먼저 넓히고 나서 쓴다 — 순서가 뒤집히면
권한 없는 쓰기가 된다.

**확장 문면은 자유문이 아니라 유도값이다.** 마일스톤 7 계획서 하네스가 복구 자리 등록부(위 셀이
이름으로 든 세 자리)를 들고 있고, 검사 `#9c` 가 *기준선 커밋의 blob* 에서 뜬 종전 사유에 그
등록부 유도 확장을 더한 문면과 현재 셀을 **문자열 일치**로 문다. 사유가 등록부 밖 자리를 들어도,
등록부 자리를 쓰고 사유를 안 넓혀도 실패다 — 양방향이다. 자유문으로 넓히면 사유가 쓰기를 사후
정당화하는 방향이 열리고 그것이 이 문단이 닫으려는 축이다.

**순서를 최종 상태가 아니라 시점으로 증명한다.** 마일스톤 2~5 는 이 자리에 *"탐지이지 예방이
아니다"* 를 네 번 적었다. 마일스톤 7 은 그 사이를 한 칸 좁힌다 — 쓰기 **전에** 발급하는 write-once
체크포인트(`insuniverse-docs-20-foundation-access-m7.authz.json`)가 발급 시점의 `verify.sh` 가 아직
기준선과 바이트 동일이고 슬롯이 아직 `진행` 이며 사유가 이미 등록부 유도값임을 봉인하고, 검사
`#6e` 가 쓰기 시점에 그것을 결박한다. 그래도 **예방은 아니다** — 체크포인트가 워킹트리 JSON 이라
지우고 재발급한 뒤 다시 쓰는 경로는 최종 값이 정상 경로와 같아 구분되지 않는다. 그 사각지대는
검사 출력과 `codex-findings-backlog.md` 의 `20m7-authz-checkpoint-not-tamper-evident` 가 이름으로
싣는다. 예방층(쓰기 전 훅)은 여전히 이 위임 밖이며, **다섯 마일스톤이 같은 한계를 같은 자리에
적었다**는 것이 이 문단의 관측이다.

행 수를 늘리지 않은 결박도 그대로다. 이 창은 `20` 앞 위임 3행의 `상태` 셀만 `진행` → `완료` 로
옮기고 행을 더하지 않는다. 누락된 `docs/_meta/ownership.md` 자기 위임 행 신설은 선행 5검사를
영구히 붉히는 것이 실측돼(`m1#check6` · `m2#check11` · `m3#check12` · `m4#check16` ·
`m5#check20`) 값을 매긴 채 사용자 결정으로 backlog 에 올렸다(`20m7-ownership-self-row-missing`).

**`60` 행들의 `개정 사유` 셀은 그 PRD §개정 위임 요청 표의 문자열 그대로다.** 사유가 권한의 경계이므로
검사 `#3` 이 열 수와 경로 집합만이 아니라 그 셀까지 기준선 PRD blob 과 정확 일치로 묶는다 —
묶지 않으면 `docs/_meta/verify/**` 의 사유를 `--update` 재동결 밖으로 넓혀도 아무 데서도 붉어지지 않는다.
PRD 표의 `없으면` 열은 여기 싣지 않는다. 이 표에 그 열이 없고, 열을 늘리면 `13` 의 8행이 함께 깨진다.

## 회부 인계

**발신 측 기록이다. 수용이 아니다.** 이 PRD(`13-relation-contract`)가 자기 창에서 관측한 회부 8건을
대상 PRD 가 읽는 자리에 앉힌 것이며, **수용은 대상 PRD 착수 시점이고 이 PRD 가 대신 수용하지 않는다.**
활성 PRD 본문에 직접 쓰는 것은 우산 §핵심 제약 6 위반이라(예외는 archived 소유자 한정) 기록은 모든 PRD 가
읽는 이 소유 정본으로 온다. **이 표는 다출처 장부다** — 발신 PRD 마다 자기 회부 행을 더하며 `#` 열은
**발신 안에서만 유일**하고 전역 유일이 아니다. `13-relation-contract` 발신 8행의 정본 표는
`.claude/prds/insuniverse-docs-13-relation-contract.prd.md` §회부 8건 이고 그 8행이 그 표의 전사다 —
`#` 와 `수신` 두 열이 행 단위로 같아야 한다. 다른 발신의 행은 각자의 발신 PRD 가 정본을 든다.
**`회부 내용` 은 정본 표 셀에 그 절 산문이 요구한 것을 더해 편 형태다** — R-4 의 선행조건(마일스톤 5-2 전용
해석 경로가 R-4 수용보다 먼저)이 그 하나이며, 정본 162 행이 *"회부문에 이 선후를 명시한다"* 로 요구한다.
**더한 것은 정본 산문에 있다. 정본에 없는 것을 여기서 만들지 않는다.**
**`수용 시점` 열만 발신 기록이 아니다.** 수신 PRD 가 착수 시 **자기 행 하나만** 갱신하며, 이 절에서
발신자가 쓰지 않는 값은 그 열뿐이다. 나머지 네 열은 정본 전사라 수신자가 고치지 않는다.

| # | 발신 | 수신 | 회부 내용 | 수용 시점 |
|---|---|---|---|---|
| R-1 | `13-relation-contract` | `50-domain` | IA 문서 2건(`docs/20-site/00-ia.md` · `docs/30-admin/00-ia.md`) 수용 | 대상 PRD 착수 시점 |
| R-2 | `13-relation-contract` | `50-domain` | 마일스톤 순서 역전 — 흐름 5 + 콘솔 5 + IA 2 를 앞에, `10-server/` 8 을 뒤로 | 대상 PRD 착수 시점 |
| R-3 | `13-relation-contract` | `70-viewer` | 표면·계약 요청 (기존) | **2026-08-26 수용 (`70-viewer` 마일스톤 2 착수).** 표면 축은 이 창이 표면 2(기획/개발 lane 토글)와 표면 4(전문 검색)로 이행했다. 계약 축은 `docs/_meta/viewer-requests.md` 에 요청으로 앉아 `00-protocol` 판단을 기다린다 — **수용은 회부를 받았다는 기록이지 계약이 확보됐다는 뜻이 아니다.** 미반영 계약(#1 `repos[].url_template`)에 걸린 축은 70 PRD §Delivery Milestones 7행이 지고 이 창의 범위 밖이다 |
| R-4 | `13-relation-contract` | `60-history-deprecated` | `docs/99-deprecated/**` 에 `template:` **없이** 프론트매터만 얹기 — `deprecated: [{id, at, sha, reason}]`. **선행조건**: 이 PRD 마일스톤 5-2 의 전용 해석 경로가 R-4 수용보다 **먼저** 있어야 한다 — 순서가 깨지면 `template:` 없는 폐기 문서가 `resolveRefItem` 의 관용 경로를 벗어나 `supersedes` 가 기본 모드에서 위반이 되고, 60 착수가 이 PRD 의 lint 를 빨간불로 만든다 | **2026-08-24 수용.** `발신 계약` 은 필드 4종 `{id, at, sha, reason}` 뿐이다 — 13 PRD 가 R-4 아래에 *"그 안에서 최소 필드만 요청하는 형태여야 하고, 형식 강제는 여전히 없다"* 로 못 박았고 이 행이 그 문장을 뒤집지 않는다. `수용 형태` 는 60 이 정하는 제약이며 각 항목의 출처를 병기한다: `id` SCREAMING_SNAKE 와 `at` ISO 8601 은 60 PRD §R-4 의 사용자 문면, `reason` 비어 있지 않음은 같은 절의 *"한 줄 사유"*, **`sha` hex 7~40자리는 60 이 정한 값**으로 발신·수신 어느 문면에도 없고 `## 연혁` 표의 SHA 규칙을 미러했다. lint 는 넷 중 어느 것도 요구하지 않으므로(`supersedes` 해석이 대상에서 `id` 만 찾는다) 기계 형태는 `.claude/plans/insuniverse-docs-60-history-deprecated-m1.gates.mjs` 검사 `#10` 이 진다 — lint 규칙 신설이 아니라 계획서 하네스라 *"형식 강제 없음"* 을 깨지 않는다 |
| R-5 | `13-relation-contract` | `70-viewer` | 계약 요청 #4(`## 연혁` 의 기계 접근 경로) 재판정 | **2026-08-26 수용 (`70-viewer` 마일스톤 2 착수).** 재판정은 70 PRD §데이터 계약 요청 4행이 이미 실었다 — 요청 형태가 `## 연혁` 헤더에서 **항목 id 열**로 바뀌었고, 그 결손 때문에 항목 단위 변경 시점은 현행 데이터로 도달 불가다. 그 사실이 §Success Metrics B2 의 (c) 축을 "변경 시점"에서 "연결된 항목(exits·refs)"으로 교체한 근거다. 이 창은 그 판정을 승계하고 새 계약을 요구하지 않는다 |
| R-6 | `13-relation-contract` | `10-index-git` | `commits.<repo>.jsonl` 에 **생성 기준 `repos[].head` 를 기록**(또는 `index-pins.lock` 에 manifest HEAD 핀 추가) | 대상 PRD 착수 시점 |
| R-7 | `13-relation-contract` | `ops-doc-reconcile` | `target.kind: doc` 앵커를 heading slug 가 아니라 **`<경로>.md#<policies[].id>`** 로. 경로 기준은 **저장소 루트**(ops JSONL 이 이미 쓰는 형태)이며 `refs` 의 문서 상대경로와 다르다 — 해석기를 공유한다면 기준 경로를 인자로 받아야 한다. **형식 검사만으로 부족하다**: `REF_RE`(`^[^#]+\.md#[^#]+$`)는 존재하지 않는 id 도 통과시키므로 `resolveRefItem` 계열의 **id 실재 확인까지** 요구한다 | 대상 PRD 착수 시점 |
| R-8 | `13-relation-contract` | `60-history-deprecated` | `docs/90-history/` 에 **등급 O(ops 원장 판독) 기록이 앉을 자리** 신설. 기존 `00-origin.md` 는 등급 U 전용으로 확정돼 있어 등급 O 를 담을 수 없다 | **자리 확정 2026-08-24 (트리 등재).** `.claude/meta/05-final-spec.md` §4 와 `docs/00-index.md` §문서 트리 양쪽에 `docs/90-history/04-ops-intent.md` 가 앉았다. **수용 완결 2026-09-02 (M6 산출).** 문서 본문과 지킬 것 3규칙(등급 O 고지 · `ops-only` verdict 만 · `reconcile.jsonl` 앵커 인용)이 `docs/90-history/04-ops-intent.md` 에 실렸다 — 자리 확정이 트리 등재였고 본문·규약이 이 산출이다. **값은 이 회부의 수용 조건이 아니다** — 등재 0건은 소스 부재 모드의 정확한 상태이며 `ops-30-reconcile` M1~M4 가 원장을 채우면 같은 문서의 모드가 바뀐다 |
| R-1 | `30-contracts-limits` | `60-history-deprecated` | docs/99-deprecated/** 의 client-analyze.controller.ts 가 dead-code-candidate 인지 판정 | **2026-09-04 수용 (마일스톤 8 착수).** 판정은 **후보 유지이며 확정 승격이 아니다** — 발신이 관측한 사실(라우트 0개)은 동결 트리 `insuniverse-server@4d798f55` 에서 재확인되지만, 폐기 판정 5중 필터(`.claude/meta/05-final-spec.md` §3) 다섯 축이 활성화 `unknown` · 존재 `fail` · 삭제 이력 `fail` · revert `fail` · 도달성 `fail` 로 폐기를 지지하는 축이 하나도 없다. 특히 도달성은 `client-analyze.module.ts` 의 `controllers[]` 등록으로 참조 카운트가 0이 아니다. 실측과 앵커는 `docs/_meta/findings/60-history-deprecated.md` F-39 이고 5축 셀은 `.claude/plans/insuniverse-docs-60-history-deprecated-m8.ledger.jsonl` 의 `record: "referral"` 항목이 싣는다. **`docs/99-deprecated/` 에는 아무것도 발행하지 않는다** — 발행 차단 이월 2건이 열린 채이고 미판정을 폐기로 쓰지 않는다 |

**R-7 만 우산 밖으로 나간다.** `ops-doc-reconcile` 은 정책 문서 우산 아래가 아니고 배타 소유 루트가
`ops/**` 라 이 표와 경로가 겹치지 않는다. **이 PRD 는 `ops/**` 에 아무것도 쓰지 않는다** — 위 한 행이
발신 측 기록의 전부이며, 수용 기록은 그 우산이 자기 `ops/findings/` 에 남긴다.

**이 절이 유일한 도달 경로인 수신이 둘 있다.** `50-domain` 과 `70-viewer` 는 형제 `findings/` 회수를
자기 PRD 에 계약하지 않았다 — 회수를 선언한 것은 `60-history-deprecated` 뿐이다. 두 PRD 착수 시
이 표에서 자기 수신 행을 조회해 각 2건이 나오는 것을 착수 조건으로 삼는다. 그 계약을 세우는 것은
그 PRD 소유이며 이 PRD 가 대신 만들지 않는다.
