Architecture Decision Record

ADR-0014: Facts Are Append-Only and Retention Is Time-Based

Status: Accepted · Date: 2026-03-06

Status: Accepted

Date: 2026-03-06

Context

BSFG is a durable boundary history, not a mutable application table. The system must preserve auditable fact lineage while still bounding storage growth and allowing different retention horizons for different classes of facts.

The design therefore needs to answer two linked questions:

Options Considered

Option Description Benefits Drawbacks
Mutable fact records Allow updates and replacements of previously written facts.

|

| | Infinite append-only retention | Facts are immutable and never expire. |

|

| | Consumer-driven deletion | Facts disappear once all consumers have acknowledged them. |

|

| | Append-only facts with time-based retention (Selected) | Facts are immutable; retention is governed by stream class and time horizon. |

|

|

Decision

BSFG facts are append-only. Existing facts are never modified in place. Corrections, reversals, and superseding statements are represented as new facts.

recorded fact      -> immutable
correction         -> new fact
superseding state  -> new fact

Retention is time-based and configured per stream class.

facts.operational -> shorter horizon
facts.audit       -> longer horizon
facts.documents   -> governed separately from fact streams

Example default posture:

Consequences

Benefits:

Tradeoffs: