Architecture Decision Record

ADR-0022: Boundary Contract Is Four Explicit RPC Operations

Status: Accepted · Date: 2026-03-06

Status: Accepted

Date: 2026-03-06

Context

BSFG is a narrow boundary appliance, not a general integration platform. Its RPC surface should expose only the operations required to:

The contract must remain stable, auditable, and easy to implement across zones without turning the boundary protocol into a large application API.

Options Considered

Option Description Benefits Drawbacks
Large generic CRUD-style API Expose many endpoints for querying, mutating, validating, deleting, and inspecting boundary data.

|

| | Single generic command endpoint | Use one RPC such as Execute or Command with operation details embedded in the payload. |

|

| | Transport-only replication stream | Expose only a fetch/replicate primitive and push append semantics elsewhere. |

|

| | Four explicit RPC operations (Selected) | Expose exactly AppendFact, FetchFacts, ConfirmReceipt, and PutObject. |

|

|

Decision

BSFG exposes exactly four canonical RPC operations:

AppendFact
FetchFacts
ConfirmReceipt
PutObject

Their roles are:

The contract deliberately omits CRUD-style mutation, delete, search, and business-specific commands. Those belong outside the boundary substrate.

Consequences

Benefits:

Tradeoffs: