No description
여러 base 문서(store-semantics.md, bind-system-plan.md, architecture.md)에 "store.key는 Store 생성 시 이미 만들어둔 Source를 그대로 반환할 뿐"이라는 eager-only 서술이 반복돼 있었는데 부정확했음 — Luau 타입은 런타임에 강제되지 않고 defaults도 선택이라, Store<<T>>() 처럼 defaults 없이 만든 뒤 .Key:Set(v)를 부르면 eager 생성만으론 .Key가 nil이라 크래시남. 정정된 모델: Store 생성 시점의 eager 생성(각 defaults 키마다 미리 Source 생성, 여전히 필요) + store.key 접근 시점의 lazy __index 생성(아직 없는 키를 그 자리에서 만들어 저장, 재접근시 재생성 없음) 둘 다 필요. bind-system-plan.md에 남아있던 관련 stale 서술도 같이 정정: - "__newindex/__index 프록시로 감싸면 됨"은 이후 :Set() 전환으로 무효화됨 - "defaults 테이블 직접 mutate는 UB"는 최신 모델과 안 맞음(defaults는 라이브 백킹이 아니라 아직 안 만들어진 Source의 초기값 템플릿일 뿐이라 나중에 바꿔도 문제없음, UB 아님) question.md에 .value vs :Get()/:Pull() 읽기 접근자 이름 재검토 항목도 추가(아직 미결정 — Finalize는 기존 cleanup 계열 어휘와 충돌해 기각, Pull과 Get/Set 대칭 사이에서 검토 중). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .gitignore | ||
| CLAUDE.md | ||
| HUMAN_TODO.md | ||
| ROADMAP.md | ||
| SAFETY.md | ||