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/application
Application layer — orchestrates domain operations.
Architecture
UI → Application Layer (commands/handlers) → Domain → Repository Interfaces → Adapters
No business logic here. Only orchestration.
Commands
| Command | Purpose |
|---|---|
CreateFieldSessionCommand |
Start a new field session |
CreateMissionCommand |
Create a mission within a session |
RegisterArtifactCommand |
Register an artifact |
CreateObservationCommand |
Create an observation |
CreateDecisionCaseCommand |
Create a decision case |
ApproveDecisionCommand |
Approve a decision |
StartReviewCommand |
Start a review |
CompleteReviewCommand |
Complete a review |
Handlers
| Handler | Command | Result |
|---|---|---|
CreateFieldSessionHandler |
CreateFieldSessionCommand |
Result<{ session }> |
CreateMissionHandler |
CreateMissionCommand |
Result<{ mission }> |
CreateDecisionCaseHandler |
CreateDecisionCaseCommand |
Result<{ decisionCase }> |
ApproveDecisionHandler |
ApproveDecisionCommand |
Result<{ decisionCase }> |
Result Pattern
const result = await handler.execute(command);
if (result.success) {
// Use result.data
} else {
// Handle result.error
}
End-to-End Test
use-cases/end-to-end-flow.test.ts proves the full flow works in memory:
CreateFieldSession → CreateMission → CreateDecisionCase → ApproveDecision
Without PostgreSQL, Redis, S3, API, HTTP, or UI.
Dependencies
@landvex/domain— domain objects and factories@landvex/infrastructure— repository interfaces and in-memory adapters