Files
boc/packages/application
Bernt 05ed037fe8 pilot.landvex.com: HTTPS + Full Stack Verified
- 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!
2026-07-02 17:34:19 +00:00
..

@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