quad/.claude/research
qwreey 33790df6ee
decide(base): CreatedRef 폐기, PreRef pre-pass 확정, None 소진 정정, nil-hole 방지 관용구 확정
CreatedRef 이름 완전 폐기 — Ref(default)/PreRef(default)가 이미 Compose식
Type(args) 팩토리 생성자로 확정돼 있어 별도 래퍼가 불필요했음(2026-08-04
Ref 일반화 이전 시절의 잔재). bind-system-plan.md/ROADMAP.md/question.md/
architecture.md/documentation-content-map.md 전체 동기화.

PreRef pre-pass 구현 위치 확정 — 새 Dispatch.* 함수나 flatten에 얹지 않고
이미 확정된 Dispatch.drive(inst, flattened) 자신이 두 번 순회(pre-pass +
정상 두 패스)하는 것으로 확정. flatten에 얹는 안은 재바인드 시 flatten
재호출 가능성과 충돌해 기각. 복수 PreRef는 배열 index 순서, 동적 경로로
도착한 PreRef는 전용 Handler가 즉시 error.

소진 슬롯을 nil이 아니라 None으로 — 사용자가 Luau REPL 반례로 직접 발견:
키가 촘촘한 저범위 정수에서 벗어나면(nil 구멍 포함) 순회 순서가 index
오름차순을 안 지킴, table.insert가 쓰는 #t도 구멍 있는 테이블에서 정의
안 됨. Ref 콜백/대기자 배열과 PreRef pre-pass 둘 다 None 소진으로 정정.
배열 파트 None(순수 스킵)과 해시 파트 None(NoneHandler 경유)이 다른
경로임을 명시.

props.Modifier/props.Ref forwarding에 `or None` 필수 관용구 확정 —
nil-hole 위험도가 국소적이지 않고 테이블 전체에 영향을 준다는 게 이번
실측으로 드러나 방어 필요, 기존 None 스킵 메커니즘 재사용이라 새 코드
불필요.

부수 발견/보강: Modifier() 바닥 생성자가 문서에 없던 갭 보강, Brand 태그
목록에 RefTag/PreRefTag/ModifierTag가 빠져있던 갭 보강(isRef/isPreRef는
isState와 달리 단순 항등 — PreRef가 일반 Ref 핸들러에 안 잡히려면 필수).

archive/agent-mistake.md 관례에 따라 이번 세션의 실수(Modifier.Rounded(8)
stale 치환 시 잘못된 예시로 대체)는 CLAUDE.md 세션 로그에 경위 그대로
남김.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-07 20:29:36 +09:00
..
additional-primitives-plan.md decide(base): Observer 즉시실행 확정, Effect가 Observer를 조합하도록 확정 2026-08-07 16:20:54 +09:00
debug-tooling-plan.md docs: .claude/ 코퍼스 정리 — reference/ 신설, 승격/기각 분리, 역전 이력 트리밍 2026-08-07 14:39:20 +09:00
documentation-content-map.md decide(base): CreatedRef 폐기, PreRef pre-pass 확정, None 소진 정정, nil-hole 방지 관용구 확정 2026-08-07 20:29:36 +09:00
documentation-plan.md docs: .claude/ 코퍼스 정리 — reference/ 신설, 승격/기각 분리, 역전 이력 트리밍 2026-08-07 14:39:20 +09:00
existing-instance-bind-plan.md 이벤트 self 관습/Store Emit/Ref 일반화/Observer 논의(2026-08-06 후속 세션) 결과 반영 2026-08-06 17:54:13 +09:00
framework-comparison-findings.md 문서 사이트 구조/quadnomicon 신설, 프레임워크 정직 비교, Source가 State를 만족하는 서브타입 재구성 2026-08-06 21:29:56 +09:00
pre-implementation-audit.md decide(base): CreatedRef 폐기, PreRef pre-pass 확정, None 소진 정정, nil-hole 방지 관용구 확정 2026-08-07 20:29:36 +09:00
tween-plan.md docs: 코퍼스 전체 정합성 감사 반영, agent-mistake.md 신설 2026-08-07 19:34:40 +09:00
v1-compat-plan.md docs: .claude/ 코퍼스 정리 — reference/ 신설, 승격/기각 분리, 역전 이력 트리밍 2026-08-07 14:39:20 +09:00