SBOM ledger retention policy

Purpose

Retention keeps ledger history bounded while preserving audit trails for compliance.

Configuration

Settings are bound from SbomService:Ledger (env prefix SBOM_SbomService__Ledger__):

Operations

Guarantees

Version-stream outbox retention

Ledger-version retention above and P6 envelope retention are separate bounds. The host declares sbom.versions as RemotelyConsumed only after SbomService:VersionStream:Enabled=true, because Findings checkpoints in its own physical database:

Consumers below retentionHorizonSeq receive requiresBootstrap=true and restart from the bounded live-version snapshot before resuming ordered catch-up. See version stream.

Activation validates the complete setup-owned P7 admission/retention contract before registering the producer or pruner. Missing/invalid values stop startup; no numeric deployment value is supplied by source. Enabled upload/retirement writes pause with typed 503 reasons before the configured row, WAL, or database-capacity threshold. See version stream.