metadata-is-universal-extension-mechanism

IN derived (depth 1)

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.

Summary

The system uses a single generic metadata dictionary on each node as the catch-all place to attach new behavior — retraction flags, staleness markers, access controls, supersession links, and more — instead of adding dedicated fields every time a feature is introduced. This keeps the core data model stable while letting capabilities grow freely, and it means that when a node is explicitly retracted, that sticky flag lives in metadata where it persists through recomputation cycles until someone deliberately clears it.

Justifications

SL — Metadata carries structured state AND survives recomputation — it is both the carrier and the enforcer of lifecycle semantics

Antecedents (all must be IN):

  • network-metadata-carries-structured-state — 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.
  • retracted-pin-survives-recompute — A node explicitly retracted via `retract()` gets a `_retracted` metadata flag that pins it OUT — surviving both `assert_node` on its antecedents and `recompute_all()`, clearable only by `assert_node` on the pinned node itself

Dependents

These beliefs depend on this one:

Details