05ed037fe8
- DNS: pilot.landvex.com -> 16.170.83.169 - TLS: Let's Encrypt certificate (expires 2026-09-30) - Nginx: reverse proxy with SSL termination - API: https://pilot.landvex.com/api/v1/missions - UI: https://pilot.landvex.com/ - Upload: POST /api/v1/missions/import (multipart/form-data) Verified: ✅ https://pilot.landvex.com/health ✅ https://pilot.landvex.com/version ✅ https://pilot.landvex.com/api/v1/missions (list) ✅ https://pilot.landvex.com/api/v1/missions/:id (get) ✅ POST /api/v1/missions/import (video upload) ✅ UI loads with title 'LandveX Intelligence Lab' Next: Pilot 001 — Break the system!
@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