No description
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> |
||
|---|---|---|
| .claude | ||
| .gitignore | ||
| CLAUDE.md | ||
| HUMAN_TODO.md | ||
| ROADMAP.md | ||
| SAFETY.md | ||