Files
boc/docs/design/DECISION_MODEL_v1.0.md
T
Bernt 656f3bf1c2 docs: Decision Model v1.0 — LOCKED for Field Trials
- Decision Object Contract v1.0 frozen:
  - 7 fields: Decision, Why, Evidence, Confidence, Consequence, Action, Business Impact
  - Changes require v1.1 + migration note + revalidation
  - Implementation/presentation not frozen

- Status: LOCKED — Validated for Field Trials
  - Not 'Final' — signals internal validation complete, real-world proof pending

- Three pending tests defined:
  1. Decision Invariance Test (same structure across all scenarios)
  2. Evidence Variation Test (same object regardless of evidence type)
  3. Explainability Invariance Test (Decision → Finding → Evidence → Observation → Reality)

- Freeze date: 2026-07-02
- Next: Run tests, then move to 3 real customer cases

Rationale: Freeze contract before testing so tests validate a locked model,
not a moving target. 'Field Trial Ready' signals proven internally but
awaiting real-world validation.
2026-07-02 12:16:04 +00:00

17 KiB
Raw Blame History

DECISION MODEL v1.0

The Core Product of Landvex

Version 1.0
Status LOCKED — Validated for Field Trials
Scope All Landvex decisions, dashboards, reports, APIs
Freeze Date 2026-07-02
Change Policy Changes require v1.1 + migration note + revalidation

The Six Layers

Layer 1: Reality
    (sensors, mobile, video, GIS, drones)
    ↓
Layer 2: Observation
    ("crack detected", "road surface degraded")
    ↓
Layer 3: Evidence
    (linked observations with context)
    ↓
Layer 4: Finding
    ("area has deteriorated since last inspection")
    ↓
Layer 5: Decision
    ("prioritize inspection within 14 days")
    ↓
Layer 6: Business Impact
    ("risk reduced", "cost avoided", "revenue created")

Landvex Ontology

All information is objects with relationships.

Core Objects

Object Description Example
Area Geographic region "Nacka Municipality"
Road Road segment "Road 1132"
Building Structure "Building A7"
Asset Infrastructure element "Bridge C", "Drain B"
Mission Data collection task "Inspect Road 1132"
Observation Recorded fact "Crack detected"
Evidence Linked observations "3 cracks in Sector 7"
Finding Pattern or conclusion "Road degraded 15%"
Decision Recommended action "Inspect within 14 days"
Action Executed task "Inspection completed"
Customer Organization "Nacka Municipality"
Contract Agreement "Maintenance Contract 2026"

Core Relationships

Observation belongs_to Road
Road belongs_to Area
Area has_owner Customer
Decision created_from Finding
Finding supported_by Evidence
Evidence contains Observation
Mission produces Observation
Customer has Contract
Contract covers Area

Example Object Network

Road 1132
├── Score: 67
├── belongs_to: Nacka Municipality
├── has_observations: [obs_1, obs_2, obs_3]
├── has_findings: [finding_1]
├── has_decisions: [decision_1]
└── history:
    ├── 2024: Score 72
    ├── 2025: Score 70
    └── 2026: Score 67

Dashboard shows objects, not data.

Not: "Cracks: 142" But: "Road 1132 → Score 67 → 5 new observations → 3 confirmed cracks → Risk increased 14% → Recommendation: Inspect within 30 days"


Layer 1: Reality

Input sources:

  • Mobile phones (quiXzoom)
  • Drones
  • Fixed cameras
  • Sensors
  • GIS data
  • Satellite imagery

Principle: Reality is the only source of truth.


Layer 2: Observation

Definition: A single recorded fact from reality.

Example:

Observation:
- Type: "crack"
- Location: [lat, lng]
- Timestamp: 2026-07-02T10:00:00Z
- Source: quiXzoom mobile
- Media: [photo_url, video_url]
- Observation Confidence: 0.94

Layer 3: Evidence

Definition: Linked observations with context, forming a body of proof.

Example:

Evidence:
- Description: "Multiple cracks observed in Sector 7"
- Observations: [observation_1, observation_2, observation_3]
- Evidence Strength: 0.91
- Consistency: "All observations confirm degradation"
- Time Span: "2026-06-15 to 2026-07-02"

Layer 4: Finding

Definition: A pattern or conclusion derived from evidence.

Example:

Finding:
- Description: "Road surface has degraded 15% since last inspection"
- Area: "Nacka Municipality, Sector 7"
- Evidence: [evidence_1, evidence_2]
- Finding Confidence: 0.87
- Trend: "deteriorating"

Layer 5: Decision

Definition: An evidence-backed recommended action.

Decision Object

Every decision must contain:

# Field Description Example
1 Decision What should the user decide? "Prioritize inspection"
2 Why Why does the system recommend this? "Road surface degraded 15%"
3 Evidence What observations support this? [evidence_1, evidence_2]
4 Confidence How certain is the model? See Confidence Model below
5 Consequence What happens if nothing is done? "Risk of accident increases"
6 Action What is the next step? "Schedule inspection"
7 Business Impact What does this mean economically/operationally? See Business Impact Model below

Confidence Model

Dimension Description Example
Observation Confidence How certain is the detection? "94% — clear visual evidence"
Evidence Strength How strongly does evidence support the conclusion? "91% — three consistent observations"
Recommendation Confidence How certain is the recommendation? "87% — historical data supports this action"

Explainability

Every Decision Card must be explorable:

Decision
    ↓ (click)
Finding
    ↓ (click)
Evidence
    ↓ (click)
Observations
    ↓ (click)
Reality

The user must be able to click all the way back to source material.


Layer 6: Business Impact

Definition: The measurable effect of the decision on the business.

Type Metric Example
Risk Probability × Severity "High — accident risk 12% → 3%"
Cost Currency "$50,000 in emergency repairs avoided"
Time Duration "Action required within 14 days"
Opportunity Business value "Plan maintenance with nearby works"

Decision Card

Visual representation:

┌─────────────────────────────────────┐
│ Area Score: 87                      │
│ ▼                                   │
│                                     │
│ 3 Important Decisions               │
│ ┌─────────────────────────────────┐ │
│ │ ⚠️ Road surface degraded        │ │
│ │    Confidence: 87%              │ │
│ │    Priority: High               │ │
│ │    Recommend: Inspect in 14d    │ │
│ │    If ignored: Safety risk ↑    │ │
│ │    Next step: Schedule now      │ │
│ │    Evidence: 12 observations    │ │
│ └─────────────────────────────────┘ │
│                                     │
│ Map                                 │
│                                     │
│ Evidence                            │
│                                     │
│ History                             │
└─────────────────────────────────────┘

Verification

For every decision:

  • Decision — what should the user decide?
  • Why — why does the system recommend this?
  • Evidence — what observations support this?
  • Confidence — how certain is the model? (observation, evidence, recommendation)
  • Consequence — what happens if nothing is done?
  • Action — what is the next step?
  • Business Impact — what does this mean economically/operationally?
  • Explainability — can the user click back to source material?

Validation Scenarios

Before freezing Decision Model v1.0, validate against diverse scenarios:

Scenario 1: Road Crack (Maintenance)

Layer Example
Reality Mobile photo of road crack
Observation "Crack detected, 15cm width"
Evidence 3 observations of cracks in same area
Finding "Road surface degraded 15% since last inspection"
Decision "Prioritize inspection within 14 days"
Business Impact Risk: High, Cost: $50k avoided, Time: 14 days, Opportunity: Plan with nearby works

Decision type: Maintenance — "Repair now or later?"

Scenario 2: Damaged Facade (Safety)

