2f0ab18e81
- 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
862 B
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
Related
- ADR-006: In-Memory Adapters for Testing
- ADR-009: Persistence Independence