Write raw data to disk as pretty-printed JSON (NO metadata injection). Metadata is written to a separate sidecar file to prevent merge conflicts when parallel workflows persist the same document.
In-memory MCP coverage annotations (mcpCoverageState, mcpProvenance, mcpSignals) are stripped from the persisted JSON so byte-identical output is preserved across parallel workflows; provenance is carried in the sidecar .meta.json and the downstream manifest instead.
This sidecar discipline is a hard invariant โ the data file MUST be pure source data with no injected metadata. See tests/parliamentary-data/persistence/meta-sidecar.test.ts.
Write raw data to disk as pretty-printed JSON (NO metadata injection). Metadata is written to a separate sidecar file to prevent merge conflicts when parallel workflows persist the same document.
In-memory MCP coverage annotations (
mcpCoverageState,mcpProvenance,mcpSignals) are stripped from the persisted JSON so byte-identical output is preserved across parallel workflows; provenance is carried in the sidecar.meta.jsonand the downstream manifest instead.This sidecar discipline is a hard invariant โ the data file MUST be pure source data with no injected metadata. See
tests/parliamentary-data/persistence/meta-sidecar.test.ts.