Layer Example
Reality Drone video of building facade
Observation "Facade panel loose, 30cm displacement"
Evidence 2 observations + weather data
Finding "Facade integrity compromised, risk of falling debris"
Decision "Immediate safety inspection required"
Business Impact Risk: Critical, Cost: $200k liability, Time: 24 hours, Opportunity: Prevent injury

Decision type: Safety — "Act immediately?"

Scenario 3: Broken Road Sign (Compliance)

Layer Example
Reality Mobile photo of damaged sign
Observation "Stop sign damaged, 50% visibility"
Evidence 1 observation + traffic data
Finding "Traffic control compromised at intersection"
Decision "Replace sign within 48 hours"
Business Impact Risk: Medium, Cost: $5k fine avoided, Time: 48 hours, Opportunity: Standard replacement

Decision type: Compliance — "Does this violate requirements?"

Scenario 4: Vegetation Blocking Sight (Risk Reduction)

Layer Example
Reality Mobile photo of overgrown vegetation
Observation "Vegetation 80cm high, blocking sight line"
Evidence 2 observations over 3 months + growth trend
Finding "Gradual degradation of sight lines at intersection"
Decision "Schedule vegetation removal within 30 days"
Business Impact Risk: Medium, Cost: $15k avoided, Time: 30 days, Opportunity: Coordinate with seasonal maintenance

Decision type: Risk reduction — "Gradual deterioration requiring planned action"

Scenario 5: Parking Area Wear (Investment Priority)

Layer Example
Reality Multiple mobile photos of parking area
Observation "Surface wear, potholes, faded markings"
Evidence 5 observations + usage data + weather exposure
Finding "Multiple minor issues collectively indicate need for resurfacing"
Decision "Include in next year's maintenance budget"
Business Impact Risk: Low, Cost: $100k investment, Time: 6 months, Opportunity: Improve user satisfaction

Decision type: Investment priority — "Multiple small observations motivating larger decision"

Scenario 6: Cosmetic Scratch (No Action)

Layer Example
Reality Mobile photo of road sign
Observation "Minor cosmetic scratches, 5% of surface"
Evidence 1 observation, no functional impact
Finding "Normal wear and tear, no safety or compliance impact"
Decision "No action recommended. Continue monitoring."
Business Impact Risk: None, Cost: $0, Time: Annual review, Opportunity: None

Decision type: No action — "Conscious decision to wait"

Scenario 7: Mixed Evidence Sources

Layer Example
Reality Mobile photo + sensor data + weather API
Observation "Water pooling, 3cm depth, after rainfall"
Evidence Photo + rain sensor + historical flooding data + GIS topography
Finding "Drainage inadequate, recurring flooding risk"
Decision "Inspect drainage system, prioritize if flooding recurs"
Business Impact Risk: Medium, Cost: $30k avoided, Time: 14 days, Opportunity: Permanent fix during dry season

Decision type: Complex — "Multiple evidence sources converging"

Scenario 8: Insufficient Evidence (No Recommendation)

Layer Example
Reality Blurry mobile photo, low GPS precision
Observation "Possible crack, unclear image"
Evidence 1 low-quality observation, conflicting AI models, old data
Finding "Inconclusive — cannot determine severity"
Decision "No recommendation yet. Collect more data."
Business Impact Risk: Unknown, Cost: $0, Time: Re-inspect, Opportunity: None

Decision type: Insufficient evidence — "We don't know yet"

Note: This is different from "No action needed". "No action" means we know enough to wait. "Insufficient evidence" means we don't know enough to recommend anything.


Decision Invariance Test

For each scenario, verify:

Question Pass Criteria
Same Decision Object structure? All 7 fields present
Any field added? No new fields needed
Any field always empty? No field unused across scenarios
Any field meaning different things? Each field has consistent meaning

Fail criteria: If any question answers "no", the model needs revision.

Result: Pending (run against locked model)


Evidence Variation Test

Evidence Type Scenario Pass
Single image Scenario 3
Multiple images Scenario 1
Video + GPS Scenario 2
Historical observations Scenario 4
External data (weather, traffic) Scenario 7
Mixed sources Scenario 7

