Architecture Decision Record

ADR-0042: Four-Buffer Entities Are Boundary Roles Implemented by BSFG Nodes

Status: Accepted · Date: 2026-03-06

Status: Accepted

Date: 2026-03-06

Context

BSFG documentation uses the terms ISB, IFB, ESB, and EFB in two distinct senses:

This dual usage creates ambiguity when mapping between:

The result is confusion about whether the four-buffer model remains valid, has been superseded, or is merely historical. Clarifying this distinction is essential for coherent documentation and implementation.

Options Considered

Option Description Benefits Drawbacks
Treat ISB/IFB/ESB/EFB as concrete services Name runtime components after the four buffers; blur the distinction between role and implementation.

|

| | Treat them as mere historical metaphors or earlier models | Downplay or remove the four-buffer model in favor of service/operation terminology. |

|

| | Treat them as logical boundary roles implemented by BSFG nodes (Selected) | Establish that ISB/IFB/ESB/EFB are architectural roles in the replay topology, and BSFG nodes implement these roles using zone-local substrates (JetStream, object store, etc.). |

|

|

Decision

BSFG adopts a three-layer ontology for clear mapping between architecture, runtime, and substrate:

Principle / Topology Layer

ISB, IFB, ESB, and EFB are logical boundary roles.

Together, they form the four-buffer replay topology, which defines the minimal partition-tolerant boundary capable of: autonomous operation when connectivity seals, asynchronous replay when reconnected, and effectively-once delivery without shared state or distributed transactions.

Logical System Layer

A BSFG node or BSFG service implements one or more of these roles.

Substrate / Implementation Layer

Zone-local durability substrates that implement the mechanics behind the roles.

Canonical statement

ISB, IFB, ESB, and EFB are logical boundary roles. A BSFG node may implement one or more of these roles using local durability substrates such as JetStream streams, durable consumers, and object storage.

Consequences

Benefits:

Tradeoffs: