No description
Group Attribute(...) delegating through the public memoized AttributeKey(name) cache meant a direct [AttributeKey "name"]=v write and a group field (or two independent groups) targeting the same name silently converged on the same dispatch slot -- last write wins, no error. Fix: groups use rawNew(name) to mint a private per-name key cached on their own (inst,index) relation instead of the shared cache, so AttributeKeyHandler can detect a conflicting claimant by simple object-identity comparison -- no separate ownership registry needed. Persisting names reuse the same cached key across group value swaps, so the existing diff (nil only what left, leave the rest alone) keeps working. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .gitignore | ||
| CLAUDE.md | ||
| HUMAN_TODO.md | ||
| ROADMAP.md | ||
| SAFETY.md | ||