# 2026-08-13 일곱 번째 세션 — 코퍼스 전반 6라운드 감사(병렬 에이전트, 수렴까지 반복)

## 배경

사용자가 "전체적 문서에 문제가 있는지 감사를 돌려줘"라고 요청, 이어서
"커밋해줘. 그리고 한번 더 감사해줘. 문제가 발생하지 않거나, 유효한
문제가 아닌것만 남을 때까지 반복해줘"로 반복 조건을 명시. CLAUDE.md의
"작업 방식" 절이 이미 권장하던 주기적 코퍼스 감사(2026-08-04, 2026-08-09,
2026-08-12 열여섯 번째 세션 등 선례 다수)의 연장이지만, 이번엔 명시적으로
"수렴할 때까지 반복"이라는 종료 조건이 붙은 첫 사례.

## 방법론

매 라운드마다 5개 안팎의 서브에이전트를 영역별(디스패치 코어/프리미티브
문서/research·reference·archive/인덱스 레이어(README·question·ROADMAP·
CLAUDE.md)/luau-test)로 병렬 파견 — 각 에이전트는 파일을 직접 읽고 구체적
인용+근거+신뢰도로 보고, 발견 즉시 메인 세션에서 직접 수정(에이전트에
위임하지 않음, 같은 파일 동시 수정 충돌 방지). 라운드가 진행될수록 범위를
좁혀감: 1~2라운드는 전면 재독, 3라운드부터 "수렴 확인" 프레이밍(사소한
스타일 지적과 실제 결함을 구분해서 보고하도록 명시적으로 요청), 반복되는
두 패턴(아래)이 드러난 뒤엔 4라운드에서 grep 기반 전수 스윕으로 전환,
5~6라운드는 "다른 종류 문제 찾기" + "직전 라운드 수정 검증"으로 분업.

## 라운드별 발견·수정 요약 (커밋 순)

1. **`9f9e83b`(8건)** — 최초 5-에이전트 감사. `:Compute`/`:With`의
   lazy-핸들 계약(이후 0-Y로 명명)이 "확정"으로 서술된 곳에 경고 배너
   부재, `slot-plan.md`의 3-인자 `process` 표기 잔존+`rawUnmount`/호출부
   인자 불일치, `README.md`의 `question.md` 포인터 오타(0-A→0-Z),
   `ROADMAP.md` M7 배너 누락, `documentation-content-map.md`의 이미
   해소된 Tween 질문이 "열림"으로 잔존, `luau-test/13` 헤더가 실측
   결과와 반대로 서술, `STATUS.md`의 파일 15 이중 등재.

2. **`1aa01c6`(7건)** — 1라운드 수정 검증 중 발견한 자기모순들.
   `store-semantics.md`가 "전부 확정" 헤더 바로 아래 그걸 반박하는 0-Y
   배너를 붙여 생긴 모순, ROADMAP M6 배너 누락, `tag-plan.md`의 "열린
   질문 없음"이 같은 파일 최상단 배너와 모순, `slot-plan.md`의 "제거는
   항상 파괴 확정"이라는 뒤집힌 전제가 바로 앞 문장의 정정과 모순,
   `documentation-content-map.md`/`comparison-fusion-vide.md`의 stale
   Tween 구모델 인용 추가 발견, `pre-implementation-audit.md` 2-1이
   이미 실측(`luau-test/08`) 통과했는데 미표시.

3. **`b228efc`(11건)** — 여기서부터 두 반복 패턴이 뚜렷해짐: (a) Slot
   요소 제거가 "파괴"→"언마운트"로 바뀐 2026-08-13 여섯 번째 세션 전환이
   `slot-plan.md` 안에 여러 곳 반영 안 됨, (b) 0-Y/0-Z가 실제로 의존하는
   계약을 서술하는 문서 여럿에 포인터 부재. `bind-system-plan.md`
   trailing-deps 절이 0-Y 배너보다 650줄 앞서 있어 놓치기 쉬움,
   `modifier-plan.md`도 같은 계약 의존, `question.md` 요약표의
   "retract 필드 생략 불가"가 폐기된 2-메소드 계약 서술, `tag-plan.md`
   최상단(2곳째), `attribute-plan.md` 열린질문 목록에 0-Z 부재,
   `slot-plan.md` reconcile 갈래 설명 2곳+filter/toggle 절 자기모순.

