- 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
- 4 roles: SuperAdmin, Operator, Reviewer, PilotUser
- Capabilities (not pages): mission.create, artifact.view, decision.approve, etc.
- Feature flags: ENABLE_REPLAY, ENABLE_MODEL_TRAINING, etc.
- Developer Mode toggle in UI (activated by permission)
- New rule: All features must link to module, capability, and role
Next: Deploy pilot environment
- LANDVEX_PLATFORM_ARCHITECTURE.md: Five Engines (Reality, Knowledge,
Decision, Mission, Economic)
- Credit: first-class economic object with types (mission, validation,
training, priority, emergency)
- IntelligenceLedger: tracks value creation separate from financial accounting
- KnowledgeGap: missing information that drives missions
- Hotspot: composite score for mission generation
- Contradiction: conflicting information as opportunity
Key principle: Every component answers 'What value is created here?
Who pays for it?'
Next: PR-005A — Minimal Mission Import UI for MVP-0
- LANDVEX_PLATFORM_ARCHITECTURE.md: Five Engines (Reality, Knowledge,
Decision, Mission, Economic)
- Credit: first-class economic object with types (mission, validation,
training, priority, emergency)
- IntelligenceLedger: tracks value creation separate from financial accounting
- KnowledgeGap: missing information that drives missions
- Hotspot: composite score for mission generation
- Contradiction: conflicting information as opportunity
Key principle: Every component answers 'What value is created here?
Who pays for it?'
Next: PR-005A — Minimal Mission Import UI for MVP-0
- 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
- @landvex/domain package with TypeScript strict mode
- 3 Aggregate Roots: FieldSession, Mission, DecisionCase
- Branded IDs, Value Objects, Domain Events, Invariants
- 19 unit tests for IDs, FieldSession, DecisionCase
- Zero runtime dependencies (only TypeScript + jest for tests)
- Separates Entity / Value Object / Aggregate Root
- README documents Three Rules of the domain
Definition of Done met:
- Compiles without errors
- Exports all domain types
- Unit tests for invariants and value objects
- No PostgreSQL, S3, Express, AI models, queues