Architecture Decision Record

ADR-0028: Business Schema Validation Is Outside the Boundary Substrate

Status: Accepted · Date: 2026-03-06

Status: Accepted

Date: 2026-03-06

Context

BSFG facts carry canonical JSON payloads and may include an optional schema reference in the envelope. This leaves an architectural question: should the boundary substrate enforce business-schema validation before accepting a fact, or should validation remain the responsibility of producers and consumers?

The decision affects:

Options Considered

Option Description Benefits Drawbacks
Strict boundary validation BSFG validates every fact object against a registered schema before append.

|

| | Best-effort validation when schema is present | BSFG tries to validate only when an object_schema hint is provided. |

|

| | No schema reference at all | Carry raw canonical JSON only and omit schema references entirely. |

|

| | Optional schema reference; validation stays outside BSFG (Selected) | BSFG accepts canonical JSON payloads, may carry an optional schema hint, but does not perform business-schema validation itself. |

|

|

Decision

BSFG does not perform business-schema validation as part of the boundary append path.

boundary acceptance = transport validity + idempotency validity
not = business-schema validity

An envelope may include an optional schema hint, for example:

object_schema = "urn:bsfg:schema:batch.step_completed:v1"

That hint is carried for downstream interpretation and governance, but BSFG itself remains agnostic. Producers, consumers, and downstream domain services are responsible for:

Consequences

Benefits:

Tradeoffs: