Files
boc/docs/design
Bernt a08e897f96 docs: PR-001 Domain Model — Core language for LandveX Intelligence Lab
- Package: @landvex/domain
- Zero dependencies on Express, PostgreSQL, S3, or AI frameworks
- Four package structure: domain, contracts, shared, infrastructure
- Domain never depends on infrastructure

- Aggregate Roots: FieldSession, Mission, DecisionCase
- Entities: MissionAsset, Artifact, Observation, Evidence, Finding,
  Decision, Review, Action, Outcome
- Value Objects: MissionId, ArtifactId, SessionId, ObservationId,
  DecisionId, GeoLocation, GpsAccuracy, Confidence, Severity, Priority,
  Hash, StorageUri, Version

- Enums: ArtifactType, ReviewStatus, DecisionVerb, MissionStatus, SessionStatus
- Event Contracts: FieldSessionCreated, MissionCreated, MissionImported,
  ArtifactUploaded, ArtifactValidated, ObservationCreated, EvidenceCreated,
  FindingCreated, DecisionCreated, DecisionReviewed, DecisionApproved

- Domain Invariants:
  - FieldSession: must have location, date, can have zero missions
  - 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
  - Artifact: must have unique hash, storage URI, versioned

- TypeScript interfaces for all domain objects
- Branded ID types for type safety
- Strict rule: No new feature may introduce new domain concepts without
  approved change to domain model

- README: 'This package describes LandveX domain model. Contains no
  dependencies to database, HTTP, cloud storage, or AI frameworks.'

- Next: PR-002 Persistence Adapter (Repository Interface → PostgreSQL/S3/Event Store)

Rationale: Lock the language before writing infrastructure code.
Shared vocabulary for code, docs, APIs, tests, and product discussions.
2026-07-02 13:49:19 +00:00
..

Landvex Design System

Documentation Structure

docs/design/
├── README.md                    # This file
├── COMPLIANCE_MATRIX.md         # Component readiness tracking
├── LANDVEX_DESIGN_CONSTITUTION.md  # UX principles (Level 3)
├── LANDVEX_DESIGN_SPECIFICATION.md # Technical contract (Level 5)
├── foundations/                 # Frozen foundations
│   ├── FOUNDATIONS-v1.0.md      # Freeze contract
│   ├── TOKEN_PHILOSOPHY.md      # Token rules
│   ├── SEMANTIC_COLOR_SYSTEM.md # Color tokens
│   ├── GRID_ELEVATION.md        # Layout & depth
│   ├── AI_DESIGN_PRINCIPLES.md  # AI governance
│   ├── COMPONENT_TEMPLATE.md    # RFC template
│   ├── RFC_DEFINITION_OF_DONE.md # Quality gate
│   ├── DESIGN_ANTI_PATTERNS.md  # Forbidden patterns
│   ├── COMPONENT_DECISION_TREE.md # Selection guide
│   ├── GLOSSARY.md              # Common language
│   ├── BRAND_PALETTE.md         # Brand colors
│   └── RELEASE_DEFINITION.md    # Release gates
├── components/                  # Component RFCs
│   ├── RFC-002-Input.md
│   ├── RFC-003-Select.md
│   └── RFC-004-Card.md
└── platform/                    # Cross-cutting governance
    └── README.md

Status

Foundations v1.0 — FROZEN

Components build on foundations. Foundations do not change without v2.0 RFC.