docs(audit): 7차 감사 2라운드 — 0-Z 반영 목록에서 architecture.md/ROADMAP 누락 발견, 링크 전수 검증

1. `research/dispatch-redispatch-diff-plan.md` 6절(0-Z 확정 시 파일별 반영
   목록)이 base 4개만 나열 — 그런데 `architecture.md`와 `ROADMAP.md`도
   같은 ⚠️ 배너를 달고 있음(전자는 소스트리의 chains/retractFrom 서술,
   후자는 M2/M4/M6/M10 체크리스트). 목록대로만 옮기면 이 둘이 옛 모델로
   남는 실제 핸드오버 갭이라 6절에 추가하고, "배너 단 파일 = 반영 대상,
   반영 후 배너 제거" 규칙으로 명문화. CLAUDE.md 0번/question.md 0-Z·0-A의
   "4개" 표기도 6개로 동기화.
   ※ architecture.md는 모든 세션이 "먼저 읽으라"고 지목하는 진입점이라
     누락 시 파급이 가장 큼.

2. CLAUDE.md 세션 히스토리(2026-08-09 열두 번째)의 "**아직 결과 미확인** —
   M0 착수 전 최우선 확인 대상"이 현재형으로 읽히던 것 정정.

전수 검증해 문제 없던 것:
- 문서 간 파일 참조 152개 링크 체크 — 라이브 문서(base/research/reference/
  README/ROADMAP/question/CLAUDE) 깨진 링크 0건. 깨진 참조는 전부
  session/(원문 보존 대상), initreq/(읽기 전용 클론), archive/ 히스토리 안.
- luau-test README/STATUS 파일명 ↔ 실제 파일 일치(04 개명, gc-trigger 헬퍼 포함)
- Handler 계약 정의부(process가 retractor 반환, 반환 생략 불가) 일관
- Dispatch.process/retractFrom 의사코드 손 트레이싱 — 점유 마커 선행,
  #list hole 없음, hint가 target 인덱스에만, index>#list일 때 no-op 정상
- Relate API arity(Set 3인자/Get 2인자) 문서 간 일치
- 폐기된 이름(retractUnder/processAs/retractSelfAndUnder) 잔존 8건은 전부
  "옛 이름은 X였음" 형태의 의도된 히스토리 표기

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y6hzeUi5QdLPEk69B6cXFa
This commit is contained in:
qwreey 2026-08-13 17:48:11 +09:00
parent d3f8c4d2d2
commit 09b22d0e80
Signed by: qwreey
GPG key ID: D28DB79297A214BD
3 changed files with 28 additions and 6 deletions

View file

@ -63,7 +63,8 @@ API 전부에 걸리며, 2026-08-07 일곱 번째 세션(커링 스타일 확정
**이게 지금 유일하게 `base/` 반영을 막고 있는 결정.** 아래 0-A의
재디스패치 모델은 나머지가 전부 확정됐고, 이 항목 하나만 정해지면
`bind-system-plan.md`/`tag-plan.md`/`slot-plan.md`/`attribute-plan.md`를
⚠️ 배너를 단 **6개 문서**(`bind-system-plan.md`/`tag-plan.md`/
`slot-plan.md`/`attribute-plan.md`/`architecture.md`/`ROADMAP.md`)를
한 번에 옮기면 됨.
**문제**: 새 모델(핸들러 선비교)에서는 그룹 A가 잡아둔
@ -124,9 +125,11 @@ Attribute가 직접 해야 함.**
그 하나 외에는 이 항목에 결정할 게 없음.
**실행 규모**: `base/``bind-system-plan.md`/`tag-plan.md`/`slot-plan.md`/
`attribute-plan.md` 의사코드 재작성 — 0-Z 하나만 정해지면 한 번에 옮기면
`attribute-plan.md` 의사코드 재작성 + `architecture.md` 소스트리 서술과
`ROADMAP.md` M2/M4/M6/M10 체크리스트 — 0-Z 하나만 정해지면 한 번에 옮기면
됨(어디를 어떻게 고칠지는 `research/dispatch-redispatch-diff-plan.md` 6절에
파일별로 적어둠). **그때까지 `base/`의 현행 `hintValue` 서술이 유효**
파일별로 적어둠 — 뒤 둘은 2026-08-13 7차 감사에서 그 목록에 빠져 있던 걸
발견해 추가). **그때까지 `base/`의 현행 `hintValue` 서술이 유효**
아직 안 옮겼다는 걸 잊고 base만 읽으면 옛 모델로 구현하게 되니 주의.
### 0-B. `dispose(any)` — 시그니처/범위 (2026-08-13 여섯 번째 세션 신설, 사용자 제안)

