Tracking the F-5 canon-vs-code divergence flagged in
OGAR/docs/NODEGUID-CANON-AUDIT.md (§F-5), surfaced again while landing the
facet RFCs (ruff #32, OGAR #130) and the facet_schema PR (#619).
Divergence
- lance-graph code (
crates/lance-graph-contract/src/canonical_node.rs):
NodeRow = key(16) | edges(16: 12+4 EdgeBlock) | value(480).
- OGAR canon (
OGAR/CLAUDE.md:51-52): a node is key(16) + value(496) —
no separate EdgeBlock.
NODEGUID-CANON-AUDIT.md F-5 records the 12+4 EdgeBlock as
superseded (operator, 2026-06-23: "don't use 12-4, that's the old
taxonomy before family nodes" — relations ARE the addressing: shared family
prefix = local edge, GUID reference = cross edge), and states explicitly:
"a genuine canon-vs-operator divergence to resolve at the lance-graph level…
not something to change unilaterally."
Why an issue, not a PR
Per F-5 this is operator/panel-gated. The facet_schema work (#619)
deliberately touched only the 16-byte key and left the node layout alone.
This issue is the decision record so the next lance-graph session reconciles
canonical_node.rs against the family-node supersession rather than anyone
doing it unilaterally.
Decision needed
- Drop the separate
EdgeBlock, move to key(16) | value(496); OR keep
16+16+480 and update the OGAR canon instead.
- If dropping: re-home the
12 in-family + 4 out-of-family adjacency as
family-prefix addressing + GUID-reference tenants (per F-5), and update the
const _ size asserts + downstream consumers (MailboxSoA, SymbiontBoard).
cc the §6 soa-value-tenant-migration panel — this intersects the value-slab
work. Tracked downstream as medcare-rs board TD-MEDCARE-25.
Generated by Claude Code
Tracking the F-5 canon-vs-code divergence flagged in
OGAR/docs/NODEGUID-CANON-AUDIT.md(§F-5), surfaced again while landing thefacet RFCs (ruff #32, OGAR #130) and the
facet_schemaPR (#619).Divergence
crates/lance-graph-contract/src/canonical_node.rs):NodeRow = key(16) | edges(16: 12+4 EdgeBlock) | value(480).OGAR/CLAUDE.md:51-52): a node iskey(16) + value(496)—no separate EdgeBlock.
NODEGUID-CANON-AUDIT.mdF-5 records the12+4EdgeBlock assuperseded (operator, 2026-06-23: "don't use 12-4, that's the old
taxonomy before family nodes" — relations ARE the addressing: shared family
prefix = local edge, GUID reference = cross edge), and states explicitly:
"a genuine canon-vs-operator divergence to resolve at the lance-graph level…
not something to change unilaterally."
Why an issue, not a PR
Per F-5 this is operator/panel-gated. The
facet_schemawork (#619)deliberately touched only the 16-byte key and left the node layout alone.
This issue is the decision record so the next lance-graph session reconciles
canonical_node.rsagainst the family-node supersession rather than anyonedoing it unilaterally.
Decision needed
EdgeBlock, move tokey(16) | value(496); OR keep16+16+480and update the OGAR canon instead.12 in-family + 4 out-of-familyadjacency asfamily-prefix addressing + GUID-reference tenants (per F-5), and update the
const _size asserts + downstream consumers (MailboxSoA,SymbiontBoard).cc the §6
soa-value-tenant-migrationpanel — this intersects the value-slabwork. Tracked downstream as medcare-rs board
TD-MEDCARE-25.Generated by Claude Code