- Semantic: What is the object? - Spatial: Exactly where? - Temporal: When observed and how changed? Rich geometry support from start: - SpatialContext: facade, floor, zone, height, lane, direction - Geometry: point, polygon, line with coordinates - CameraPose: position, heading, pitch, roll Precision in 4 steps: GPS -> triangulation -> 3D -> history Stronger Decision Cases with exact location Vision: Continuously updated georeferenced knowledge model Next: Pilot 001
@landvex/domain
LandveX Domain Model - Control Intelligence Platform
This package describes the LandveX domain model. It contains no dependencies to database, HTTP, cloud storage, or AI frameworks. It defines only the language, objects, and rules that the rest of the platform builds upon.
Three Rules
Rule 1: Domain knows nothing about AI
No AI-specific objects in domain:
- ❌
AIObservation - ❌
YOLODetection - ❌
GeminiResult - ❌
ClaudeAnalysis
Domain only knows:
- ✅
Observation - ✅
Evidence - ✅
Finding - ✅
Decision - ✅
Review - ✅
Outcome
If we switch from YOLO to a custom model in five years, the domain does not change.
Rule 2: Everything is an Artifact
Artifact is a common contract for everything produced:
Artifact
├── Image
├── Video
├── Dataset
├── Annotation
├── Model
├── Evaluation
├── DecisionCase
├── Report
└── ExperienceInsight
All artifacts share:
idversionhashlineagecreatedAtcreatedBystorageUri
Rule 3: All decisions are reproducible
Every Decision Case must answer:
- Which observations were used?
- Which evidence was used?
- Which model?
- Which model version?
- Which rules?
- Who reviewed?
- When?
- Which version was approved?
Package Structure
packages/domain/
├── common/
│ ├── value-objects/
│ ├── ids/
│ └── errors/
├── artifacts/
├── session/
├── mission/
├── observation/
├── evidence/
├── finding/
├── decision/
├── review/
├── action/
├── outcome/
├── events/
├── invariants/
├── index.ts
└── README.md
Aggregate Roots
FieldSession- Organizes field workMission- Single data collection taskDecisionCase- Complete decision chain
Entities
Artifact- Any produced artifact (versioned, immutable)Observation- Recorded fact from realityEvidence- Linked observations with contextFinding- Pattern or conclusionDecision- Recommended actionReview- Human quality assessmentAction- Executed taskOutcome- Measured result
Value Objects
GeoLocation- Latitude and longitudeConfidence- Model confidence 0-1Severity- Issue severity (low/medium/high/critical)Priority- Action priority (low/medium/high/urgent)Hash- SHA-256 checksumStorageUri- Storage locationVersion- Semantic versionBusinessImpact- Risk, cost, time, opportunity
Enums
ArtifactType- image, video, dataset, model, etc.ReviewStatus- assigned, in_review, approved, rejectedDecisionVerb- inspect, repair, monitor, wait, collect, escalate, ignore, prioritizeMissionStatus- created, uploading, processing, completed, failedSessionStatus- planned, active, completed
Domain Events
FieldSessionCreatedMissionCreatedArtifactRegisteredObservationCreatedEvidenceLinkedFindingCreatedDecisionCreatedDecisionReviewedDecisionApproved
Invariants
- FieldSession: Must have location and date
- Mission: Must belong to one Session, must have at least one Artifact
- DecisionCase: Must have at least one Observation, one Evidence, exactly one Decision. Cannot be Approved without Review.
Strict Rule
No new feature may introduce new domain concepts without an approved change to the domain model.
The concepts Session, Mission, Artifact, Observation, Evidence, Finding, Decision, Review, and Outcome become the shared language for the entire organization — code, documentation, APIs, tests, and product discussions use the same terms.