검증 라운드(커밋 없이 직전 5라운드 수정 검증 + D./DI. 전수 재확인 + 6라운드 동안 한 번도 안 건드린 파일 3개 전체 정독)에서 유효한 새 문제 0건 확인, 사소한 표현 하나만 정리(modifier-plan.md 9-2의 "당장의 fallback" 문단이 이미 확정된 결론인데 여전히 조건문 톤이던 것). 발견 건수 추이(8→7→11→9→4→0)로 수렴 판단, 반복 종료. CLAUDE.md 관례대로 세션 기록 신설 + 압축 요약 추가(session/2026-08-13-07-corpus-audit-six-rounds.md). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
6.4 KiB
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)로 병렬 파견 — 각 에이전트는 파일을 직접 읽고 구체적
인용+근거+신뢰도로 보고, 발견 즉시 메인 세션에서 직접 수정(에이전트에
위임하지 않음, 같은 파일 동시 수정 충돌 방지). 라운드가 진행될수록 범위를
좁혀감: 12라운드는 전면 재독, 3라운드부터 "수렴 확인" 프레이밍(사소한
스타일 지적과 실제 결함을 구분해서 보고하도록 명시적으로 요청), 반복되는
두 패턴(아래)이 드러난 뒤엔 4라운드에서 grep 기반 전수 스윕으로 전환,
56라운드는 "다른 종류 문제 찾기" + "직전 라운드 수정 검증"으로 분업.
라운드별 발견·수정 요약 (커밋 순)
-
9f9e83b(8건) — 최초 5-에이전트 감사.:Compute/:With의 lazy-핸들 계약(이후 0-Y로 명명)이 "확정"으로 서술된 곳에 경고 배너 부재,slot-plan.md의 3-인자process표기 잔존+rawUnmount/호출부 인자 불일치,README.md의question.md포인터 오타(0-A→0-Z),ROADMAP.mdM7 배너 누락,documentation-content-map.md의 이미 해소된 Tween 질문이 "열림"으로 잔존,luau-test/13헤더가 실측 결과와 반대로 서술,STATUS.md의 파일 15 이중 등재. -
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.md2-1이 이미 실측(luau-test/08) 통과했는데 미표시. -
b228efc(11건) — 여기서부터 두 반복 패턴이 뚜렷해짐: (a) Slot 요소 제거가 "파괴"→"언마운트"로 바뀐 2026-08-13 여섯 번째 세션 전환이slot-plan.md안에 여러 곳 반영 안 됨, (b) 0-Y/0-Z가 실제로 의존하는 계약을 서술하는 문서 여럿에 포인터 부재.bind-system-plan.mdtrailing-deps 절이 0-Y 배너보다 650줄 앞서 있어 놓치기 쉬움,modifier-plan.md도 같은 계약 의존,question.md요약표의 "retract 필드 생략 불가"가 폐기된 2-메소드 계약 서술,tag-plan.md최상단(2곳째),attribute-plan.md열린질문 목록에 0-Z 부재,slot-plan.mdreconcile 갈래 설명 2곳+filter/toggle 절 자기모순. -
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.md3곳+additional- primitives-plan.md+dispatch-redispatch-diff-plan.md의 잔여 파괴-언어. -
6e097c9(4건) — 두 패턴이 grep상 완전히 스윕된 뒤 "다른 카테고리" 전용 탐색으로 전환. 이미luau-test/09로 실측 통과된 Modifier. Overridden 서브타입 이슈가 3곳에서 "미검증"으로 잔존,DI→D리네임이question.md1번에서 미확정인데D.InstSlot으로 앞서 확정된 것처럼 쓰인 2곳, 확정·실측 통과된Slot:Splice가 ROADMAP CRUD 체크리스트 제목에서 누락, CLAUDE.md 0번 항목이 "0-Y/0-Z 두 결정"이라 하는데question.md엔 0-B도 열려 있어 개수 불일치(M6만 막는다는 캐비엇으로 해소). -
검증 라운드(커밋 없음, 이 세션 문서화만) — 직전 수정 검증 +
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에 새 항목 추가 없음).