Expand description
Canonical procedural seed nodes (Phase 11, ADR-0025).
A SeedNode describes one computation, not one storage slot: a bounded,
versioned materializer over zero or more dependencies, producing a declared
output kind and logical length. Nodes are canonically encoded (little-endian,
length-prefixed, no serde) so that the same computation always hashes to the
same NodeId regardless of platform or insertion order.
The node’s content_id is not stored inside the node: it is
NodeId::of_node(canonical_bytes), which is what makes the graph
content-addressed and immutable. Changing a dependency’s bytes yields a
different dependency id, hence a different node id; there is no mutation.
Structs§
- Node
Limits - A bounded resource envelope declared by a node.
- Seed
Node - One canonical procedural seed node.
Enums§
- Node
Kind - What a node computes. The numeric values are part of the canonical encoding.
Constants§
- MATERIALIZER_
VERSION - The materializer semantics version for v1.
- MAX_
NODE_ BYTES - Recommended maximum canonical node size (framing discipline).
- MAX_
NODE_ DEPS - Maximum dependency fanout of a single node.
- NODE_
MAGIC - Canonical header byte for the node encoding.
Functions§
- object_
params - Encode a
(u32, u16, ...)object-identity parameter block:object,generation, then a trailing kind-specificu64. - read_
object_ params - Decode an object-identity parameter block.
- read_
span_ params - Decode an
[offset, len]parameter block. - read_
u32_ params - Decode a single
u32parameter. - span_
params - Encode an
[offset, len]parameter block. - u32_
params - Encode a single
u32parameter.