Files
boc/packages/infrastructure/README.md
T
Bernt 02b51d7814 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
2026-07-02 14:59:37 +00:00

1.5 KiB

@landvex/infrastructure

Persistence adapters and infrastructure for LandveX domain.

Architecture

Domain (interfaces) ← Infrastructure (adapters)
  • Domain defines repository interfaces (WHAT)
  • Infrastructure implements them (HOW)
  • Domain never depends on infrastructure

Repository Interfaces

Interface Purpose
FieldSessionRepository Store/retrieve field sessions
MissionRepository Store/retrieve missions
DecisionCaseRepository Store/retrieve decision cases
ArtifactRegistry Register/find artifacts
EventStore Append-only event log
UnitOfWork Coordinate multiple repositories

In-Memory Adapters

For testing and development:

Adapter Data Structure
InMemoryFieldSessionRepository Map<string, FieldSession>
InMemoryMissionRepository Map<string, Mission>
InMemoryDecisionCaseRepository Map<string, DecisionCase>
InMemoryArtifactRegistry Map<string, Artifact>
InMemoryEventStore Array
InMemoryUnitOfWork Coordinates all above

Future Adapters

Adapter Technology Status
PostgreSQL repositories PostgreSQL Planned
S3 Artifact Registry AWS S3 / Cloudflare R2 Planned
Event Store PostgreSQL / EventStoreDB Planned

ADRs

  • ADR-006: In-Memory Adapters for Testing

Dependencies

  • @landvex/domain — repository interfaces depend on domain types