quad/.claude/luau-test/done
qwreey 69466abc47
docs(dispatch): 0-Z/0-A 확정 — Attribute 전용 키+이름 claim, 하강 diff 전면 반영
`question.md` 최우선 두 건을 한 패스로 닫고, 배너를 달고 있던 7개 문서 +
인덱스 레이어 전체를 갱신했다.

0-Z (Attribute 이름 소유권):
- 그룹은 비공개 `GetKey`로 이름마다 자기 전용 키를 써서 위임 → 교차 오염
  구조적 제거. 이름 소유권은 `AttributeKeyHandler`의 이름 claim이 판정
  (`nameClaims` Relate, 다른 키가 같은 이름을 노리면 즉시 error).
- 권고안 (a)(그룹 안 claimant Relate)는 그룹↔직접 쓰기를 못 잡아 기각 —
  두 경로가 만나는 말단 핸들러에서 공개 키는 같은 객체라 소유자 구분 불가.

0-A (재디스패치 = 하강 diff):
- 래핑 핸들러의 선행 `retractFrom` 폐기, `Dispatch.process`가 슬롯의
  `handler`를 먼저 비교(같으면 클로저에 새 값 전달 후 재process, 다르면
  그 자리부터 전량 철거).
- 귀결: `retractFrom`이 3-인자로 축소(힌트를 외부에서 만들어 넣을 자리
  소멸), `isX(hintValue)` 가드 규칙 폐지, 깊은 체인 힌트 유실 캐비엇 삭제,
  Dispatch의 점유 체크 폐지.
- 9차 세션이 미뤄둔 2단계 분할을 같이 수행 — 디스패치 코어를
  `base/dispatch-core-plan.md`로 분리하며 재작성(bind-system-plan은
  2263→1219줄). 옛 모델은 archive/dispatch-hintvalue-model-reversed.md.

패키지 재배치 (사용자 제기):
- Tag/Attribute의 부기 알고리즘 전체를 quad-base로, 백엔드는
  `addTag`/`removeTag(inst,{string})`/`setAttribute(inst,name,v)` 3개 op만
  주입(웹 className/data-* 대응). 엔진 고유 타입 패밀리만 백엔드.
- `HANDLER_PRIORITY_FALLBACK` 신설 — base 제공 핸들러의 밴드, 백엔드가
  평범한 우선순위로 덮어쓰면 언제나 이김.

부수: 스파이크 04/19가 옛 모델을 검증 중이라 rewrite-required로 이동,
question.md 최우선 칸 비움, 새 소소 항목 2건 등록(Merged 이름 중복,
`hintValue` 이름 재검토). doc-check ERROR 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KckSawrsJSJmDBcSojJPxZ
2026-08-13 23:53:15 +09:00
..
01-two-pass-array-hash-order.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
02-none-sentinel-vs-nil-holes.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
03-recursive-store-bind-dispatch.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
05-store-state-diamond-propagation.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
06-component-boundary-nil-hole-props.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
07-relate-weak-table-gc.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
08-type-source-satisfies-state.luau docs(type): 0-Y 해소 — 재귀 제네릭 반환은 Luau 상위 한계로 확정, typing-limits.md 신설 2026-08-13 22:08:51 +09:00
09-type-modifier-overridden-subtype.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
11-modifier-illegal-value-error.luau docs(audit): 10차 세션 — 병렬 에이전트 코퍼스 감사, 부정확성 7건 수정 2026-08-13 18:32:53 +09:00
12-type-attribute-generic-key-narrowing.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
14-type-nilable-default-overload.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
17-modifier-index-tableclone-chaining.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
18-relate-mutual-cycle-gc.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00
20-slot-splice-index-arithmetic.luau refactor(luau-test): 상태별 폴더로 재편 — done/review-required/rewrite-required/not-run 2026-08-13 18:02:07 +09:00