quad/.claude/base
qwreey-agent-selene dc81dd26db
feat: 단위 2 /code-review high 반영 — ① 여섯(H-199/H-201/H-202/H-204/H-206/H-207) + ② 넷(H-198/H-200/H-203/H-205) §4 합류
체크포인트 재개 첫 항목. 8각도 후보 22 → 검증 생존 10(정확성 8건 실측 재현).

- H-199: With/Compute nil dep 조용한 탈락 → collectDeps + "dep #N is nil"(level 3)
- H-201: store:Of 이름 문자열 검증(할당 전, level 2)
- H-202: Compute fn 함수 검증(형제 표면과 같은 급)
- H-204: Store defaults 평범한 테이블 검증(clone 전)
- H-206: implsOf 세 벌 → ImplRegistry.luau 신설(잎, 내부 전용)
- H-207: Source.Set이 Impl.Emit 직접 호출로 위임(꼬리 한 벌)
- ② 넷은 코드에 TODO 마커만, 문항은 round11.md §4(마커 10 = 문항 10, 1:1)
- H-198(🔴 닫힌 게이트 너머 fn 도중 Set → 영구 stale)은 state-epoch-plan §4
  확정 의사코드 자체의 구멍 — 그 절에 ⚠️ 결정 대기 배너, README 색인 갱신
- architecture.md: ImplRegistry 소스 트리 등재, error 계약 "도착지가 계약" 명료화
- spec.state 13절·spec.store 2·3절 신설/확장, 감사 2라운드(6건 → 니트 2) 반영

