Files
boc/iom/README.md
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- Add NFC ePassport roadmap (ICAO 9303, eIDAS)
- Add TensorFlow.js edge face detection (BlazeFace)
- Add structured audit logger (GDPR-compliant)
- Risk scoring support

Part of KYC Apple Native UX v1.1.0
2026-06-29 16:24:48 +00:00

171 lines
3.9 KiB
Markdown

# Infrastructure Object Model (IOM)
> Universellt språk för fysisk infrastruktur — från observation till kunskapsgraf.
> Status: MVP klar | 2026-06-26
---
## Sammanfattning
IOM är en tio-lagers modell för att representera, identifiera, observera och analysera fysisk infrastruktur. Byggd för quiXzoom Fas 1.
---
## Arkitektur
```
iom/
├── core/ # Lager 1-2: Taxonomi + GOID
│ ├── iom_taxonomy.json # Komplett taxonomi (5 domäner)
│ ├── goid_generator.py # GOID-generering och validering
│ └── test_goid.py # Enhetstester (16/16 passerar)
├── observation/ # Lager 6: Observationer
│ ├── observation_models.py # Pydantic-modeller
│ └── observation_store.py # PostgreSQL + PostGIS
├── defect/ # Lager 7: Felklassificering
│ └── defect_codes.py # 50+ felkoder, hierarki, AI-nyckelord
├── risk/ # Lager 8: Riskmodell
│ └── risk_model.py # 10 objekttyper, vikter, beräkning
├── ledger/ # Integration aamos-ledger
│ └── iom_ledger_mapping.py # BAS-konton, avskrivningar
└── api/ # API
└── main.py # FastAPI, alla endpoints
```
---
## Lager 1: Taxonomi
5 domäner, 10 system, 30+ objekttyper:
| Domän | Beskrivning |
|---|---|
| BYG | Byggnad (fasader, tak, fönster) |
| BEL | Belysning (gatlyktor, trafiksignaler) |
| COM | Kommersiellt (butiksfronter, reklam) |
| TRN | Transport (vägar, broar, parkeringar) |
| ENE | Energi (laddstationer, transformatorer) |
---
## Lager 2: GOID
Format: `[DOM]-[SYS]-[SUB]-[OBJ]-[SEQ]`
Exempel: `BYG-FAC-WIN-GLA-0001`
- Permanent, unikt, oföränderligt
- Validering och parsning
- 16/16 tester passerar
---
## Lager 6: Observationer
```yaml
observation:
id: "OBS-2026-0012847"
object_goid: "BYG-FAC-WIN-GLA-2847"
findings:
- type: "dirt_accumulation"
code: "2100"
confidence: 0.94
media:
- type: "image"
url: "..."
geotag: {lat: 59.3293, lng: 18.0686}
ai_analysis:
overall_condition: 3
recommended_action: "schedule_cleaning"
```
---
## Lager 7: Felkoder
50+ koder i hierarki:
```
2000 — Ytskada
├── 2100 — Nedsmutsning
├── 2200 — Färgförändring
├── 2300 — Ytskada
└── 2400 — Klotter
3000 — Strukturell skada
├── 3100 — Spricka
├── 3200 — Deformation
└── 3300 — Materialförlust
```
- Flerspråkig (sv/en)
- AI-nyckelord för auto-klassificering
- Sök och föreslå
---
## Lager 8: Riskmodell
6 dimensioner, viktat per objekttyp:
| Objekttyp | Säkerhet | Ekonomi | Drift | Estetik |
|---|---|---|---|---|
| Bro | 40% | 15% | 20% | 10% |
| Fönster | 20% | 15% | 10% | 35% |
| Laddstation | 45% | 15% | 15% | 10% |
---
## Ledger-integration
- BAS-konton: 1220, 1230, 6110, 7830, 7970
- Händelser: installation, underhåll, avskrivning, nedskrivning
- Kontradiktionsrapportering
---
## API Endpoints
| Endpoint | Beskrivning |
|---|---|
| `POST /goid/generate` | Generera GOID |
| `GET /goid/validate/{goid}` | Validera GOID |
| `GET /taxonomy/domains` | Lista domäner |
| `POST /observations` | Skapa observation |
| `GET /defects` | Lista felkoder |
| `POST /risk/calculate` | Beräkna risk |
| `POST /ledger/installation` | Bokför installation |
---
## Tester
```bash
cd iom/core && python3 test_goid.py
# 16/16 tester passerar
```
---
## Nästa steg
1. [ ] Sätt upp PostgreSQL + PostGIS
2. [ ] Kör API:t (`uvicorn api.main:app`)
3. [ ] Integration med quiXzoom app
4. [ ] AI-klassificeringspipeline
5. [ ] Digital tvilling (Lager 10)
---
## Dokumentation
- `INFRASTRUCTURE_OBJECT_MODEL.md` — Komplett spec
- `IOM_LEDGER_INTEGRATION.md` — Ledger-integration
- `IOM_PRIORITY_ROADMAP.md` — Prioritering
- `IOM_IMPLEMENTATION_PLAN.md` — Implementationsplan