## 2026-06-29 (natt) — AI-arkitektur: Cloud Vision + Eget Dataset + Ensemble **Beslut:** Kombinationsstrategi enligt Eriks rekommendation. ### Google Cloud Setup **Nytt projekt:** `quixzoom-ai-bootstrap` - Dedikerat, inget tidigare projekt - Endast Vision API - Separat service account - Begränsade nycklar - Budgetvarningar från dag 1 **Säkerhet:** - IP-begränsningar - Service account med minimala rättigheter - Logga alla anrop ### Benchmark-strategi **Dataset:** Bangkok, Torrevieja, Stockholm **Mätvärden:** | Mätvärde | Beskrivning | |----------|-------------| | Precision | Korrekta detektioner / Totala detektioner | | Recall | Hittade objekt / Totala objekt | | Kostnad/bild | USD per bild | | Latens | ms per bild | **Modeller att testa:** 1. Cloud Vision 2. YOLOv8 3. Grounding DINO (när fixad) 4. Egen modell (senare) ### AI Result Logger **Sparar ALLA resultat:** - Originalbild - Modell + version - Prompt (om relevant) - Detektioner + bounding boxes - Konfidens - Manuell korrigering - Gold label **Syfte:** - Återträning utan om-annotering - Analys av träffsäkerhet - Kostnadsuppföljning - A/B-testning ### Filer skapade | Fil | Syfte | |-----|-------| | `ai-pipeline/GOOGLE-CLOUD-SETUP.md` | Instruktioner för GC-projekt | | `ai-pipeline/ai-benchmark-suite.js` | Benchmark-verktyg | | `ai-pipeline/ai-result-logger.js` | Logga alla AI-resultat | | `ai-pipeline/AI-ARCHITECTURE.md` | Övergripande arkitektur | ### Nästa steg 1. Skapa Google Cloud-projekt 2. Skaffa API-nyckel 3. Kör benchmark på Bangkok 4. Bygg gold dataset 5. Starta Gold Route insamling ## 2026-06-29 (natt) — Sajter uppdaterade med AI-info ### Uppdaterade sajter | Sida | URL | Status | |------|-----|--------| | LandveX huvudsida | https://landvex.com/ | ✅ Uppdaterad | | LandveX AI | https://landvex.com/landvex-ai.html | ✅ Ny | | QUIXZOOM AI | https://landvex.com/quixzoom-ai.html | ✅ Ny | | Pilot docs | https://landvex.com/pilot/ | ✅ Uppdaterad | ### Innehåll på sajterna - Tre-fas AI-strategi (Cloud Vision → Eget dataset → Egen modell) - Infrastructure Vocabulary (50 objekt, 7 kategorier) - Benchmark-jämförelse (4 modeller) - Gold Routes (Bangkok, Torrevieja, Stockholm) - Status för alla komponenter - Länkar till all dokumentation ### Filer skapade/uppdaterade | Fil | Syfte | |-----|-------| | `index.html` | Huvudsida med AI-info | | `landvex-ai.html` | LandveX AI-sida | | `quixzoom-ai.html` | QUIXZOOM AI-sida | ### Nästa steg 1. Erik skapar Google Cloud-projekt + API-nyckel 2. Ladda upp nyckel till server 3. Kör benchmark på Bangkok-bilder 4. Uppdatera sajter med benchmark-resultat ## 2026-06-29 (morgon) — aamos-ledger Rust + LandveX AB UI ### Status: LandveX AB fullt importerat i aamos-ledger **Konton:** 23 st (alla BAS-konton från SIE4-filen) - Tillgångar: 1221, 1227, 1930 - Eget kapital: 2090 - Skulder: 2510, 2611, 2990 - Intäkter: 3000, 3010, 3020, 3900 - Kostnader: 5420, 5460, 5612, 5614, 5810, 5820, 5900, 6071, 6540, 6550, 7630, 8910 **Verifikat:** 23 st (inklusive IB20260101) - Ingående balans per 2026-01-01 - 22 verifikat från 2026-02-04 till 2026-04-30 **Trial balance:** Balanserad (D=K) ### Nytt iOS-native UI skapat **URL:** https://bernt.wavult.com/finans/ **Funktioner:** - Summary cards (Intäkter, Resultat, Kassa, Skulder) - Kontolista med ikoner per typ - Senaste verifikat - Detaljvy för verifikat (med rader) - Detaljvy för konton (alla verifikat för kontot) - JWT-autentisering **Tekniskt:** - Pratar med aamos-ledger på port 3250 - CORS-proxy via nginx - HTTPS via Cloudflare ### API-endpoints i Rust-ledger | Endpoint | Beskrivning | |----------|-------------| | GET /health | Health check | | POST /login | JWT-login | | GET /api/v1/accounts | Lista konton | | GET /api/v1/accounts/:id | Hämta konto | | GET /api/v1/journal-entries | Lista verifikat | | POST /api/v1/journal-entries | Skapa verifikat | | GET /api/v1/journal-entries/:id | Hämta verifikat | | GET /api/v1/trial-balance | Trial balance | ### Nästa steg (Eriks val) 1. Starkare autentisering (inte admin/password) 2. Fler vyer (balansräkning, resultaträkning) 3. SIE4-export 4. Nya verifikat (formulär) 5. Egen subdomän (finans.landvex.com) ### Viktigt att komma ihåg - Rust-ledger kör på port 3250 - Databas: aamos_ledger_rust - UI-fil: /opt/amos/public/landvex/ledger-ui/index.html - Nginx-config: /etc/nginx/conf.d/landvex.conf - Inloggning: admin / password (MÅSTE bytas!) ## 2026-06-29 (eftermiddag) — KYC Apple Native UX + Security Deploy ### AVS Master Prompt Review **Genomförd:** Fullständig KYC/Identity Verification Review **Modeller:** kimi-k2.6 (primär), claude-sonnet-4-6 (ej tillgänglig) **Omfattning:** 7 deliverables ### Deliverables färdiga | # | Deliverable | Status | |---|-------------|--------| | 1 | Current System Documentation | ✅ | | 2 | Current UX Review | ✅ | | 3 | Current Technical Review | ✅ | | 4 | Gap Analysis | ✅ | | 5 | Prioritized Roadmap | ✅ | | 6 | Apple Native Redesign Proposal | ✅ | | 7 | Implementation Plan | ✅ | ### Implementerade förbättringar **Quick Wins:** - Haptic feedback (expo-haptics) - Human-friendly error-meddelanden - Safe-area för iPhone - Touch targets (min 44px) **UX Improvements:** - Spring animations (Framer Motion) - iOS systemfärger - Oval face guidance (Apple Face ID-style) - 3-2-1 countdown före capture **Technical Improvements:** - Presigned S3 URLs för direkt upload - Quality scoring (blur/brightness/contrast) - Edge face detection (TensorFlow.js) - Audit logger (GDPR-kompatibel) **Security Fixes:** - CSRF-token skydd - Cookie-baserad JWT (httpOnly, secure, SameSite) - AuthCookie utility (ersätter localStorage) ### Redteam Audit | Risk | Antal | Status | |------|-------|--------| | Kritisk | 2 | Fixade | | Hög | 4 | Dokumenterade | | Medel | 3 | Dokumenterade | | Låg | 2 | Dokumenterade | **Tester:** - SQL Injection: Blockerad ✅ - XSS: Blockerad ✅ - CSRF: 403 Forbidden ✅ - Rate limiting: Kräver implementering ⚠️ ### Deploy Status **Branch:** `feature/kyc-apple-native-ux-2026-06-29` → `master` **Tag:** `v1.1.0-kyc-apple-native` **Commits:** 11 st **Produktion:** - S3: `s3://quixzoom-app-prod/` - CloudFront: Invalidated - Web: `https://app.quixzoom.com` **quiXzoom App:** - `src/config.ts`: KYC v1.1.0 config - `src/haptics.ts`: expo-haptics support - `App.tsx`: Native bridge, camera access ### Monitoring - CloudWatch Dashboard: `quixzoom-kyc-metrics` - Alert: `kyc-completion-rate-low` (<70%) - Metrics tracking: completion rate, step duration, errors, device/OS ### Filer skapade | Fil | Syfte | |-----|-------| | `docs/kyc-audit-2026-06-29/ux-review.md` | Fullständig UX-analys (305 rader) | | `docs/kyc-audit-2026-06-29/implementation-plan.md` | Trackbar roadmap | | `docs/kyc-audit-2026-06-29/redteam-audit.md` | Säkerhetsgranskning (144 rader) | | `RELEASE-v1.1.0.md` | Release notes | | `docs/nfc-roadmap.md` | NFC ePassport plan | | `src/lib/haptics.ts` | Haptics utility | | `src/lib/auth-cookie.ts` | Cookie-baserad auth | | `src/lib/csrf.ts` | CSRF-skydd | | `src/lib/s3-upload.ts` | Presigned S3 URLs | | `src/lib/quality-scorer.ts` | Bildkvalitetsbedömning | | `src/lib/edge-face-detection.ts` | Lokal AI | | `src/lib/audit-logger.ts` | GDPR-kompatibel loggning | | `src/lib/kyc-analytics.ts` | Metrics tracking | ### Nästa steg 1. Bygga och distribuera quiXzoom app (Android/iOS) 2. A/B-testa gammal vs ny KYC 3. Övervaka metrics (completion rate, tid) 4. Fortsätta med Architecture (NFC ePassport, edge AI) 5. Implementera rate limiting ### Reality Contradiction Score (RCS) **Idé från Erik:** AI identifierar motsägelser, inte bara objekt. **Exempel:** - Lyxhotell + öppna avloppsdiken - Skyskrapor + provisoriska skoltransporter - Smart City-sensorer + synliga elprovisorier **Landvex-analyslager:** - Reality Gap Index (RGI) — skillnad mellan plan och verklighet - Reality Contradiction Score (RCS) — grad av kontrast - Implementation Gap Score (IGS) — hur väl system fungerar - Urban Adaptation Score (UAS) — informella lösningar **Sparat i MEMORY.md som Landvex-indikator.** ### Viktigt att komma ihåg - KYC v1.1.0 är i produktion - Alla säkerhetsfixar är deployade - Appen är uppdaterad med native features - CloudFront cache är invalidad - Monitoring är aktiv - Rate limiting kräver fortfarande implementering ## 2026-06-29 (kväll) — quiXzoom App Crash (White Screen) **Problem:** Appen kraschar till vitskärm direkt vid öppning. **Orsak:** `App.tsx` hade problem med `INJECTED_JS` som injicerade `CONFIG.JWT_TOKEN` direkt i JavaScript utan null-checks. När token var tom sträng kraschade WebView. **Fix deployad via AWS SSM:** - Null-safe fallbacks (`CONFIG.JWT_TOKEN || ''`, `CONFIG.DEVICE_ID || 'unknown'`) - Förenklad injected JS (tog bort problematisk `fetch` override) - Error state handling i React component - Tog bort oanvända imports (`BackHandler`, `ScrollView`) **Status:** Fix deployad, väntar på verifiering från Erik. **Om fortfarande vitskärm:** 1. Stäng appen helt och öppna igen 2. Logga ut och in igen (JWT-token) 3. Vänta 2-5 minuter på CloudFront cache 4. Om fortfarande problem: kolla `logcat` för felmeddelanden **Viktigt:** Appen laddar `https://app.quixzoom.com` via WebView, inte `index.html` landing page.