Co-authored-by: qwreey <me@qwreey.moe>
Claude-Session: https://claude.ai/code/session_01LF78pXeFGD1ZSVD3ifteYG
2026-08-31 11:39:42 +09:00
..
architecture.md feat: 단위 2 /code-review high 반영 — ① 여섯(H-199/H-201/H-202/H-204/H-206/H-207) + ② 넷(H-198/H-200/H-203/H-205) §4 합류 2026-08-31 11:39:42 +09:00
attribute-plan.md qa: 7라운드 발견 52건 처리·반영 — Store 재설계 시도와 철회, 타입 함수 원칙 신설 2026-08-25 23:40:19 +09:00
bind-system-plan.md qa: Claim 후속 문항 넷 확정 — nativeClaim 주입 op(gcconn/gchold 경로 전부), 이중 claim은 셋업 유무로, PlayerGui는 claim 대상 아님, <Class>Param<E> 2026-08-28 17:36:06 +09:00
blocker-plan.md docs: 단위 4 감사 4라운드(확실 0) — blocker-plan 231 '필드' 괄호, CLAUDE.md/project-context 머리말을 '단위 넷 구현 완료·끝 절차 진행 중'으로 2026-08-29 02:34:08 +09:00
brand-plan.md design: Epoch/EpochMap/Brand 전면 승격 + 해소 기록 flatten 2026-08-22 01:27:18 +09:00
claim-plan.md qa: Claim 후속 문항 넷 확정 — nativeClaim 주입 op(gcconn/gchold 경로 전부), 이중 claim은 셋업 유무로, PlayerGui는 claim 대상 아님, <Class>Param<E> 2026-08-28 17:36:06 +09:00
component-composition-plan.md qa: 7라운드 발견 52건 처리·반영 — Store 재설계 시도와 철회, 타입 함수 원칙 신설 2026-08-25 23:40:19 +09:00
debounce-throttle-plan.md docs: 전 코퍼스 스윕 반영 — debounce-throttle의 HasBlockedEmit 개념 이름 표기 둘(H-86), effect-plan의 'LifetimeHandle 탑레벨 함수' → 인스턴스 필드(H-174) 2026-08-29 03:10:00 +09:00
dispatch-core-plan.md qa: 10라운드 후속 H-163/H-164 + EmitReceive — 전파 루프 계층 분리, Slot 재마운트 캐치업, emitFrom nil 계약 2026-08-28 15:52:15 +09:00
effect-plan.md docs: 마무리 감사 반영 — Observer/Effect 네 진입점 의사코드 블록을 H-174 모양으로(임플 팩토리 안, module.canBound) 2026-08-29 03:24:59 +09:00
event-plan.md qa: 구현 전 QA 1라운드 결과를 base/에 전량 반영 2026-08-18 19:39:03 +09:00
fallback-plan.md design: 손 트레이싱 6라운드 전량 처리·반영 — H-1~H-54 확정, M2/M3 설계 게이트 해소 2026-08-24 18:54:14 +09:00
gate-plan.md docs: 단위 3·4 탐사자 반영 — H-191(Ref 콜백 게이팅은 rawRerun 홀드) / H-192(설치 발화 억제는 from==nil 가드) / H-193(H-152 근거 갱신) / H-194(레지스트리는 임플 클로저 로컬) / H-195 / H-196(no-op → 홀드) / H-197(spec.init에 Effect·Blocker·onDestroying) 2026-08-29 03:13:11 +09:00
lifecycle-hooks-plan.md qa: 단위 1 배치 회신 반영 — H-174 팩토리형+module.canExecute 늦게 읽기, H-169 리비전 가드로 재진입 파동 놓기, H-168 Ref<<T?>>() 관용구, H-170 resume 즉시 실패 re-raise 2026-08-28 20:18:13 +09:00
lifecycle-pattern.md docs: 마무리 감사 반영 — Observer/Effect 네 진입점 의사코드 블록을 H-174 모양으로(임플 팩토리 안, module.canBound) 2026-08-29 03:24:59 +09:00
modifier-plan.md qa: 10라운드 후속 H-158~H-162 반영 — :Block 폐기(__apply), _rerunRequired 홀드(_installed 흡수), Claim M5, Void export 2026-08-28 14:43:56 +09:00
module-lifecycle-plan.md docs: 단위 2 감사 5라운드 반영 — H-174 잎 목록은 파일 헤더가 소스(module-lifecycle-plan), InitState→State.Init 표기, EpochMap 주석 인용을 산문으로 2026-08-29 01:48:04 +09:00
onchange-plan.md design: 손 트레이싱 6라운드 전량 처리·반영 — H-1~H-54 확정, M2/M3 설계 게이트 해소 2026-08-24 18:54:14 +09:00
project-setup-plan.md feat(m2): 첫 단위 공통 기반 — Void/Brand/LifetimeHandle/Ref 최소형 + mock 생명주기 + spec 5개 2026-08-28 18:10:50 +09:00
purity-and-effects-plan.md docs(base): bind/store/state 3단계 분할, UI 숏핸드 Tween 지원, existing-instance-bind 기각 2026-08-14 05:10:49 +09:00
quad-types-plan.md docs: 전 코퍼스 스윕 2 반영 — README gate/epoch 행 완료 표기, quad-types-plan 시제, STATUS 스파이크 23 재실행 닫힘, HUMAN_TODO M2 표기, project-context src 나열 → 소스 트리 포인터, architecture 테스트 전략 포인터 2026-08-29 03:17:59 +09:00
ref-plan.md qa: 단위 1 배치 회신 반영 — H-174 팩토리형+module.canExecute 늦게 읽기, H-169 리비전 가드로 재진입 파동 놓기, H-168 Ref<<T?>>() 관용구, H-170 resume 즉시 실패 re-raise 2026-08-28 20:18:13 +09:00
relate-plan.md qa: 7라운드 발견 52건 처리·반영 — Store 재설계 시도와 철회, 타입 함수 원칙 신설 2026-08-25 23:40:19 +09:00
slot-plan.md qa: Claim 후속 문항 넷 확정 — nativeClaim 주입 op(gcconn/gchold 경로 전부), 이중 claim은 셋업 유무로, PlayerGui는 claim 대상 아님, <Class>Param<E> 2026-08-28 17:36:06 +09:00
source-state-plan.md docs: 단위 3·4 탐사자 반영 — H-191(Ref 콜백 게이팅은 rawRerun 홀드) / H-192(설치 발화 억제는 from==nil 가드) / H-193(H-152 근거 갱신) / H-194(레지스트리는 임플 클로저 로컬) / H-195 / H-196(no-op → 홀드) / H-197(spec.init에 Effect·Blocker·onDestroying) 2026-08-29 03:13:11 +09:00
state-epoch-plan.md feat: 단위 2 /code-review high 반영 — ① 여섯(H-199/H-201/H-202/H-204/H-206/H-207) + ② 넷(H-198/H-200/H-203/H-205) §4 합류 2026-08-31 11:39:42 +09:00
store-plan.md qa: 10라운드 결정 반영 (H-147~H-158) — fn/cleanup 자기 구독 금지, Refresh 캐치업 폐기, 루트는 Claim으로 2026-08-28 13:00:49 +09:00
tag-plan.md design: 손 트레이싱 6라운드 전량 처리·반영 — H-1~H-54 확정, M2/M3 설계 게이트 해소 2026-08-24 18:54:14 +09:00
tween-plan.md fix(m2): /code-review high 반영 — mock Destroy 의미론(자손·순서·이중 no-op, H-172), lazy claim GC 타이밍(H-171), M7 TweenBrand 잔재(H-173), spec.init 신설; ② H-168~H-170은 round11 §4로 2026-08-28 19:16:28 +09:00
typing-limits.md fix(m2): /code-review high(단위 3·4) 반영 — 임플을 module._impl로(H-181, 인스턴스 영구 핀 해소), Gate 실패 시 detach(H-188), Observer.Subscribed=false(H-189), Apply 검증(H-190); ② H-182~H-187은 §4 + TODO 마커 2026-08-29 02:58:27 +09:00
ui-shorthand-plan.md qa: 10라운드 후속 H-158~H-162 반영 — :Block 폐기(__apply), _rerunRequired 홀드(_installed 흡수), Claim M5, Void export 2026-08-28 14:43:56 +09:00