No description
Find a file
qwreey cebef6d973
decide(slot): Slot:Single + Slot-in-Slot nesting, fix recompute off-by-one
Slot:Single confirmed as pure :List sugar (resolves the original
State<Frame?> offset-access motivation directly). Slot-in-Slot nesting
confirmed for component-composition uniformity: Dispatch.setLength/
setOffsetSource reused recursively keyed by the Slot object itself
(no new primitive), Slot.Length becomes a contribution-sum, teardown
is a flat destroySlotTree + explicit unbindLifetime instead of
recursive Clear(). Slot(initial?) constructor revived as pure :Add
sugar, with a new _crudUsed <-> _listed mutual-exclusion guard.

Also fixes a real off-by-one bug in the existing (pre-nesting)
Length/Offset recompute — offset was accumulating inclusive of its
own position instead of exclusive. A reentrancy guard was considered
and rejected: each Slot owns an independent bookkeeping table, so
nesting alone never re-enters the same one; genuine reentrancy is
now named UB under the same Source-to-State unidirectional-flow
principle already governing Source/State.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017ymPLYAQmEYnTrnrdAwxpU
2026-08-11 13:55:31 +09:00
.claude decide(slot): Slot:Single + Slot-in-Slot nesting, fix recompute off-by-one 2026-08-11 13:55:31 +09:00
.gitignore quad-v2 재작성 계획 초기 스캐폴드 2026-08-04 00:07:40 +09:00
CLAUDE.md decide(slot): Slot:Single + Slot-in-Slot nesting, fix recompute off-by-one 2026-08-11 13:55:31 +09:00
HUMAN_TODO.md quad-v2 재작성 계획 초기 스캐폴드 2026-08-04 00:07:40 +09:00
ROADMAP.md decide(slot): Slot:Single + Slot-in-Slot nesting, fix recompute off-by-one 2026-08-11 13:55:31 +09:00
SAFETY.md quad-v2 재작성 계획 초기 스캐폴드 2026-08-04 00:07:40 +09:00