4. **`91fd7b8`(9건)** — 두 패턴을 grep으로 전수 스윕하는 방식으로 전환
   (3에이전트: 파괴-언어 스윕/0-Y·0-Z 포인터 스윕/미검토 파일 전체
   정독). `architecture.md`(모든 세션이 "먼저 읽으라"는 진입점인데 0-Z
   포인터 전무 — 가장 중요한 gap), `tween-plan.md`/`operator-sugar-
   plan.md`/`effect-plan.md`(0-Y 실행 예시에 포인터 부재), CLAUDE.md
   자신의 "지금 할 일" 0번/1번 항목이 정면 모순("0-Y/0-Z 최우선" vs
   "M0 게이트는 luau-test뿐"), `slot-plan.md` 3곳+`additional-
   primitives-plan.md`+`dispatch-redispatch-diff-plan.md`의 잔여
   파괴-언어.

5. **`6e097c9`(4건)** — 두 패턴이 grep상 완전히 스윕된 뒤 "다른 카테고리"
   전용 탐색으로 전환. 이미 `luau-test/09`로 실측 통과된 Modifier.
   Overridden 서브타입 이슈가 3곳에서 "미검증"으로 잔존, `DI`→`D`
   리네임이 `question.md` 1번에서 미확정인데 `D.InstSlot`으로 앞서
   확정된 것처럼 쓰인 2곳, 확정·실측 통과된 `Slot:Splice`가 ROADMAP
   CRUD 체크리스트 제목에서 누락, CLAUDE.md 0번 항목이 "0-Y/0-Z 두
   결정"이라 하는데 `question.md`엔 0-B도 열려 있어 개수 불일치(M6만
   막는다는 캐비엇으로 해소).

6. **검증 라운드(커밋 없음, 이 세션 문서화만)** — 직전 수정 검증 +
   `D.`/`DI.` 전수 재확인 + 6라운드 동안 한 번도 언급 안 된 파일
   3개(`relate-plan.md`/`blocker-plan.md`/`ui-shorthand-plan.md`)
   전체 정독. **결과: 유효한 새 문제 0건** — 사소한 표현 하나만
   발견("당장의 fallback" 문단이 여전히 조건문 톤, 이미 확정된
   결론인데) 발견 즉시 바로 정리(별도 커밋 없이 다음 커밋에 합류).
   에이전트가 명시적으로 "감사 수렴" 판정.

## 종료 판단

발견 건수 추이(8→7→11→9→4→0)와 6라운드째에 "한 번도 안 건드린 파일
3개를 전체 정독해도 새 문제 없음"이 겹쳐 수렴으로 판단, 사용자가 지정한
반복 종료 조건("유효한 문제가 아닌것만 남을 때") 충족. 다음 실질적
체크포인트는 또 다른 블라인드 스윕이 아니라, `question.md` 0-Z가 실제로
해소될 때 `bind-system-plan.md`/`tag-plan.md`/`slot-plan.md`/
`attribute-plan.md`를 "한 번에" 반영하는 작업(이미 CLAUDE.md "지금 할 일"
0번에 명시돼 있던 것).

## 코퍼스 반영 상태

전부 이 세션 안에서 직접 반영 완료(6개 커밋: `9f9e83b`/`1aa01c6`/
`b228efc`/`91fd7b8`/`6e097c9`, 마지막 검증 라운드의 사소한 정리 1건은
`6e097c9`에 포함 안 됐으므로 별도 커밋 필요 — 이 세션 로그 저장 직후
처리). 새로 열린 설계 질문 없음(전부 기존 서술의 정합성/최신화 문제,
`question.md`에 새 항목 추가 없음).
