Skip to content

Reconcile canonical_node.rs node layout with OGAR canon (key16+value496; EdgeBlock superseded) — F-5 operator/panel decision #620

Description

@claude

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

  1. Drop the separate EdgeBlock, move to key(16) | value(496); OR keep
    16+16+480 and update the OGAR canon instead.
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions