Architecture Decision Record

ADR-0009: Each Zone Owns Its Local Log Domain

Status: Accepted · Date: 2026-03-06

Status: Accepted

Date: 2026-03-06

Context

BSFG exists to preserve autonomy across trust, network, and failure boundaries. If all zones share one common broker or one common persistence plane, the boundary collapses at the storage layer even if the application protocol appears separated.

The architecture therefore needs a storage topology that preserves:

Options Considered

Option Description Benefits Drawbacks
Single global JetStream estate All zones publish into one shared JetStream domain or cluster.

|

| | Enterprise-only persistence | Plants and intermediary zones rely on enterprise-side durable storage. |

|

| | Plant-only persistence | Durable logs exist only in plants; enterprise remains mostly stateless. |

|

| | Zone-local log domain per zone (Selected) | Each zone owns its own JetStream domain and object storage; BSFG synchronizes facts across zones. |

|

|

Decision

Each BSFG zone will own its own local persistence domain:

zone = BSFG service + JetStream domain + Object Store

Zones include, for example:

Cross-zone transfer occurs only through BSFG protocol operations:

AppendFact
FetchFacts
ConfirmReceipt
PutObject

No zone writes directly into another zone’s local durable log. Cross-zone synchronization is explicit and replayable.

Consequences

Benefits:

Tradeoffs: