You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The third dispatch-table facet: explicit typed edges (a)-[r]->... under the
classid-resolved EdgeCodecFlavor (E-ADJACENCY-IS-KEY-AND-EDGECODEC). EdgeBlock is
bytes 16..32 (the edge region), NOT the value slab, so still zero value decode.
- MailboxSoaView::edge_block_at(row) -> Option<EdgeBlock> (contract, deferred
default None; the canon NodeRow carries edges(16), the override exposes it).
- graph::mailbox_scan::{EdgeNeighbors, edge_slots_coarse}: under CoarseOnly,
decode the 12 in-family + 4 external slots to their populated (non-zero) refs,
family vs external. Pq32x4 (turbovec residue) / CoarseResidue are refused -
they are NOT adjacency, never coerced to slots (boundary 4b: classid-resolved,
not query-guessed).
- Slot-byte -> neighbor-row resolution is deliberately deferred (the basin-local-
index convention + zero-collision is the next encoding decision, analogous to
local_key->row); this facet lands the structure (which slots are edges, family
vs external, under which flavor), never fakes the row resolution.
- Tests: populated decode ([2,5] family + [1] external), all-zero = no edges,
no-block = None, non-Coarse flavors refused. F2 zero-value-decode extended.
9/9 mailbox_scan, clippy clean (sort_by_key + Reverse).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
0 commit comments