Files
boc/packages/infrastructure/adr/ADR-008-PostgreSQL-Adapters.md
T
Bernt 2f0ab18e81 PR-003A: PostgreSQL Repository Adapters + Persistence Independence Test
- 4 PostgreSQL adapter stubs (Session, Mission, DecisionCase, Artifact)
- Migration 001: Initial schema (sessions, missions, artifacts, decision_cases)
- Persistence Independence Test: 6 tests verifying same behavior
  across InMemory and PostgreSQL implementations
- ADR-008: PostgreSQL Adapters for Production
- ADR-009: Persistence Independence

Architecture Quality Gates:
- Domain unchanged
- Application unchanged
- Only adapter implementation changes
- Same test suite runs against both implementations

Next: PR-003B — Schema & Migrations, PR-003C — Integration Tests,
PR-003D — Unit of Work / Transactions
2026-07-02 15:57:23 +00:00

862 B

ADR-008: PostgreSQL Adapters for Production

Status

Accepted

Context

In-memory adapters are sufficient for testing but not for production. We need persistent storage.

Decision

Implement PostgreSQL adapters that implement the same repository interfaces as in-memory adapters:

  • PostgresFieldSessionRepository
  • PostgresMissionRepository
  • PostgresDecisionCaseRepository
  • PostgresArtifactRegistry

Key principles:

  • Same interface as in-memory adapters
  • Domain unchanged
  • Application unchanged
  • Only adapter implementation changes

Consequences

Positive

  • Production-ready persistence
  • Same test suite verifies both implementations
  • Easy to swap implementations

Negative

  • Requires PostgreSQL instance
  • Need migrations
  • More complex setup
  • ADR-006: In-Memory Adapters for Testing
  • ADR-009: Persistence Independence