network-metadata-carries-structured-state
IN premise
Node state such as `_retracted`, `retract_reason`, `superseded_by`, `challenges`, `access_tags`, and `summarized_by` lives in the generic `metadata` dict rather than typed Node fields, keeping the dataclass stable while features layer on behavior.
Summary
All the extra per-node state that features like retraction, supersession, challenges, access control, and summarization need is stashed in a generic metadata dictionary instead of being added as dedicated fields on the Node class. This means the core data structure never has to change its shape when new capabilities are introduced — features just read and write well-known keys in that dict, keeping the system extensible without constant schema churn.
Dependents
These beliefs depend on this one:
- metadata-is-universal-extension-mechanism — Node metadata is the universal extension mechanism carrying all structured lifecycle state (retraction flags, stale reasons, challenges, access tags, supersession markers), and retraction flags pinned in metadata survive recomputation to enforce sticky retraction.
Details
| Source | entries/2026/04/29/reasons_lib-network.md |