Skip to content

v0.3.5

Choose a tag to compare

@kevin-hartman kevin-hartman released this 31 Jul 06:29
· 336 commits to main since this release

A service no longer implies a database.

service_backed used to force a schema: a service_backed feature with zero tables or zero persistence_invariants[] hard-failed the design gate, so a compute / transform / proxy / external-API-aggregator service (real business logic, no persistence) could not pass.

persistence_invariants[] is now the single source of truth for "this feature has a database":

  • Declaring >=1 routes the feature through the DBA + DB-integration tests.
  • Declaring none marks it a non-persisting service: the DBA turn is skipped, db-design.json is optional, no persistence coverage is required.
  • checkDbDesign / checkPersistenceCoverage key off the invariants, not service_backed.

Safety net preserved: persistence evidence (an Infra-layer AC, or a migration/schema/storage NFR) while persistence_invariants is empty still hard-blocks the gate, so a feature that really persists cannot escape DB testing. Layering enforcement is unchanged. Agent prose, the architecture schema, and the DBA task hint were realigned, with a regression guard.