Pass criteria: Decision Object structure unchanged regardless of evidence type.

Result: Pending (run against locked model)


Explainability Invariance Test

For each scenario, verify:

Question Pass Criteria
Can every Decision be traced back to Reality? Decision → Finding → Evidence → Observation → Reality
Is the chain unbroken? No gaps in explainability
Is the chain clickable? User can drill down to source material

Fail criteria: If any scenario breaks the chain, Explainability is not invariant.

Result: Pending (run against locked model)


Decision Quality Gate

Before displaying any decision to the user:

  • At least one verifiable evidence chain exists
  • Confidence is motivated (not arbitrary)
  • Recommended action exists OR conscious "no action" decision
  • Explainability chain works (can click back to observations)

Decision Verb Rule

Every decision must be expressible as a verb.

Verb Meaning Example
Inspect Verify condition "Inspect Road A12"
Repair Fix immediately "Repair Drain B"
Prioritize Schedule soon "Prioritize resurfacing"
Monitor Watch and wait "Monitor Bridge C"
Wait Conscious inaction "No action needed, continue monitoring"
Escalate Higher authority needed "Escalate to safety team"
Ignore No action, no monitoring "False positive, ignore"
Collect Need more data "Collect more evidence"

If a Decision Object cannot be summarized with a clear action verb, it is still analysis, not a decision.

Manual Review Checklist

Before running Invariance Test, manually review each scenario:

Question Check
Is this really a decision, not just an observation?
Does the decision-maker need more information?
Is any Decision Object field unused?
Is any field missing across scenarios?
Can the decision be expressed as a verb?

Pass Criteria

Decision Model v1.0 is validated when:

  1. All 8 scenarios produce valid Decision Objects
  2. Manual review passes for all scenarios
  3. Decision Invariance Test passes
  4. Evidence Variation Test passes
  5. Explainability Invariance Test passes
  6. Decision Quality Gate passes for all scenarios
  7. "No action" and "Insufficient evidence" scenarios both work correctly
  8. All decisions can be expressed as verbs

Status: LOCKED — Validated for Field Trials


Decision Object Contract v1.0 (LOCKED)

Field names, semantics, and relations are frozen.

Field Semantics Required
Decision What should the user decide? Yes
Why Why does the system recommend this? Yes
Evidence What observations support this? Yes
Confidence How certain is the model? Yes
Consequence What happens if nothing is done? Yes
Action What is the next step? Yes
Business Impact What does this mean economically/operationally? Yes

Changes require:

  • New version (v1.1)
  • Migration note
  • Revalidation

Not frozen: Implementation, presentation, confidence calculation method


Relationship to Dashboard

Dashboard is not: 120 widgets Dashboard is: Object visualization with decisions

──────────────────────────
AREA SCORE
83
↑ +4
──────────────────────────
TOP DECISIONS
Inspect Road A12     [High]
Repair Drain B       [Medium]
Monitor Bridge C     [Low]
──────────────────────────
MAP
● ● ▲ ■
──────────────────────────
RECENT OBSERVATIONS
──────────────────────────
BUSINESS IMPACT
Risk      ↓
Cost      ↓
Time Saved ↑
──────────────────────────

Principle: The user always feels the system helps them make decisions, not consume statistics.


ändringshistoria

Version Datum Beskrivning
1.0 2026-07-02 Initial decision model with six layers, evidence-backed decisions, explainability, confidence model, validation scenarios, ontology

STATUS

LOCKED — Validated for Field Trials

  • 8 scenarios prepared
  • Manual review complete (6 PASS, 2 OBSERVATION, 0 FAIL)
  • Decision Invariance Test defined
  • Evidence Variation Test defined
  • Explainability Invariance Test defined
  • Decision Quality Gate defined
  • Ontology defined
  • Decision Object Contract v1.0 frozen

Next: Run tests, then move to real customer cases