landvex: Fixar och tester klara för alla komponenter
- Datafabrik: Dockerfile fix, agentorkestrering fungerar - Vision: Identify-modell, FAISS, OCR alla testade - API: Alla 7 integrationstester passerade - Upplösare: Entitetsupplösning verifierad
This commit is contained in:
@@ -0,0 +1,218 @@
|
||||
# Decision Intelligence v2.0 — Beslutsintelligens
|
||||
|
||||
> Status: EVOLUTION
|
||||
> Uppdaterad av: Erik Svensson
|
||||
> Datum: 2026-07-03
|
||||
> Föregångare: CONTROL_INTELLIGENCE_v1.0.md, DECISION_MODEL_v1.0.md
|
||||
|
||||
---
|
||||
|
||||
## Den röda tråden
|
||||
|
||||
> **LandveX omvandlar observationer av den byggda miljön till verifierade beslutsunderlag för olika typer av användare.**
|
||||
|
||||
Användarens roll avgör vilket beslut som ska fattas:
|
||||
|
||||
| Roll | Beslut |
|
||||
|------|--------|
|
||||
| Kommun | Prioritera investeringar |
|
||||
| Fastighetsägare | Planera underhåll |
|
||||
| Entreprenör | Identifiera marknadsmöjligheter |
|
||||
| Företagare | Bedöma etableringspotential |
|
||||
| Driftorganisation | Planera nästa åtgärd |
|
||||
|
||||
**En plattform. Samma kunskapsbas. Olika analyser.**
|
||||
|
||||
---
|
||||
|
||||
## Från kontroll till beslut
|
||||
|
||||
| Nivå | Fråga | Svar |
|
||||
|------|-------|------|
|
||||
| 1 | Vad ser vi? | Observation |
|
||||
| 2 | Vad betyder det? | Evidence → Finding |
|
||||
| 3 | Vad behöver göras? | Decision |
|
||||
| 4 | Vem kan skapa värde? | **Opportunity** |
|
||||
|
||||
---
|
||||
|
||||
## Decision Domains
|
||||
|
||||
Generisk pipeline. Samma struktur. Olika regler och datakällor.
|
||||
|
||||
```
|
||||
Infrastructure → Vägar, broar, offentlig miljö
|
||||
Property → Fastigheter, fasader, tak
|
||||
Business → Etablering, marknad
|
||||
Retail → Butiker, restauranger, tjänster
|
||||
Public Safety → Klotter, belysning, skyltar
|
||||
Environment → Grönområden, klimat
|
||||
Energy → Energiförbrukning, effektivisering
|
||||
Mobility → Trafik, kollektivtrafik, parkering
|
||||
```
|
||||
|
||||
Varje domän använder:
|
||||
- **Samma pipeline:** Observation → Evidence → Finding → Decision → Impact
|
||||
- **Olika regler:** Viktning, tröskelvärden, prioritering
|
||||
- **Olika datakällor:** Domain-specifika dataset
|
||||
|
||||
---
|
||||
|
||||
## Objektmodell (utökad)
|
||||
|
||||
```
|
||||
Observation
|
||||
↓
|
||||
Evidence
|
||||
↓
|
||||
Finding
|
||||
↓
|
||||
Decision
|
||||
↓
|
||||
Impact
|
||||
↓
|
||||
Opportunity ← NYTT
|
||||
```
|
||||
|
||||
### Opportunity Object
|
||||
|
||||
Exempel:
|
||||
|
||||
```yaml
|
||||
Opportunity:
|
||||
Typ: Facade Maintenance
|
||||
Location: Östermalm
|
||||
Confidence: 91%
|
||||
Potential: High
|
||||
Evidence: 247 observationer
|
||||
Estimated Market: ≈ 18–25 fastigheter
|
||||
```
|
||||
|
||||
```yaml
|
||||
Opportunity:
|
||||
Typ: Window Cleaning
|
||||
Area: Nacka
|
||||
Evidence: Många byggnader med tydliga tecken på smutsiga glasytor
|
||||
Recommendation: Hög sannolik efterfrågan på tjänsten
|
||||
```
|
||||
|
||||
**Viktigt:** Opportunity är en **indikator**, inte ett bevis på att ett specifikt uppdrag kommer att säljas.
|
||||
|
||||
---
|
||||
|
||||
## Användarscenarier
|
||||
|
||||
### Kommun
|
||||
**Fråga:** Vilka vägar ska vi prioritera nästa kvartal?
|
||||
|
||||
**Svar:**
|
||||
- Prioriteringslista
|
||||
- Riskbedömning
|
||||
- Kostnadsuppskattning
|
||||
- Evidens
|
||||
- Kartvy
|
||||
|
||||
### Fastighetsägare
|
||||
**Fråga:** Vilka byggnader behöver underhåll först?
|
||||
|
||||
**Svar:**
|
||||
- Tak
|
||||
- Fasader
|
||||
- Fönster
|
||||
- Belysning
|
||||
- Historik
|
||||
|
||||
### Entreprenör
|
||||
**Fråga:** Var finns det jobb?
|
||||
|
||||
**Svar:**
|
||||
- Områden med många slitna tak
|
||||
- Områden med mycket klotter
|
||||
- Områden med många trasiga skyltar
|
||||
- Områden där gatubelysning ofta felanmäls
|
||||
|
||||
**Inte en lista över kunder — en indikation på var behov sannolikt finns.**
|
||||
|
||||
### Företagare
|
||||
**Fråga:** Var bör jag etablera mig?
|
||||
|
||||
**Svar:** Kombinerad analys av:
|
||||
- Demografi
|
||||
- Konkurrens
|
||||
- Flöden
|
||||
- Observationer
|
||||
- Infrastruktur
|
||||
- Historik
|
||||
|
||||
Med tydlig motivering för etableringspotential.
|
||||
|
||||
---
|
||||
|
||||
## Decision Pipeline (generisk)
|
||||
|
||||
```
|
||||
Observation
|
||||
↓ [Verifiering]
|
||||
Evidence
|
||||
↓ [Analys]
|
||||
Finding
|
||||
↓ [Bedömning]
|
||||
Decision
|
||||
↓ [Konsekvens]
|
||||
Impact
|
||||
↓ [Marknad]
|
||||
Opportunity
|
||||
```
|
||||
|
||||
Fungerar lika bra för:
|
||||
- Vägunderhåll
|
||||
- Fasadrenovering
|
||||
- Etableringsanalys
|
||||
- Stadsplanering
|
||||
- Energibesparingar
|
||||
|
||||
---
|
||||
|
||||
## Arkitekturprincip
|
||||
|
||||
> **Bygg inte fem olika produkter. Bygg en gemensam observations- och beslutsplattform.**
|
||||
|
||||
| Aspekt | Tillvägagångssätt |
|
||||
|--------|-------------------|
|
||||
| Datamodell | Gemensam |
|
||||
| Beslutslogik | Gemensam pipeline |
|
||||
| Domänregler | Konfigurerbara per Domain |
|
||||
| Presentation | Anpassad per användarroll |
|
||||
| Skalning | Tekniskt och affärsmässigt utan duplicering |
|
||||
|
||||
---
|
||||
|
||||
## Relation till andra moduler
|
||||
|
||||
| Modul | Roll |
|
||||
|-------|------|
|
||||
| Reality Intelligence | Insamling och verifiering |
|
||||
| Knowledge Intelligence | Lagring och strukturering |
|
||||
| Decision Intelligence | **Beslutsstöd och analys** |
|
||||
| Mission Intelligence | Utförande och uppföljning |
|
||||
| Economic Intelligence | Kostnader och värde |
|
||||
| Learning Intelligence | Förbättring över tid |
|
||||
| Market Intelligence | Marknads- och etableringsanalys |
|
||||
|
||||
---
|
||||
|
||||
## Nästa steg
|
||||
|
||||
1. Implementera Decision Domains som konfigurerbara enheter
|
||||
2. Definiera Opportunity Object i datamodellen
|
||||
3. Bygga domänspecifika regler för Infrastructure och Property
|
||||
4. Validera med pilotkunder från varje användarroll
|
||||
|
||||
---
|
||||
|
||||
## Relaterade dokument
|
||||
|
||||
- `DECISION_MODEL_v1.0.md` — Ursprunglig beslutsstruktur
|
||||
- `DECISION_PIPELINE_v1.0.md` — Pipeline-detaljer
|
||||
- `MARKET_INTELLIGENCE_v1.0.md` — Modul #7
|
||||
- `LANDVEX_DESIGN_CONSTITUTION.md` — Övergripande designprinciper
|
||||
@@ -0,0 +1,176 @@
|
||||
# Iconography Rules — LandveX Design System
|
||||
|
||||
## Core Principle
|
||||
|
||||
**No generic emojis. Ever.**
|
||||
|
||||
Generic emojis (🔒 💳 🆔 📋 ✅ ❌ ⚠️) are:
|
||||
- Visually inconsistent across platforms
|
||||
- Not controllable (Apple, Google, Samsung render differently)
|
||||
- Unprofessional in enterprise contexts
|
||||
- Impossible to brand
|
||||
|
||||
## Rule: Custom SVG Icons Only
|
||||
|
||||
| ❌ Forbidden | ✅ Required |
|
||||
|-------------|-------------|
|
||||
| 🔒 Lock | Custom lock icon from icon library |
|
||||
| 💳 Card | Custom payment icon |
|
||||
| 🆔 ID | Custom identity/verification icon |
|
||||
| 📋 Clipboard | Custom document icon |
|
||||
| ✅ Check | Custom checkmark icon |
|
||||
| ❌ Cross | Custom X/close icon |
|
||||
| ⚠️ Warning | Custom warning triangle |
|
||||
| 📧 Email | Custom envelope icon |
|
||||
| 📱 Phone | Custom phone icon |
|
||||
| 🗺️ Map | Custom map pin icon |
|
||||
|
||||
## Implementation
|
||||
|
||||
### Option 1: Lucide Icons (recommended)
|
||||
```bash
|
||||
npm install lucide-react
|
||||
```
|
||||
|
||||
```tsx
|
||||
import { Lock, CreditCard, Shield, FileText, Check, X, AlertTriangle, Mail, Phone, MapPin } from 'lucide-react';
|
||||
|
||||
// Use instead of emojis
|
||||
<Lock className="icon-security" />
|
||||
<CreditCard className="icon-payment" />
|
||||
<Shield className="icon-verified" />
|
||||
```
|
||||
|
||||
### Option 2: Custom SVG
|
||||
```tsx
|
||||
const IconLock = () => (
|
||||
<svg viewBox="0 0 24 24" className="icon">
|
||||
<rect x="5" y="11" width="14" height="10" rx="2" />
|
||||
<path d="M7 11V7a5 5 0 0110 0v4" />
|
||||
</svg>
|
||||
);
|
||||
```
|
||||
|
||||
## Icon Categories
|
||||
|
||||
### Security & Trust
|
||||
| Purpose | Lucide Icon | Class |
|
||||
|---------|-------------|-------|
|
||||
| Secure/Locked | `Lock` | `icon-security` |
|
||||
| Verified | `ShieldCheck` | `icon-verified` |
|
||||
| GDPR/Compliance | `FileCheck` | `icon-compliance` |
|
||||
| Identity | `Fingerprint` | `icon-identity` |
|
||||
|
||||
### Payment & Financial
|
||||
| Purpose | Lucide Icon | Class |
|
||||
|---------|-------------|-------|
|
||||
| Payment | `CreditCard` | `icon-payment` |
|
||||
| Payout | `Banknote` | `icon-payout` |
|
||||
| Credits | `Coins` | `icon-credits` |
|
||||
| Invoice | `Receipt` | `icon-invoice` |
|
||||
|
||||
### Communication
|
||||
| Purpose | Lucide Icon | Class |
|
||||
|---------|-------------|-------|
|
||||
| Email | `Mail` | `icon-email` |
|
||||
| SMS | `MessageSquare` | `icon-sms` |
|
||||
| Notification | `Bell` | `icon-notification` |
|
||||
| Support | `Headphones` | `icon-support` |
|
||||
|
||||
### Status
|
||||
| Purpose | Lucide Icon | Class |
|
||||
|---------|-------------|-------|
|
||||
| Success | `CheckCircle2` | `icon-success` |
|
||||
| Error | `XCircle` | `icon-error` |
|
||||
| Warning | `AlertTriangle` | `icon-warning` |
|
||||
| Info | `Info` | `icon-info` |
|
||||
| Pending | `Clock` | `icon-pending` |
|
||||
|
||||
### Actions
|
||||
| Purpose | Lucide Icon | Class |
|
||||
|---------|-------------|-------|
|
||||
| Upload | `Upload` | `icon-upload` |
|
||||
| Download | `Download` | `icon-download` |
|
||||
| Edit | `Pencil` | `icon-edit` |
|
||||
| Delete | `Trash2` | `icon-delete` |
|
||||
| Search | `Search` | `icon-search` |
|
||||
| Filter | `Filter` | `icon-filter` |
|
||||
|
||||
## quiXzoom-Specific Icons
|
||||
|
||||
| Feature | Icon | Usage |
|
||||
|---------|------|-------|
|
||||
| Camera/Mission | `Camera` | Mission cards |
|
||||
| Location | `MapPin` | Mission location |
|
||||
| Distance | `Navigation` | Distance indicator |
|
||||
| Time | `Clock` | Estimated time |
|
||||
| Photos | `Image` | Photo count |
|
||||
| Credits | `Coins` | Credit reward |
|
||||
| Approval | `CheckCircle2` | Approval status |
|
||||
| Payout | `Banknote` | Weekly payout |
|
||||
|
||||
## Styling
|
||||
|
||||
```css
|
||||
.icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
stroke-width: 2;
|
||||
stroke-linecap: round;
|
||||
stroke-linejoin: round;
|
||||
}
|
||||
|
||||
.icon-small { width: 16px; height: 16px; }
|
||||
.icon-large { width: 24px; height: 24px; }
|
||||
.icon-xl { width: 32px; height: 32px; }
|
||||
|
||||
/* Status colors */
|
||||
.icon-success { color: var(--color-success-500); }
|
||||
.icon-error { color: var(--color-danger-500); }
|
||||
.icon-warning { color: var(--color-warning-500); }
|
||||
.icon-info { color: var(--color-info-500); }
|
||||
```
|
||||
|
||||
## Migration Guide
|
||||
|
||||
### Step 1: Find all emojis
|
||||
```bash
|
||||
grep -r "[🔒💳🆔📋✅❌⚠️📧📱🗺️]" src/
|
||||
```
|
||||
|
||||
### Step 2: Replace with icons
|
||||
```tsx
|
||||
// Before
|
||||
<span>🔒 GDPR Compliant</span>
|
||||
|
||||
// After
|
||||
<span><Lock className="icon icon-security" /> GDPR Compliant</span>
|
||||
```
|
||||
|
||||
### Step 3: Verify
|
||||
- No emojis in source code
|
||||
- All icons from approved library
|
||||
- Consistent sizing and styling
|
||||
|
||||
## Enforcement
|
||||
|
||||
**ESLint Rule:**
|
||||
```json
|
||||
{
|
||||
"rules": {
|
||||
"no-restricted-syntax": [
|
||||
"error",
|
||||
{
|
||||
"selector": "Literal[value=/[\\u{1F300}-\\u{1F9FF}]/u]",
|
||||
"message": "No emojis allowed. Use Lucide icons instead."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Status
|
||||
|
||||
**Rule:** ✅ LOCKED
|
||||
**Migration:** 🔄 IN PROGRESS (quixzoom.com)
|
||||
**Target:** Zero emojis by 2026-07-05
|
||||
@@ -0,0 +1,160 @@
|
||||
# Market Intelligence v1.0 — LandveX Intelligence Module #7
|
||||
|
||||
> Status: CONCEPT
|
||||
> Beslutad av: Erik Svensson
|
||||
> Datum: 2026-07-03
|
||||
|
||||
---
|
||||
|
||||
## Position i Intelligence-arkitekturen
|
||||
|
||||
```
|
||||
LandveX Intelligence
|
||||
├── 1. Reality Intelligence
|
||||
├── 2. Knowledge Intelligence
|
||||
├── 3. Decision Intelligence
|
||||
├── 4. Mission Intelligence
|
||||
├── 5. Economic Intelligence
|
||||
├── 6. Learning Intelligence
|
||||
└── 7. Market Intelligence ← NY
|
||||
```
|
||||
|
||||
**Princip:** Market Intelligence är en **egen modul**, inte en del av kärnan. Den bygger ovanpå samma plattform (karta, datamodell, API) men löser ett separat beslutsdomain.
|
||||
|
||||
---
|
||||
|
||||
## Vad Market Intelligence svarar på
|
||||
|
||||
För ett område (stadsdel, kvarter, koordinat):
|
||||
|
||||
### Demografi
|
||||
- Befolkning (total, per km²)
|
||||
- Åldersfördelning
|
||||
- Hushållsstruktur
|
||||
- Inkomstnivå (om tillgänglig och lämplig)
|
||||
- Dagbefolkning vs nattbefolkning
|
||||
|
||||
### Kommersiell struktur
|
||||
- Antal restauranger
|
||||
- Antal frisörer
|
||||
- Antal bilverkstäder
|
||||
- Antal gym
|
||||
- Antal livsmedelsbutiker
|
||||
- Antal laddstationer
|
||||
- Antal parkeringsplatser
|
||||
- [Utökas per branschbehov]
|
||||
|
||||
### Infrastruktur
|
||||
- Vägar och framkomlighet
|
||||
- Kollektivtrafik
|
||||
- Skolor
|
||||
- Sjukhus/vårdcentraler
|
||||
- Parker och grönområden
|
||||
- Industriområden
|
||||
|
||||
---
|
||||
|
||||
## Index — det användaren ser
|
||||
|
||||
Exempel:
|
||||
|
||||
```
|
||||
Hair Salon Index
|
||||
|
||||
Efterfrågan: 72
|
||||
Utbud: 31
|
||||
Mättnad: 43
|
||||
Potential: 89/100
|
||||
```
|
||||
|
||||
```
|
||||
Auto Repair Index
|
||||
|
||||
Utbud: 95
|
||||
Efterfrågan: 48
|
||||
Mättnad: 96
|
||||
Potential: 18/100
|
||||
```
|
||||
|
||||
**Princip:** Index är lättare att förstå än rå statistik. Samma skala (0-100) oavsett bransch.
|
||||
|
||||
---
|
||||
|
||||
## Transparens — varför, inte bara vad
|
||||
|
||||
❌ Undvik: "Öppna en frisör här."
|
||||
|
||||
✅ Istället:
|
||||
```
|
||||
Potential: 89
|
||||
|
||||
Varför?
|
||||
• 18 000 invånare
|
||||
• Hög befolkningstillväxt
|
||||
• Endast 2 frisörer inom 2 km
|
||||
• Många barnfamiljer
|
||||
• Låg konkurrens jämfört med liknande områden
|
||||
```
|
||||
|
||||
Användaren bedömer själv. Systemet visar data, inte domar.
|
||||
|
||||
---
|
||||
|
||||
## Koppling till LandveX-kartan
|
||||
|
||||
Samma karta, olika lager — användaren slår på/av:
|
||||
|
||||
| Lager | Modul |
|
||||
|-------|-------|
|
||||
| Infrastruktur | Reality Intelligence |
|
||||
| Observationer | Mission Intelligence |
|
||||
| Decision Cases | Decision Intelligence |
|
||||
| Hotspots | Learning Intelligence |
|
||||
| **Demografi** | **Market Intelligence** |
|
||||
| **Kommersiella index** | **Market Intelligence** |
|
||||
|
||||
---
|
||||
|
||||
## Kommunikation — viktig försiktighet
|
||||
|
||||
Ett "Frisörindex 89" är en **analytisk indikator**, inte en garanti.
|
||||
|
||||
**Officiell formulering:**
|
||||
> "LandveX visar områden där tillgängliga data indikerar högre eller lägre etableringspotential utifrån de faktorer som ingår i modellen."
|
||||
|
||||
Affärsframgång påverkas också av:
|
||||
- Lokalhyra
|
||||
- Koncept och kvalitet
|
||||
- Marknadsföring
|
||||
- Konkurrenters kvalitet (inte bara kvantitet)
|
||||
|
||||
---
|
||||
|
||||
## Framtida produktfamilj
|
||||
|
||||
På sikt kan detta bli tre separata erbjudanden på samma plattform:
|
||||
|
||||
| Produkt | Fokus | Moduler |
|
||||
|---------|-------|---------|
|
||||
| **LandveX Infrastructure Intelligence** | Vägar, byggnader, offentlig miljö | Reality + Mission |
|
||||
| **LandveX Market Intelligence** | Etableringsanalyser, demografi, kommersiella index | Market |
|
||||
| **LandveX Operations Intelligence** | Drift, uppdrag, beslutsstöd | Decision + Economic + Learning |
|
||||
|
||||
**Fördel:** Samma karta, samma datamodell, samma API — olika beslutstyper.
|
||||
|
||||
---
|
||||
|
||||
## Nästa steg (ej prioriterat)
|
||||
|
||||
1. Definiera datakällor för demografi och kommersiell data
|
||||
2. Bygga index-algoritm (viktning av faktorer)
|
||||
3. Prototyp för ett pilotområde
|
||||
4. Validering mot verkliga etableringar
|
||||
|
||||
---
|
||||
|
||||
## Relaterade dokument
|
||||
|
||||
- `DECISION_MODEL_v1.0.md` — Beslutsstruktur
|
||||
- `DECISION_PIPELINE_v1.0.md` — Pipeline för alla Intelligence-moduler
|
||||
- `LANDVEX_DESIGN_CONSTITUTION.md` — Designprinciper
|
||||
Reference in New Issue
Block a user