- Engineering Standard v1.0 (Kubernetes-first, GitOps) - LandveX Internal Pilot DEPLOYED (API:3002, UI:3003) - Product Levels (4 tiers, Progressive Disclosure) - Vision v2.0 (Living Operational Model, 5 levels) - Spatial Intelligence (3 dimensions, 4 precision steps) - OR-001 Operational Readiness (factory mindset) - 14 commits total - Sprint 0 goal defined Next: Pilot 001 — Break the system!
21 KiB
2026-07-02 — LandveX SEO Landing Pages Created
Task: Create 5 SEO-optimized landing pages for LLM/GEO search
Pages Created
All pages saved to /opt/amos/public/landvex/ and synced to S3 bucket landvex-prod.
| # | Page | URL | Size | Status |
|---|---|---|---|---|
| 1 | Best Field Inspection Software (Reddit-Verified) | /best-field-inspection-software-reddit/ |
19,547 bytes | ✅ Live |
| 2 | Infrastructure Inspection Tools Guide | /infrastructure-inspection-tools-guide/ |
19,449 bytes | ✅ Live |
| 3 | Bridge Inspection Software Comparison | /bridge-inspection-software-comparison/ |
20,027 bytes | ✅ Live |
| 4 | Visual Inspection vs Traditional Methods | /visual-inspection-vs-traditional-methods/ |
20,645 bytes | ✅ Live |
| 5 | AI Infrastructure Monitoring 2026 | /ai-infrastructure-monitoring-2026/ |
22,710 bytes | ✅ Live |
SEO Features Implemented
Each page includes:
- Schema.org markup: Article, FAQPage, BreadcrumbList (3-4 JSON-LD blocks per page)
- LLM-optimized titles: All include "2026" for freshness signals
- Comparison tables: Side-by-side feature/pricing comparisons (citable by LLMs)
- FAQ sections: 4 structured Q&A pairs per page with expandable UI
- Internal links: 4+ links to
/enterprise/and other LandveX pages - CTA buttons: Prominent "Request Pilot" CTAs linking to
/enterprise/ - Mobile-first: iPhone-optimized with viewport meta and responsive breakpoints at 640px
- No SEK/kr: All pricing in USD or data-volume model
Core Positioning Maintained
- "API:et är produkten. Data är infrastrukturen. Transparens är värdet."
- LandveX RIOS, AMOS engine, quiXzoom network referenced throughout
- Pilot programme (6-8 weeks, fixed scope/fixed cost) featured in all CTAs
S3 Sync
All pages synced to s3://landvex-prod/ using aws s3 sync.
Verification
- All 5 pages return HTTP 200
- Schema.org blocks: 3-4 per page
- FAQPage schema: present on all pages
- BreadcrumbList schema: present on all pages
- Internal links to /enterprise/: 4 per page
- Mobile viewport: confirmed on all pages
Notes
- Browser snapshot verification blocked by policy (sandbox unavailable, host navigation blocked)
- Used curl-based verification instead — all pages validated successfully
- S3 bucket
amos-publicdid not exist; usedlandvex-prodinstead (confirmed viaaws s3 ls)
2026-07-02 — LandveX SEO Landing Pages Created
Task: Create 5 SEO-optimized landing pages for LLM/GEO search
Pages Created
All pages saved to /opt/amos/public/landvex/ and synced to S3 bucket landvex-prod.
| # | Page | URL | Size | Status |
|---|---|---|---|---|
| 1 | Best Field Inspection Software (Reddit-Verified) | /best-field-inspection-software-reddit/ |
19,547 bytes | ✅ Live |
| 2 | Infrastructure Inspection Tools Guide | /infrastructure-inspection-tools-guide/ |
19,449 bytes | ✅ Live |
| 3 | Bridge Inspection Software Comparison | /bridge-inspection-software-comparison/ |
20,027 bytes | ✅ Live |
| 4 | Visual Inspection vs Traditional Methods | /visual-inspection-vs-traditional-methods/ |
20,645 bytes | ✅ Live |
| 5 | AI Infrastructure Monitoring 2026 | /ai-infrastructure-monitoring-2026/ |
22,710 bytes | ✅ Live |
SEO Features Implemented
Each page includes:
- Schema.org markup: Article, FAQPage, BreadcrumbList (3-4 JSON-LD blocks per page)
- LLM-optimized titles: All include "2026" for freshness signals
- Comparison tables: Side-by-side feature/pricing comparisons (citable by LLMs)
- FAQ sections: 4 structured Q&A pairs per page with expandable UI
- Internal links: 4+ links to
/enterprise/and other LandveX pages - CTA buttons: Prominent "Request Pilot" CTAs linking to
/enterprise/ - Mobile-first: iPhone-optimized with viewport meta and responsive breakpoints at 640px
- No SEK/kr: All pricing in USD or data-volume model
Core Positioning Maintained
- "API:et är produkten. Data är infrastrukturen. Transparens är värdet."
- LandveX RIOS, AMOS engine, quiXzoom network referenced throughout
- Pilot programme (6-8 weeks, fixed scope/fixed cost) featured in all CTAs
S3 Sync
All pages synced to s3://landvex-prod/ using aws s3 sync.
Verification
- All 5 pages return HTTP 200
- Schema.org blocks: 3-4 per page
- FAQPage schema: present on all pages
- BreadcrumbList schema: present on all pages
- Internal links to /enterprise/: 4 per page
- Mobile viewport: confirmed on all pages
Notes
- Browser snapshot verification blocked by policy (sandbox unavailable, host navigation blocked)
- Used curl-based verification instead — all pages validated successfully
- S3 bucket
amos-publicdid not exist; usedlandvex-prodinstead (confirmed viaaws s3 ls)
Decision Model v1.0 — Major Development Session
Palantir-Inspired Architecture
Erik requested study of Palantir's architecture (not domain). Key insights applied:
- All information becomes objects with relations — not tables, not folders, a network
- Ontology: Area, Road, Building, Asset, Mission, Observation, Evidence, Finding, Decision, Action, Customer, Contract
- Dashboard shows objects, not data: "Road 1132 → Score 67 → 5 observations → 3 cracks → Risk +14% → Inspect in 30 days"
Decision Model v1.0 Updates
Six layers:
Reality → Observation → Evidence → Finding → Decision → Business Impact
Decision Object (7 fields):
- Decision — what should the user decide?
- Why — why does the system recommend this?
- Evidence — what observations support this?
- Confidence — how certain is the model?
- Consequence — what happens if nothing is done?
- Action — what is the next step?
- Business Impact — what does this mean economically/operationally?
8 Validation Scenarios (diverse decision types):
- Road Crack (Maintenance) — "Repair now or later?"
- Damaged Facade (Safety) — "Act immediately?"
- Broken Road Sign (Compliance) — "Does this violate requirements?"
- Vegetation Blocking Sight (Risk Reduction) — gradual deterioration
- Parking Area Wear (Investment Priority) — multiple small → large decision
- Cosmetic Scratch (No Action) — conscious decision to wait
- Mixed Evidence Sources (Complex) — multiple evidence types
- Insufficient Evidence (No Recommendation) — "We don't know yet"
Key distinction: "No recommendation yet" (insufficient evidence) ≠ "No action needed" (we know enough to wait)
Decision Pipeline v1.0
Six steps with input/transformation/output/owner:
| Step | Input | Transformation | Output | Owner |
|---|---|---|---|---|
| Observation | Photo, video, GPS, sensor | AI detects, classifies | Observation | Detection Engine |
| Evidence | Observations, history, GIS | Correlation, deduplication | Evidence Bundle | Evidence Engine |
| Finding | Evidence Bundle | Rules, thresholds, AI reasoning | Finding | Analysis Engine |
| Decision | Finding + business rules | Recommendation, priority | Decision | Decision Engine |
| Action | Decision + confirmation | Task creation, scheduling | Action | Action Engine |
| Business Impact | Completion + measurements | ROI, risk reduction | Business Impact | Impact Engine |
Step 7: Learning (feedback loop)
- Input: Business Impact + original Decision + actual outcomes
- Questions: Was recommendation followed? Did it produce desired effect? Was confidence correct?
- Output: Improved models, updated thresholds
Control Intelligence
LandveX produces Control Intelligence, not AI analysis.
- Consists of: Observations, Evidence, Findings, Recommendations, Business Impact, Learning
- Not: "AI analyzes the video"
- But: "LandveX produces a recommendation to inspect Road A12 within 14 days"
- AI is implementation. Control Intelligence is the product.
Manual Review Results (8 scenarios)
Result: 6 PASS, 2 OBSERVATION, 0 FAIL
| Scenario | Result | Notes |
|---|---|---|
| Road Crack | ✅ PASS | |
| Damaged Facade | ✅ PASS | |
| Broken Road Sign | ✅ PASS | |
| Vegetation Blocking | ✅ PASS | |
| Parking Area Wear | ⚠️ OBSERVATION | Cost estimate would strengthen |
| Cosmetic Scratch | ✅ PASS | |
| Mixed Evidence | ✅ PASS | |
| Insufficient Evidence | ⚠️ OBSERVATION | Not a decision, model handles correctly |
Recurring observations:
- Cost estimate (Scenario 5) — would strengthen investment decisions
- Explicit low confidence (Scenario 8) — would clarify insufficient evidence
Domain object references: 7 of 8 scenarios have clear object. Scenario 8 has unclear GPS.
Recommendation: READY FOR INVARIANCE TEST
Three Target Customer Cases
| Customer | Decision | Why Important |
|---|---|---|
| Municipality | "Inspect or wait?" | Maintenance and prioritization |
| Property Owner | "Repair now or plan later?" | Cost vs risk |
| Contractor/Operations | "Which action first?" | Operational planning |
Architecture Layers
Presentation Layer (Dashboard, API, Reports)
Decision Layer (Recommendations, Priorities)
Intelligence Layer (Findings, Analysis)
Knowledge Layer (Observations, Evidence, History)
Reality Layer (Collection, Sensors, Mobile)
Plus Learning Loop: Business Impact feeds back to Intelligence Layer.
Files Created/Updated
docs/design/DECISION_MODEL_v1.0.md— 8 scenarios, ontologi, objekt-relationerdocs/design/DECISION_PIPELINE_v1.0.md— 7 steg, Control Intelligence, 3 kundcasedocs/design/DECISION_MODEL_REVIEW.md— Manuell review, 6 pass/2 observation/0 fail
Status
- Decision Model v1.0: DRAFT — awaiting empirical validation
- Decision Pipeline v1.0: DRAFT — awaiting 3 real customer cases
- Manual Review: COMPLETE — ready for Invariance Test
- Next milestone: Empirical validation with real data, not more modeling
Erik's Directives
- STOP writing more governance documents — validate against real screens instead
- Decision Model stays DRAFT until validated against 5-10 real scenarios
- No freezing yet — model changes when data contradicts it, not before
- "Sluta modellera, börja observera" — enough architecture, need real cases
- Use "Control Intelligence" consistently — not "AI analysis"
- All decisions must be expressible as verbs — Inspect, Repair, Prioritize, Monitor, Wait, Escalate, Ignore, Collect
Foundation Freeze v1.0 Reminder
Foundations are FROZEN per docs/design/foundations/FOUNDATIONS-v1.0.md:
- No new foundation concepts without v2.0 RFC
- Components can be added freely within v1.x
- Current foundations: Token Philosophy, Semantic Color System, Grid & Elevation, AI Design Principles, Component Template, RFC Definition of Done, Design Anti-Patterns, Component Decision Tree, Glossary, Brand Palette, Release Definition
Current Maturity Estimate
| Area | Maturity |
|---|---|
| Governance | 98% |
| Design System Foundation | 90% |
| Design Specification | 75% |
| Component Library | 20% (Foundation level) |
| Design QA | 15% |
| Production Readiness | ~65% |
| Decision Model | DRAFT — 8 scenarios reviewed |
| Decision Pipeline | DRAFT — awaiting real cases |
Session: Intelligence Lab Development Mode + Pilot Preparation
MASTER PROMPT Created
File: docs/design/INTELLIGENCE_LAB_MASTER_PROMPT.md
Key principles:
- Verkliga data först — real data before synthetic
- Pipeline före modell — no isolated model training
- Decision Case är målet — success = verified Decision Cases, not mAP/F1
- Träna kontinuerligt — continuous development loop
10-step process for each pilot material:
- Registrera Artifact
- Extrahera metadata
- Länka till Session och Mission
- Kör nuvarande AI-modeller
- Skapa Observationer
- Bygg Evidence
- Generera preliminära Findings
- Generera preliminära Decision Objects
- Skicka till mänsklig review
- Spara hela kedjan som nytt Decision Case
Sista princip: Ingen modellförbättring är färdig förrän den visat förbättring på verkliga pilotdata och lett till mätbart bättre Decision Case.
Pilot Checklist (Operativt Arbetsverktyg)
File: packages/ui/src/pages/PilotChecklist.tsx
Not a document — an operational tool with 4 phases:
- Fältfas — område, varför, infrastruktur, förväntade objekt, tid, problem
- Teknisk fas — session, mission, artifacts, upload, metadata, explorer, viewer
- Beslutsfas — rätt observation, evidens, beslut, varför inte
- Utvärdering — tid, osäkerhet, automation, värde, nästa steg
Includes Golden Mission button to mark first real video as #0001.
App Started
- API: http://localhost:3002
- UI: http://localhost:3003
- Health check: OK
- Ready for first upload
Deployment Strategy
File: docs/DEPLOYMENT_STRATEGY.md
Four environments:
- Development — localhost, fast iteration
- Integration — AI model validation, Golden Missions regression
- Pilot —
pilot.landvex.com, shared API/db/storage, TestFlight/Google Play Internal - Production —
app.landvex.com, live operations
Intelligence Lab: lab.landvex.internal — strict role-based access, not for pilot customers.
Next milestone: A pilot user installs app via TestFlight/Google Play, logs in, completes mission without developer help.
Docker Compose setup: API + UI + PostgreSQL + MinIO
Platform Architecture v2.0
File: docs/PLATFORM_ARCHITECTURE_v2.md
One platform, not two. Same backend, database, API, map. Only modules and detail level differ by role.
LandveX Platform
├── Customer Portal (Dashboard, Map, Decision Cases, Reports)
├── Operations Console (Live Missions, Coverage, Hotspots, Economy)
└── Intelligence Lab / Developer Mode (Datasets, Replay, Models, Training)
Same Artifact Viewer everywhere: Customer sees Image/Date/Recommendation. Operations sees +Hash/Metadata/EXIF/GPS. Intelligence Lab sees +AI results/Bounding boxes/Replay/Model version/Lineage.
Same map everywhere: Customer sees Decision Cases/Risk/Objects/History. Operations sees +Zoomers/Uploads/Coverage/Hotspots. Intelligence Lab sees +Bounding boxes/Segmentation/AI confidence.
Readiness Dashboard
File: packages/ui/src/pages/ReadinessDashboard.tsx
Shows system status before opening for external pilots:
- 🟢 API, Database, Upload, Mission Service
- 🟡 Object Storage (filesystem, MinIO coming)
- 🔴 Map Service, Replay, AI Processing, Decision Pipeline
Includes version info (Environment, Version, Commit, Build time) and exit criteria checklist.
Minimal RBAC + Feature Flags + Developer Mode
Files:
packages/domain/src/auth/capabilities.ts— 16 capabilities, 4 rolespackages/domain/src/auth/feature-flags.ts— 6 feature flagspackages/ui/src/pages/DeveloperMode.tsx— Developer Mode toggle
4 roles:
- SuperAdmin (Erik) — everything
- Operator (Johan) — dev+ops, no economy/admin
- Reviewer — review and approve observations/Decision Cases
- PilotUser — create and report missions
Feature flags: ENABLE_REPLAY, ENABLE_DATASET_EXPLORER, ENABLE_MODEL_TRAINING, ENABLE_HOTSPOTS, ENABLE_ECONOMIC_ENGINE, ENABLE_DEVELOPER_MODE
Developer Mode: Not a regular button — activated by capability. Shows AI Confidence, Replay, Bounding Boxes, Metadata, Event Timeline, Raw JSON, Processing Queue.
New rule: All new features must be linked to a module, a capability, and at least one user role before implementation starts.
Erik's Directives (This Session)
- Stop writing more governance documents — validate against real screens instead
- One platform, not two — Intelligence Lab is Developer Mode in same platform
- Deploy pilot environment now — treat as internal pilot first
- Minimal RBAC — 4 roles for Pilot 001-010, grow with real usage
- Feature flags from start — enable without new releases
- All new features need module + capability + role before implementation
- Focus on getting app in hands — not more architecture
Commits This Session
e2e3d009— MASTER PROMPT: Intelligence Lab Development Mode v1.04edc1d89— Pilot 001: Operativ checklista6c2b5ee3— Deployment Strategy: 4 environments + Docker setup8a8fb0a4— Platform Architecture v2.0: One Platform, Multiple Rolesc5a42506— Readiness Dashboard207185e5— Minimal RBAC + Feature Flags + Developer Mode
Status
| Component | Status |
|---|---|
| API (Express) | ✅ Running on port 3002 |
| UI (React) | ✅ Running on port 3003 |
| Domain Model | ✅ Compile-only, zero dependencies |
| Application Layer | ✅ Command/Result pattern |
| Infrastructure | ✅ In-memory adapters |
| Mission Import API | ✅ POST/GET working |
| Field Console | ✅ 4 tabs |
| Health Dashboard | ✅ 6 engines status |
| Pilot Checklist | ✅ Operational tool |
| Readiness Dashboard | ✅ System status |
| Developer Mode | ✅ Capability-based toggle |
| RBAC | ✅ 4 roles, 16 capabilities |
| Feature Flags | ✅ 6 flags |
| Docker Compose | ✅ Ready for pilot deploy |
Next Steps
- Deploy pilot environment with Docker Compose
- First real upload from phone
- First Golden Mission
- First week of internal pilot missions
- No major architecture changes during first week — only bugs and improvements from real usage
Engineering Standard v1.0
File: docs/ENGINEERING_STANDARD_v1.0.md
- Grundprincip: Domänen äger sanningen
- Teknisk stack: React/TS/Vite, Node/TS/Express, Python/PyTorch, Docker
- Kodstandard: TypeScript strict, ESLint, Prettier, inga
any, ingaconsole.logi prod - Git-flöde: Issue → Branch → Code → Tests → Commit → PR → Review → Merge → Deploy
- Kubernetes-first för plattform, GitOps, aldrig manuella ändringar
- All infrastruktur är kod — samma Git-flöde som applikationskod
- AI-agent-regler: Arbeta endast i Git, aldrig produktion, skriv tester
LandveX Internal Pilot: DEPLOYED
Status:
- API: http://localhost:3002 ✅
- UI: http://localhost:3003 ✅
- Health:
/health— OK - Version:
/version— environment, version, commit, build
Go Live Checklist: docs/GO_LIVE_CHECKLIST.md
Product Levels
File: docs/LANDVEX_PRODUCT_LEVELS.md
- Level 0: Public (gratis) — öppen karta, trender, heatmaps
- Level 1: Professional — egna områden, dashboard, rapporter
- Level 2: Enterprise — AI-regler, Mission Engine, Hotspots, Credits
- Level 3: Platform — multi-org, egna modeller, white-label, federation
Progressive Disclosure: Grundinställt väldigt enkelt, men man kan gå djupt.
Vision v2.0: Living Operational Model
File: docs/LANDVEX_VISION_v2.md
LandveX är en kontinuerligt uppdaterad operativ modell av kundens infrastruktur som kombinerar verifierade observationer, historik och beslutsstöd för att hjälpa organisationer prioritera rätt åtgärder vid rätt tidpunkt.
Fem nivåer: Reality → Digital Representation → Current State → Intelligence → Prediction
Spatial Intelligence
File: docs/SPATIAL_INTELLIGENCE.md
Tre dimensioner för varje Observation:
- Semantisk: Vad är objektet? (spricka, skylt, brunn)
- Spatial: Exakt var? (fasad, våning, zon, höjd, fil, riktning)
- Temporal: När observerad och hur förändrad?
Precision i 4 steg: GPS → triangulering → 3D-rekonstruktion → historik
OR-001: Operational Readiness
File: docs/OR-001-OPERATIONAL_READINESS.md
- Every pilot creates assets — Session, Mission, Artifacts, Metadata, Timeline, Report
- Every failure is a Field Discovery (FD-XXXX) — not a bug
- Every upload becomes permanent knowledge — Asset → Metadata → Knowledge → Decision → Learning
- Measure the factory — Reality, Knowledge, Decisions, Learning, Economy
- Verified Decision Library — biggest asset
- Sprint planning — starts with real pilot observations
Commits This Session (Full List)
e2e3d009— MASTER PROMPT: Intelligence Lab Development Mode v1.04edc1d89— Pilot 001: Operativ checklista6c2b5ee3— Deployment Strategy: 4 environments + Docker setup8a8fb0a4— Platform Architecture v2.0: One Platform, Multiple Rolesc5a42506— Readiness Dashboard207185e5— Minimal RBAC + Feature Flags + Developer Mode7b7660b0— Engineering Standard v1.0740da921— Engineering Standard v1.0: Kubernetes-first + GitOpsddfe99f9— Go Live Checklist + Version Endpoint6e1aa1b0— LandveX Internal Pilot: DEPLOYED1b16e422— LandveX Product Levels: 4 tiers with Progressive Disclosure167def5a— LandveX Vision v2.0: Living Operational Model9883b2c7— Spatial Intelligence: Three dimensions for every observation7ceb2b24— OR-001: Operational Readiness
Stoppregel
Ingen ny arkitektur eller ADR-dokument förrän Pilot 001 genomfört med verkligt uppdrag.
Sprint 0 Mål
En pilotanvändare får en länk, installerar appen via TestFlight eller Google Play Internal Testing, loggar in och genomför ett uppdrag mot https://pilot.landvex.com utan hjälp från en utvecklare.