Expand description
Graph — what a plugin’s analyze returns: pure structure, nodes +
edges, and nothing computed.
Derived data is produced centrally afterwards and lives outside this type:
- per-node metrics and cycle membership are written into nodes’
attrsby id during enrichment (in the metrics/graph layer, not in this contract); - graph-level cycles and averages are computed by the orchestrator and stored in the snapshot, not here.