PR-002: Persistence Adapters — in-memory, zero external dependencies

- Repository interfaces defined by domain (@landvex/domain)
- 6 in-memory adapters: Session, Mission, DecisionCase, Artifact, EventStore, UnitOfWork
- 9 tests verifying adapter contracts
- Domain unchanged — infrastructure depends on domain, never reverse
- ADR-006: In-Memory Adapters for Testing

Definition of Done met:
- All adapters compile against domain interfaces
- Unit tests pass (9/9)
- No PostgreSQL, S3, Express, AI in this PR
- Ready for PR-003: PostgreSQL adapters
This commit is contained in:
Bernt
2026-07-02 14:59:37 +00:00
parent fa0dbf5127
commit 02b51d7814
22 changed files with 963 additions and 17 deletions
+29
View File
@@ -0,0 +1,29 @@
/**
* @landvex/infrastructure
*
* Persistence adapters and infrastructure for LandveX domain.
*
* Architecture:
* - Domain defines interfaces (WHAT)
* - Infrastructure implements them (HOW)
* - Domain never depends on infrastructure
*/
// Repository interfaces (defined by domain, exported for convenience)
export {
Repository,
FieldSessionRepository,
MissionRepository,
DecisionCaseRepository,
ArtifactRegistry,
EventStore,
UnitOfWork,
} from './repositories/repository-interfaces';
// In-memory adapters (for testing)
export { InMemoryFieldSessionRepository } from './adapters/in-memory-session-repository';
export { InMemoryMissionRepository } from './adapters/in-memory-mission-repository';
export { InMemoryDecisionCaseRepository } from './adapters/in-memory-decision-case-repository';
export { InMemoryArtifactRegistry } from './adapters/in-memory-artifact-registry';
export { InMemoryEventStore } from './adapters/in-memory-event-store';
export { InMemoryUnitOfWork } from './adapters/in-memory-unit-of-work';