quad/.claude/luau-test/done
qwreey-agent-selene 590b0fe6a1
feat: M3 단위 1 — Handler 계약 타입(quad-types 소유) + Quad.Dispatch 필드(H-25)
- quad-types: `Handler`(isHandlable/priority/process→retractor 3종) /
  `Dispatch`(getHandler/process/retractFrom/addHandler/listHandlers/drive +
  HANDLER_PRIORITY_* 밴드) export type 신설, `Quad`에 `Dispatch` 필드
  (H-25 — 닫힌 레코드라 없으면 quad.Dispatch 접근이 analyze 타입에러)
- quad-base/src/Dispatch/Handler.luau: 타입 전용 잎(§6 계획) — quad-types
  재export만, Dispatch 되참조 없음(단방향 의존)
- H-165 예고대로 pesde shim 재생성 필요했음 — `pesde install` 재실행으로 해소

Co-authored-by: qwreey <me@qwreey.moe>
Claude-Session: https://claude.ai/code/session_01LF78pXeFGD1ZSVD3ifteYG
2026-08-31 15:13:08 +09:00
..
01-two-pass-array-hash-order.luau feat: M3 단위 1 — Handler 계약 타입(quad-types 소유) + Quad.Dispatch 필드(H-25) 2026-08-31 15:13:08 +09:00
02-none-sentinel-vs-nil-holes.luau docs(dispatch): PreRef 소진 센티널을 ProcessedPreRef로 교체, Length/Offset 등록 갭 해소 2026-08-14 02:45:50 +09:00
03-recursive-store-bind-dispatch.luau fix(lifecycle): canExecute/unbindLifetime을 value 1-인자로 정정, Subscribed 오염 제거 2026-08-14 04:03:49 +09:00
05-store-state-diamond-propagation.luau feat(m2): 단위 4 — GateNode(state:Gate) / Blocker + Apply 파라미터 타입(교집합 오버로드, H-179) + spec 2개; M2 체크박스 전부 [x] 2026-08-29 02:04:58 +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(base): bind/store/state 3단계 분할, UI 숏핸드 Tween 지원, existing-instance-bind 기각 2026-08-14 05:10:49 +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
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
13-type-ref-preref-subtype.luau qa: luau-test 스파이크 13 재작성 — 타입/런타임 분리 + PostRef까지 확장 2026-08-19 14:31:56 +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
15-type-compute-trailing-deps-typepack.luau docs: 단위 2 감사 2라운드 반영 — ROADMAP 418 깨진 볼드, source-state-plan의 '구현 시 정한다' 잔여 둘(Source 이름·__apply 시그니처), 스파이크 15를 done/으로(폴더가 곧 상태) 2026-08-28 20:48:29 +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
23-type-quadtypes-checkversion-addplugin.luau design: type-version-check 패키지 추출 — CheckedQuad<T, Pattern> 글롭/캐럿 확장 2026-08-19 17:39:57 +09:00
26-type-apply-object-factory-overload.luau docs: round11 파일 개명 — m2-implementation-round11* + 명명 규약 확정, M2 종결 2026-08-31 13:40:27 +09:00