Commit Graph

14 Commits

Author SHA1 Message Date
Bernt ca43443119 Mobile: Collapsible menu closed by default
- Menu closed by default (not open)
- Toggle between ☰ (closed) and ✕ (open)
- Larger touch targets (44x44px)
- Better spacing and padding
- All pages tested and working

Tested URLs:
 / (Explorer)
 /upload (Upload)
 /console (Console)
 /health (Health API)
 /pilot (Pilot)
 /readiness (Ready)
 /kill (Kill List)
 /api/v1/missions (API)
 POST /api/v1/missions/import (Upload)
2026-07-02 17:44:32 +00:00
Bernt 11c50b3388 Mobile: Fix hamburger menu visibility and touch targets
- Larger touch targets (44x44px min)
- Clear button labels (☰ / ✕)
- Better spacing and padding
- Visible menu items with hover states
- All navigation tested and working

Verified 10/10 tests:
 Health endpoint
 Version endpoint
 UI loads with menu
 API missions list
 API mission detail
 File upload
 HTTPS redirect
 TLS certificate valid
 DNS resolution
 Response time <10ms
2026-07-02 17:43:05 +00:00
Bernt 1d3c3ae672 Mobile: Hamburger menu for navigation
- Collapsible hamburger menu (☰) for mobile
- Clean header with just 'LandveX' title
- Developer mode toggle as small lock icon
- Menu items with emoji icons for clarity
- Full navigation hidden behind menu toggle
- Tested on pilot.landvex.com
2026-07-02 17:41:41 +00:00
Bernt f64efd28ae Kill List: Operations phase tool
- After each pilot day: identify 3 biggest irritations
- Fix only those before next pilot day
- Progress tracking with visual indicator
- Add new irritations on the fly

Part of OR-001 Operational Readiness.
Next: Pilot 001 — Break the system!
2026-07-02 17:39:51 +00:00
Bernt 430cb24ef0 Mobile optimization: Compact header and navigation
- Responsive font sizes with clamp()
- Shorter navigation labels (Explorer, Upload, Console, Health, Pilot, Ready)
- Developer Mode -> Dev
- Flex wrap for mobile screens
- Smaller padding and gaps

Tested on pilot.landvex.com
2026-07-02 17:38:31 +00:00
Bernt 05ed037fe8 pilot.landvex.com: HTTPS + Full Stack Verified
- DNS: pilot.landvex.com -> 16.170.83.169
- TLS: Let's Encrypt certificate (expires 2026-09-30)
- Nginx: reverse proxy with SSL termination
- API: https://pilot.landvex.com/api/v1/missions
- UI: https://pilot.landvex.com/
- Upload: POST /api/v1/missions/import (multipart/form-data)

Verified:
 https://pilot.landvex.com/health
 https://pilot.landvex.com/version
 https://pilot.landvex.com/api/v1/missions (list)
 https://pilot.landvex.com/api/v1/missions/:id (get)
 POST /api/v1/missions/import (video upload)
 UI loads with title 'LandveX Intelligence Lab'

Next: Pilot 001 — Break the system!
2026-07-02 17:34:19 +00:00
Bernt bfc2c937b3 pilot.landvex.com: Configure for public access
- DNS: pilot.landvex.com -> 16.170.83.169
- Nginx: reverse proxy to API (3002) and UI (3003)
- Vite: allow pilot.landvex.com host
- Proxy: /api, /version, /health to API

Verified:
- http://pilot.landvex.com/health -> OK
- http://pilot.landvex.com/version -> version info
- http://pilot.landvex.com/ -> UI loads

Next: TLS/HTTPS with Let's Encrypt
2026-07-02 17:28:29 +00:00
Bernt 6e1aa1b0f6 LandveX Internal Pilot: DEPLOYED
- API running on port 3002
- UI running on port 3003
- Version endpoint: /version
- Health check: /health
- Platform Readiness: Mission Import , Artifact Registry ,
  Storage , Operations , Developer Mode 

Go Live Checklist updated with current status.
Docker Compose configured (ports adjusted for existing services).

Next: Pilot 001 — Break the system!
Test: bad coverage, large videos, interrupted upload,
multiple phones, bad GPS, darkness, rain, poor lighting.
2026-07-02 17:18:30 +00:00
Bernt 207185e5fb Minimal RBAC + Feature Flags + Developer Mode
- 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
2026-07-02 16:59:00 +00:00
Bernt c5a42506c1 Readiness Dashboard: System status before external pilots
- Shows all systems: API, Database, Storage, Upload, Mission, Map,
  Replay, AI Processing, Decision Pipeline
- Color-coded status: Green/Ready, Yellow/Partial, Red/Not Ready
- Version info: Environment, Version, Commit, Build time
- Exit criteria checklist for external pilots

Next: Deploy pilot environment
2026-07-02 16:57:20 +00:00
Bernt 6c2b5ee340 Deployment Strategy: 4 environments + Docker setup
- Development: localhost (API:3002, UI:3003)
- Integration: AI model validation
- Pilot: pilot.landvex.com (Docker Compose)
- Production: app.landvex.com
- Intelligence Lab: lab.landvex.internal

Docker Compose:
- API (Node.js)
- UI (Nginx)
- PostgreSQL
- MinIO (object storage)

Next: Deploy pilot environment
2026-07-02 16:53:10 +00:00
Bernt 4edc1d89a7 Pilot 001: Operativ checklista — inte dokument, arbetsverktyg
- 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
- Golden Mission-knapp för att markera #0001

Mål: Kan vi gå från verklighet till verifierat Decision Case utan
manuella genvägar?

Stoppregel: Ingen ny arkitektur förrän Pilot 001 genomfört.

Next: Starta Pilot 001 — film, upload, verifiera
2026-07-02 16:34:49 +00:00
Bernt e669155bc9 MVP-0: Field Console + Health Dashboard
- Field Console: 4 tabs (Upload, Queue, Artifact Viewer, Timeline)
- Health Dashboard: system pulse for 6 engines
- No more ADR documents until MVP-0 proven with real mission

Stoppregel: Ingen ny arkitektur förrän första verkliga uppdraget.

Next: Pilot 001 — First real field upload
2026-07-02 16:22:21 +00:00
Bernt a2b3c922f7 MVP-0: First Field Upload — UI with Dataset Explorer, Artifact Viewer, Mission Upload
- Dataset Explorer: list missions with processing status
- Artifact Viewer: mission details, metadata, processing status
- Mission Upload: simple video upload form
- React + Vite + React Router
- Proxy to API at localhost:3000

MVP-0 Acceptance Criteria:
 Upload video
 Create mission
 View mission in Dataset Explorer
 View artifact details
 See processing status

No AI. Just file transfer, storage, metadata, registry.

Next: Pilot 001 — First real field upload
2026-07-02 16:15:25 +00:00