View file

@ -240,3 +240,18 @@ Dispatch.process(inst, k, realv, index + 1) -- retractFrom 선행 호출 없
- `slot-plan.md` — 4절대로 "해제 짝 필요" 서술 정정, 언마운트 경로에
`setLength(0)`/`setOffsetSource(None)` 명시.
- `attribute-plan.md` — 5절 결정 반영, `process`/클로저 모양 재확정.
- **[2026-08-13 7차 감사에서 누락 발견 — 추가]** `architecture.md`
소스 트리의 `Dispatch/init.luau` 항목(`chains`/`retractFrom` 서술)과
`Attribute.luau` 항목("`retractFrom`에 재귀 위임")이 현행 모델 전제로
쓰여 있음. **이 파일도 최상단에 0-Z 배너를 달고 있는데 이 목록엔
빠져 있었음** — 모든 세션이 "먼저 읽으라"고 지목하는 진입점이라
누락되면 파급이 큼.
- **[같이 추가]** `ROADMAP.md` — M2/M4/M6/M10에 "0-Z 먼저 해소할 것"
⚠️ 배너가 달려 있고, 그 배너가 가리키는 체크리스트 항목들(특히
M6의 "`SlotHandler.process`는 claim 실패 시에도 파괴적 클로저를
반환해야 함")이 선행 `retractFrom` 전제로 쓰여 있음 — base 4개를
옮길 때 같이 갱신하고 배너를 걷을 것.
**요약**: 배너를 달고 있는 파일 = 반영 대상. 위 6개(`bind-system-plan`/
`tag-plan`/`slot-plan`/`attribute-plan`/`architecture`/`ROADMAP`)가
전부이고, 반영이 끝나면 각 파일의 ⚠️ 배너도 같이 제거할 것.

View file

@ -139,8 +139,11 @@ modifier/Ref의 컴포넌트 경계 통과 방식) 논의도 2026-08-04 세션
- **`base/`의 현행 `hintValue` 서술은 아직 옛 모델(철거 선행)이다.**
새 모델은 `research/dispatch-redispatch-diff-plan.md`에만 있음 —
base만 읽고 구현하면 옛 모델로 짜게 됨. 0-Z가 정해지면 그 문서 6절의
파일별 반영 목록대로 `bind-system-plan.md`/`tag-plan.md`/
`slot-plan.md`/`attribute-plan.md`를 **한 번에** 옮길 것.
파일별 반영 목록대로 **한 번에** 옮길 것 — 대상은 ⚠️ 배너를 달고
있는 **6개**(`bind-system-plan.md`/`tag-plan.md`/`slot-plan.md`/
`attribute-plan.md` + **`architecture.md`/`ROADMAP.md`** — 뒤 둘은
2026-08-13 7차 감사에서 6절 목록에 빠져 있던 걸 발견해 추가),
반영 후 각 배너도 같이 제거.
- 반대로 **`base/slot-plan.md`의 "언마운트/`dispose`/해제 순서"는 이미
확정 반영됨**(재디스패치 모델과 독립적인 결정이라 먼저 들어감).
- 이 세션에서 같은 날 두 차례 급하게 쓴 의사코드가 각각 버그를 냈다는
@ -396,7 +399,8 @@ lazy하게 구독하도록 변경, Destroy 후 재실행 gap 해소.
(`session/2026-08-09-12-luau-test-spikes.md`)
M0가 검증해야 할 스파이크 항목을 독립 실행 스크립트 15개로 미리 작성 —
사용자가 `luau`/`luau-analyze`/`luau-lsp`/Studio로 직접 돌려보기로 함.
**아직 결과 미확인** — M0 착수 전 최우선 확인 대상.
(당시엔 결과 미확인 — **[2026-08-13 여섯 번째 세션에 첫 실측 완료]**,
현재 상태는 `luau-test/STATUS.md`가 소스.)
**2026-08-10 세션 — `Slot:Add`가 삽입 인덱스 반환**
(`session/2026-08-10-01-slot-add-return-index.md`)