No description
State<Observer>/State<Effect>가 재-dispatch될 때 안쪽 값이 안 바뀌어도 Dispatch가 값 비교 없이 매번 재바인딩하던 것에 RefLeafHandler와 같은 old ~= v dedup을 추가(correctness 아니라 순수 성능 최적화 — == 비교가 매번 도는 Relate weak-table 쓰기보다 항상 쌈). 가장 큰 변경은 Tag/Attribute 핸들러 등록 모델 역전: 직전 커밋이 확정한 "TagHandler/AttributeKeyHandler/AttributeGroupHandler가 quad-base 모듈 로드 시점에 스스로 등록한다"는 결론 자체가 틀렸음이 드러남 — 이건 lifecycle-pattern.md가 이미 거부해둔 InitNamespace류 top-level 부작용 패턴과 같은 클래스였고, module-lifecycle-plan.md가 이미 확정해둔 "등록은 백엔드 팩토리가 BaseModule을 뮤테이션하는 시점" 원칙과 정면으로 어긋났음. 정정: 저 이름들은 참조 카운트/이름 claim 알고리즘 구현일 뿐이고, HANDLER_PRIORITY_FALLBACK에 실제로 꽂히는 건 이를 감싸는 별도 이름의 TagFallbackHandler/AttributeKeyFallbackHandler/AttributeGroupFallbackHandler — 등록 주체는 quad-base 모듈이 아니라 백엔드 팩토리. dispatch-core-plan.md/ tag-plan.md/attribute-plan.md/module-lifecycle-plan.md/architecture.md 전부 재반영, ROADMAP.md M10 체크리스트에 새 Fallback 파일 3개 추가(빠져 있으면 구현자가 만들 필요를 몰랐을 갭), 뒤집힌 원문은 archive/tag-attribute-load-time-registration-reversed.md. /code-review를 두 라운드 돌려 findings 15건 확정 반영 — 죽어있던 Observer/Effect FALLBACK 동적 경로 가드(k 타입 미체크), bindLifetime pseudocode의 canExecute/canBound 혼용, "결정 대기" 절이 삭제됐는데 비어 있다고 서술하던 3개 파일, "동적 경로 가드"가 볼드 텍스트뿐 실제 헤딩이 아니라 깨져있던 절 참조 6곳(###으로 승격), CLAUDE.md 11번째 세션 기록 ~103줄→~13줄 압축, Tag/Attribute 정정이 프로즈만 고치고 놓친 pseudocode 2곳. 별개로 RefLeafHandler.isHandlable이 PostRef 도입 이후 안 갱신돼 `and not isPostRef(v)`를 빠뜨렸던 사전 존재 버그도 같이 발견·정정. doc-check.py ERROR 0 유지. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .gitignore | ||
| CLAUDE.md | ||
| HUMAN_TODO.md | ||
| ROADMAP.md | ||
| SAFETY.md | ||