landvex: IOL v3 + Identify API + Neo4j-graf + byggpipeline

- FastAPI Identify API (port 8081)
- Neo4j propertygraf (64 noder, 80 kanter)
- Ingest-pipeline (Python)
- Byggscript + integrationstester
- Docker Compose setup
This commit is contained in:
Bernt
2026-07-05 05:55:48 +00:00
parent 8dcca96185
commit 7d40cf95bf
61 changed files with 22330 additions and 0 deletions
@@ -0,0 +1,202 @@
# Landvex Infrastructure Object Library
## Grundspecifikation v1 — "Grunden"
## Syfte
Detta är grunden som implanteras i Landvex infrastruktur: ontologin, schemat, prioriteringen och arbetsprotokollet för världens mest kompletta bibliotek över visuellt identifierbar fysisk infrastruktur.
Biblioteket är det Datafabriken fyller och flyhjulet förädlar. Alla framtida produkter — Landvex AI, QUIXZOOMs igenkänning, sök, analys, SaaS-lagren — frågar mot samma grund.
**Princip 1.** Objektuniversum först, produkter sedan. Vi utgår från allt en kamera kan se — inte från tillverkarnas kataloger.
**Princip 2.** Fakta och referenser, aldrig kopierat innehåll. Varje faktum bär källa.
**Princip 3.** Det vanligaste först. Tier 1 byggs klart innan bredden jagas.
## Arkitektur: fem nivåer
| Nivå | Namn | Exempel | Lager |
|---|---|---|---|
| 0 | Domän | Transport | Ontologin |
| 1 | Objektklass | Vägbelysningsarmatur | Biblioteket |
| 2 | Typ | LED-armatur, motorväg | Biblioteket |
| 3 | Produktmodell | Acme SL-400 rev C | Biblioteket |
| 4 | Individ | Armaturen på Storgatan 12 | QUIXZOOM/kund |
**Landvex-ID:**
* Objektklass: `LVX-{DOMÄN}-{NNNN}``LVX-TRP-0102`
* Produktmodell: `LVX-P-{NNNNNNN}``LVX-P-0000481`
* Individ: `LVX-I-{...}` (fältlagret, utanför denna spec)
ID:n är permanenta. Namn får ändras — ID aldrig.
## Objektuniversum: nio domäner
| Kod | Domän | Omfattar bl.a. |
|---|---|---|
| TRP | Transport/väg | vägar, körfält, markeringar, räcken, kantsten, refuger, broar, tunnlar, signaler, skyltar, portaler, belysning, reflexstolpar, hållplatser |
| ELN | Elnät | transformatorer, ställverk, kabelskåp, elstolpar, kraftledningar, laddstationer, mätarskåp |
| VAT | Vatten & avlopp | brunnar, betäckningar, galler, ventiler, pumpstationer, hydranter, inspektionspunkter |
| TEL | Telekom | fiberskåp, kopparskåp, master, 5G, antenner, radiolänkar |
| BYG | Byggnad | fasader, tak, entréer, portar, fönster, brandskydd, ventilation, nödutgångar, skyltar |
| PRK | Park & offentlig miljö | träd, bänkar, lekplatser, papperskorgar, pollare, cykelställ, fontäner |
| JVG | Järnväg | signaler, kontaktledning, slipers, växlar, bommar, plattformar |
| HMN | Hamn | kajer, pollare, fendrar, kranar, landström |
| FLG | Flygplats | banbelysning, skyltar, stängsel, navigationshjälpmedel |
Geografisk räckvidd v1: **USA, EU, Storbritannien, Kanada, Australien.**
Ontologin är global från dag ett — nya marknader är data, inte omdesign.
## Tier 1 — det vanligaste byggs först
Urvalskriterier:
1. **Volym** — miljontals instanser i fält
2. **Synlighet** — identifierbar från gatunivåfoto
3. **Efterfrågan** — förvaltare och entreprenörer behöver svaret
4. **Datatillgång** — öppna standarder och tillverkardokumentation finns
5. **Flyhjul** — syns i material Zoomers redan samlar
### De 20 första objektklasserna
| LVX-ID | Klass | Nyckelstandarder (exempel) |
|---|---|---|
| LVX-TRP-0101 | Belysningsstolpe | EN 40 (EU), AASHTO LTS (US) |
| LVX-TRP-0102 | Vägbelysningsarmatur | EN 60598, EN 13201 (EU), UL 1598 (US) |
| LVX-TRP-0103 | Vägmärke | MUTCD (US), TSRGD (UK), nationella kataloger (EU), AS 1742 (AU) |
| LVX-TRP-0104 | Trafiksignal, signalhuvud | EN 12368 (EU), ITE-spec. (US) |
| LVX-TRP-0105 | Trafiksignalskåp/styrapparat | NEMA TS-serien (US) |
| LVX-TRP-0106 | Vägmarkering | EN 1436 (EU), MUTCD (US) |
| LVX-TRP-0107 | Vägräcke | EN 1317 (EU), MASH (US) |
| LVX-TRP-0108 | Hållplatsväderskydd | tillverkar-/kommunprogram |
| LVX-VAT-0101 | Brunnsbetäckning | EN 124 (EU/UK), kommunala lastkrav (US) |
| LVX-VAT-0102 | Dagvattengaller | EN 124 |
| LVX-VAT-0103 | Brandpost/hydrant | AWWA C502/C503 (US), nationella typer (EU) |
| LVX-ELN-0101 | Kabelskåp, lågspänning | nätbolagsnormer per land |
| LVX-ELN-0102 | Elstolpe | ANSI O5.1 (trä, US), nationella normer (EU) |
| LVX-ELN-0103 | Nätstation/transformator | IEC/IEEE-serier — kartläggs i steg 1 |
| LVX-ELN-0104 | Laddstation | IEC 61851, kontaktstandarder (CCS, J1772) |
| LVX-TEL-0101 | Telekomskåp | operatörsspecifika program |
| LVX-TEL-0102 | Mobilmast/antennplats | nationella regelverk |
| LVX-PRK-0101 | Pollare | säkerhetspollare: PAS 68 / IWA 14 |
| LVX-PRK-0102 | Papperskorg | — |
| LVX-PRK-0103 | Cykelställ | — |
**Tier 2 (nästa våg):** kantsten, reflexstolpar, vägportaler, broräcken, bullerskydd, mätarskåp, ventilbetäckningar, parkbänkar, järnvägens basobjekt.
**Tier 3:** hamn- och flygplatsdomänerna — hög specialisering, begränsad access, byggs mot kunduppdrag.
## Universellt objektschema
Varje post — klass eller produktmodell — följer samma tio block:
1. **Identitet** — vem, vad, revision, status
2. **Teknik** — dimensioner, material, klasser (IP, belastning, korrosion), livslängd
3. **Historik** — introducerad, utfasad, ersättningskedja
4. **Geografi** — länder, regioner, miljötyper
5. **Standarder** — organ, beteckning, roll (aldrig standardtext)
6. **AI** — kännetecken, särskiljare, förväxlingar, kameravinklar, OCR/typskylt
7. **Problem** — kända fel, alltid med källa
8. **Dokumentation** — referenser med metadata och licensstatus
9. **Relationer** — predikatbaserade kopplingar till andra LVX-ID
10. **Proveniens** — källor, konfidens, verifieringsnivå
Maskinformatet definieras i `lvx-objekt-schema.json`. I grafen bryts posterna ner till enskilda fakta med källa, konfidens och bitemporal giltighet — enligt Genome-strategin.
**OCR först.** En stor andel el-, tele- och belysningsobjekt bär typskylt med tillverkare, modell och serienummer. Typskyltens position och fältstruktur dokumenteras per klass — det är den billigaste vägen till säker identifiering.
## Käll- och rättighetspolicy
**Tillåtet — sammanställ fakta och spara referenser från:**
* Standardiseringsorgan: beteckning, titel, tillämpningsområde — aldrig innehåll ur köpta standarder
* Myndigheter: föreskrifter, typgodkännanden, regelverk (amerikanska federala dokument är ofta public domain)
* Tillverkares publika datablad, kataloger och manualer: extrahera fakta, länka källan
* Patent: fria att referera och analysera
* Offentliga upphandlingar: produkter, platser, tidpunkter
* Egna fältbilder: fullt ägda
**Ej tillåtet:**
* Kopiera skyddade databaser eller kringgå avtalsvillkor
* Skörda bakom inloggning eller mot uttryckligt förbud
* Återge standardtexter, manualtexter eller bilder vi saknar rätt till
**Särskilda noter:**
* OpenStreetMap (ODbL) kräver attribution och delningsvillkor — hålls i separat spår tills licensstrategin är beslutad
* "Kända problem" publiceras endast med belagd källa: återkallelse, servicebulletin eller verifierad fältobservation
Regeln i en mening: **vi bygger kunskap om innehållet — inte kopior av innehållet.**
## Forskningsprotokoll per objektklass
Varje Tier 1-klass blir ett forskningsuppdrag i sju steg. Detta är agenternas arbetsorder:
1. **Standarder & terminologi.** Kartlägg nationella och internationella standarder per marknad. Standarderna definierar klassens gränser, klassificeringar och officiella begrepp på varje språk.
2. **Marknadskarta.** Dominerande tillverkare per land — historiskt och idag.
3. **Modellkatalog.** Produktfamiljer, modeller, revisioner, produktionsperioder, artikelnummer, status.
4. **Visuell profil.** Kännetecken, särskiljande detaljer, förväxlingsrisker, rekommenderade vinklar, typskylt/OCR.
5. **Livscykel & problem.** Livslängd, åldrande, kända fel — endast med källa.
6. **Relationer.** Vad den monteras på, ansluts med, matas från, ingår i, ersätts av.
7. **Verifiering.** Konfidenssättning, källgranskning; fältverifieringsbehov flaggas till Zoomer-kön.
Output per uppdrag: en komplett klasspost enligt schemat + en lista produktmodellposter — alla källbelagda.
## Relationsvokabulär v1
`monteras_pa` · `star_pa` · `ansluts_med` · `matas_fran` · `ingar_i` · `del_av` · `ersatter` · `ersatts_av` · `kompatibel_med` · `forvaxlas_med` · `tillverkas_av` · `foljer_standard` · `variant_av`
Nya predikat kräver ontologibeslut. Vildvuxna relationer förstör grafen.
## Verifieringsstegen
1. **Obekräftad** — extraherad, ej granskad
2. **Källbelagd** — minst en oberoende öppen källa
3. **Fältverifierad** — bekräftad av Zoomer-foto
4. **Tillverkarbekräftad** — bekräftad via tillverkarportalen
AI:n exponerar alltid nivån. Kunder ser aldrig obekräftat som sanning.
## Byggordning: grunden på 90 dagar
**Vecka 12.** Ontologin fryses: nio domäner, Tier 1-listan, ID-serier, relationsvokabulär. Schema v1 i drift.
**Vecka 36.** Forskningsprotokollet körs på alla 20 Tier 1-klasser → 20 kompletta klassposter, källbelagda.
**Vecka 712.** Produktmodellskiktet för de fem mest efterfrågade klasserna — förslag: armaturer, brunnsbetäckningar, kabelskåp, vägmärken, hydranter → de första tusen produktmodellerna med LVX-P-ID. Parallellt: Zoomer-bounties på Tier 1 för fältverifiering och visionsträning.
Därefter växer biblioteket enligt Genome-strategins fabrik: efterfrågestyrt, automatiserat, verifierat.
## Leveranser i detta paket
* `iol-grundspecifikation.md` — detta dokument
* `lvx-objekt-schema.json` — maskinläsbart schema för klass- och modellposter
* `lvx-taxonomi-tier1.json` — nio domäner + de 20 första objektklasserna med ID
* `lvx-exempel-brunnsbetackning.json` — ifylld exempelpost som mall
Grunden är inte en plan. Den är filerna ovan — implantera, kör protokollet, börja fylla.
@@ -0,0 +1,259 @@
# Landvex Infrastructure Genome
## Strategi för snabb uppbyggnad och automatiserad tillväxt
## Tesen
Grafen är produkten. Allt annat — appar, API:er, dashboards — är gränssnitt mot grafen.
Värdet växer med fyra faktorer: **täckning × djup × verifiering × tidshistorik.**
Strategin nedan maximerar alla fyra samtidigt, med minsta möjliga manuella arbete.
## Kallstartsproblemet
En kunskapsgraf med 10 000 objekt är en kuriositet.
En med 10 miljoner är en tillgång ingen kan kopiera.
Ni kan inte samla in detta manuellt. Ingen kan det.
Lösningen är att inte bygga en databas.
**Bygg fabriken som bygger databasen.**
## Datafabriken — fem linjer
### Linje 1: Skörd (helautomatisk, kontinuerlig)
Crawlers som löpande hämtar:
* Tillverkarkataloger, produktblad, manualer, CAD-filer
* **Offentliga upphandlingar** (TED i EU, SAM.gov i USA, Mercell/Kommers i Norden) — guld, eftersom de avslöjar vilka produkter som installerats *var* och *när*
* Standarder och typgodkännanden (EN, ANSI, ASTM)
* Patent — produkthistorik och generationsskiften
* Återkallelser och servicebulletiner
* Kommunala anläggningsregister och öppna GIS-data
* OpenStreetMap — positioner och objekttyper
* Branschforum och installatörscommunities — kända problem i verkligheten
### Linje 2: Extraktion (LLM-agenter)
Varje dokument klassificeras och körs genom schemastyrd extraktion: dokument in, strukturerade fakta ut.
Kostnaden per extraherat objekt är idag ören, inte timmar. Det är den tekniska förändringen som gör hela idén möjlig 2026 men omöjlig 2019.
### Linje 3: Entitetsupplösning
Samma armatur säljs under tre namn på fem marknader, med OEM-märkningar och revisioner. Fabrikens svåraste steg: slå ihop dubbletter till en kanonisk identitet.
Se Landvex-ID nedan.
### Linje 4: Verifiering
Varje faktum får konfidenspoäng och källa.
Hög konfidens → publiceras direkt.
Låg konfidens → människa, eller fältverifiering via en Zoomer.
### Linje 5: Publicering och återkoppling
Varje gång AI:n möter ett objekt den inte känner igen skapas **automatiskt ett researchjobb**.
AI:ns luckor blir roadmapen. Grafen växer exakt där efterfrågan finns.
## Landvex-ID — den djupaste vallgraven
Kemin har CAS-nummer. Böcker har ISBN.
Den byggda världen har ingenting.
Ge varje produktmodell, komponent och materialtyp ett kanoniskt **Landvex-ID**.
När tillverkare, kommuner, försäkringsbolag och AI-system börjar referera till era ID:n är ni inte längre en databas.
Ni är standarden.
Standarder byts inte ut.
## Datamodellen — varje faktum bär sitt eget bevis
Ett faktum är aldrig bara "höjd: 8 m".
Det är:
**subjekt egenskap värde + källa + konfidens + giltighetsperiod + registreringstidpunkt**
Bitemporalt: både *när det var sant i verkligheten* och *när ni fick veta det*.
Bilder och dokument lagras som bevis kopplade till fakta — inte som lösa filer.
Detta gör tre saker möjliga:
1. Tidsfrågor — "visa alla armaturer installerade 19982004"
2. Spårbarhet — varje påstående kan försvaras
3. Maskinell tillit — AI:n vet hur säker den ska vara
## Flyhjulet med QUIXZOOM
Fabriken bygger bredden. Zoomers bygger det ingen annan har: **verifierad verklighet.**
Varje fältbild gör tre jobb samtidigt:
1. Tränar vision-modellerna
2. Verifierar eller korrigerar grafen
3. Adderar en tillståndsobservation i tidsserien — korrosion vid år 12, sprickbildning vid år 18
Styr flödet aktivt: **bounties** på objekt grafen saknar. "Vi behöver Model SL-400 fotograferad underifrån" blir ett uppdrag i appen.
Verkligheten uppdaterar grafen. Grafen gör AI:n bättre på verkligheten.
Loopen är stängd.
## Låt andra bygga åt er
### Tillverkarportalen
Tillverkare får göra anspråk på sina produktsidor och underhålla dem själva — som Google Business Profile.
Deras incitament: den som finns i grafen blir rekommenderad ersättare. Den som inte finns blir aldrig föreslagen.
Verifierad tillverkardata + oberoende fältverifiering = trovärdighet ingen part kan uppnå ensam.
### Expertcommunityn
Installatörer, pensionerade ingenjörer, entusiaster — de finns, och de är hängivna.
Ryktesystem, AI-moderering, attribution. Wikipedia bevisade modellen.
Båda kanalerna skalar er datainsamling utan att skala era kostnader.
## Prioritering: värdetäthet, inte jämn täckning
Koka inte oceanen jämnt.
1. **Objektklasser med hög utbytesekonomi först:** belysning, brunnar och betäckningar, beläggningstyper, vägmärken, kabelskåp. Stora installerade baser, frekventa utbyten, stark efterfrågan på identifiering.
2. **Geografier där Zoomers och kunder finns** — där stängs loopen snabbast.
3. **Efterfrågestyrt därefter:** varje misslyckad identifiering i produktion köar automatiskt nästa researchinsats.
Global ontologi från dag ett. Globalt djup byggs där det betalar sig.
## Teknisk stack (kort)
* Propertygraf som kärna
* Vektordatabas för bild- och textembeddings
* Objektlagring för bevis (bilder, dokument)
* **Identify-API:** foto in → rankade kandidater med konfidens ut
* Full versionshistorik och audit trail — grafen får aldrig glömma
* Agentorkestrering som driver fabrikslinjerna
Bygg pipelinen som produkten. Grafen är output.
## SaaS-lagret — monetariseringsytor ovanpå grafen
Grafen säljs aldrig. Åtkomsten säljs.
* **Kommuner och förvaltare** — asset intelligence, livscykelprognoser, "vilka av våra armaturer har känd vatteninträngningsrisk?" → abonnemang per förvaltad volym
* **Entreprenörer och servicebolag** — identifiering, reservdelar, ersättare i fält → per användare
* **Tillverkare** — marknadsdata (var finns min installerade bas? vad ersätter konkurrenterna?) + premiumproduktsidor → abonnemang
* **AI-bolag och integratörer** — identify- och query-API → usage-based
Varje kundsegment matar dessutom tillbaka data.
**Kunderna betalar för att göra grafen bättre.**
## Tidplan
### 090 dagar
* Ontologi v1: ~50 objektklasser, globalt designad från start
* Fabrikslinje 12 i drift: 100 000+ dokument skördade, extraktion igång
* Tre beachhead-klasser på djupet — förslag: vägbelysning, brunnsbetäckningar, vägmärken
* 10 000+ produktmodeller med Landvex-ID
* Vision-modell v1 tränad på befintligt + skördat bildmaterial
### Månad 312
* Entitetsupplösning och verifieringslinje i full drift
* Zoomer-loopen live: fältbilder verifierar grafen
* Tillverkarportal i beta med 2050 tillverkare
* 25+ objektklasser, tre marknader (t.ex. Norden, Tyskland, sydöstra USA)
* Identify-API i beta hos första betalande kunder
### Månad 1224
* 100+ objektklasser, 1M+ produktmodeller
* Landvex-ID refereras i upphandlingar och tredjepartssystem
* API-ekosystem: andra bygger på grafen
* Fabriken självfinansierande via SaaS-intäkter
## Mätetal som styr allt
* **Täckning** — andel objekt i fält som AI:n kan identifiera (norrstjärnan)
* Träffsäkerhet top-1 och top-3
* Andel fakta med källa och konfidenspoäng (mål: 100 %)
* Tid från "okänt objekt" till "dokumenterat objekt"
* **Kostnad per verifierat faktum** — ska sjunka varje kvartal
Om kostnaden per faktum inte sjunker är fabriken trasig.
## Risker — och skydden
**Upphovsrätt.** Fakta är fria, uttryck är skyddat. Lagra extraherade fakta och länkar till källor — inte kopior av skyddade dokument. Egna fältbilder är er egendom, fullt ut.
**"Kända problem"-sektionerna.** Att publicera fel hos namngivna produkter kräver rigorös källhänvisning: återkallelser, servicebulletiner, verifierade fältobservationer. Utan det: juridisk risk. Med det: er mest värdefulla och svårkopierade data.
**Datakvalitet och förgiftning.** Konfidens + provenance + verifieringslinje. Tillverkardata märks som partsinlaga tills den fältverifierats.
**Konkurrens.** Dokument kan alla skörda. Verifierad fältdata över tid kan ingen ta ikapp. Farten på flyhjulet är försvaret.
## Teamet
Litet kärnteam, stor agentflotta.
År 1: 57 personer.
* En ontologi- och domänlead
* Två graf-/dataingenjörer
* En till två ML-ingenjörer
* En agent-ops som driver fabriken
Agenterna gör volymarbetet. Människorna designar schemat, löser entitetskonflikter och verifierar det viktiga.
**Skalning sker i beräkning, inte i huvuden.**
## Kärnan
Ni bygger inte en databas över infrastruktur.
Ni bygger maskinen som bygger databasen — och flyhjulet som gör att varje foto, varje kund och varje tillverkare gör den bättre.
Den som äger verklighetens identiteter äger nästa lager av AI för den fysiska världen.
Binary file not shown.
@@ -0,0 +1,55 @@
# Landvex IOL — Leveransrapport Tier 1
## Forskningsvåg 1: 20 klassposter, 2026-07-04
## Vad som levererats
Forskningsprotokollet (steg 17) har körts på samtliga 20 Tier 1-klasser. Resultat: 20 kompletta klassposter enligt schemat, fördelade på fyra filer:
* `lvx-klassposter-trp.json` — 8 poster (belysning, vägmärken, signaler, markering, räcken, hållplats)
* `lvx-klassposter-vat.json` — 3 poster (betäckning, galler, brandpost)
* `lvx-klassposter-eln.json` — 4 poster (kabelskåp, elstolpe, nätstation, laddstation)
* `lvx-klassposter-tel-prk.json` — 5 poster (telekomskåp, mast, pollare, papperskorg, cykelställ)
Varje post innehåller teknik, geografi, standarder med roll per marknad, AI-block (kännetecken, särskiljare, förväxlingsrisker, kameravinklar, OCR), problem, relationer och proveniens med käll-URL:er.
## Källäge: 14 källbelagda, 6 obekräftade
| Nivå | Antal | Klasser |
|---|---|---|
| **Källbelagd** (webbkälla verifierad denna våg) | 14 | belysningsstolpe, armatur, vägmärke, signalhuvud, signalskåp, vägmarkering, vägräcke, brunnsbetäckning, dagvattengaller, brandpost, elstolpe, nätstation, laddstation, mobilmast |
| **Obekräftad** (kunskapsbaserad, väntar källa) | 6 | hållplatsväderskydd, kabelskåp, telekomskåp, pollare, papperskorg, cykelställ |
De sex obekräftade är klasser med svag öppen standardisering — de identifieras via operatörs- och kommunprogram snarare än standarder. De källbeläggs i våg 2 via program- och tillverkardokumentation.
## Nyckelfynd med källa (urval)
* **Vägmärken US:** MUTCD 11:e utgåvan med Revision 1 (dec 2025) är gällande; delstatsadoption krävdes senast 18 jan 2026. Regelverksskiften på klassnivå = daterbara generationsskiften i fält.
* **Armaturer:** ANSI C136.15-etiketten anger lamptyp och wattal utvändigt — snabbaste US-identifieringen. Zhaga Book 18 vs NEMA-sockel skiljer EU/US-installationer.
* **Källbelagt klassproblem:** lila gatubelysning orsakad av fosfor-delaminering i CSP-LED tillverkade ca 20172019 — perfekt exempel på "känt problem" AI:n kan flagga från foto.
* **Elstolpar:** EPA:s penta-utfasning (2022; lager t.o.m. feb 2027) gör impregneringsmedlet till en daterbar egenskap; birthmark-märkningen på stolpen är OCR-guld.
* **Laddstationer:** SAE J3400/NACS ersätter gradvis CCS1 i Nordamerika — kontaktnivån får en egen ersättningskedja i grafen.
* **Betäckningar:** klapper, sättning och stöld nu källbelagda som klassproblem (inte längre platshållare).
## Policyefterlevnad
* Alla fakta bär källa i `proveniens.kallor`; endast referenser och metadata har sparats — inget standardinnehåll.
* Problem utan källa är markerade **PLATSHÅLLARE — får ej publiceras**. De blir researchjobb i våg 2, inte publika påståenden.
* Tillverkarlistor är märkta `exempel_tillverkare` (kunskapsbaserade exempel, ej marknadsandelsdata) tills marknadskartan i modellvågen belägger dem.
## Nästa våg (förslag)
1. **Källbelägg de 6 obekräftade** via operatörs-/kommunprogram och tillverkardokumentation.
2. **Produktmodellskiktet (LVX-P)** för topp 5: armaturer, brunnsbetäckningar, kabelskåp, vägmärken, brandposter — modellfamiljer, revisioner, produktionsperioder.
3. **Zoomer-bounties från OCR-fälten:** typskyltar på armaturer, birthmarks på elstolpar, gjutmärken på betäckningar, NEMA/Zhaga-socklar, hydrantmärkning, site-ID på master. Varje kategori tränar visionsmodellen och fältverifierar posterna.
Säg vilken våg vi kör — jag kan börja direkt.
@@ -0,0 +1,63 @@
# Landvex IOL — Leveransrapport våg 2
## Full källbeläggning + produktmodellskiktet startat, 2026-07-04
## Vad som levererats
**Spår 1 — de sex sista klasserna källbelagda.** `lvx-klassposter-vag2-uppdaterade.json` innehåller uppdaterade poster för hållplatsväderskydd, kabelskåp, telekomskåp, pollare, papperskorg och cykelställ. De ersätter versionerna i våg 1-filerna.
**Resultat: 20 av 20 Tier 1-klasser är nu källbelagda.**
**Spår 2 — produktmodellskiktet (LVX-P) startat.** `lvx-produktmodeller-vag2.json` innehåller de första 17 modellposterna, alla källbelagda:
| Klass | Modeller |
|---|---|
| Armaturer | GE Evolve ERMC → ERS → ERL (hela kedjan), AEL Autobahn (7 varianter), Schréder Ampera → Ampera EVO, Philips Luma gen2 |
| Vägmärkesfolier | 3M Diamond Grade DG3 serie 4000, 3M HIP 3930 |
| Betäckningar | PAM PAMREX, Neenah R-1640/1642-serien |
| Kabelskåp | ABB Kabeldon CDC-serien |
| Brandposter | Mueller Super Centurion, M&H 929, AVK Series 27, American-Darling B-84-B, Waterous Pacer |
## Grafen börjar leva: första ersättningskedjorna
* **GE Evolve:** ERMC (2009) → ERS Scalable (2012, nu utgången) → ERL-serien (aktiv). Tillverkarbekräftad kedja — exakt den historik-dimension visionen kräver.
* **Schréder:** Ampera → Ampera EVO.
* **Laddkontakter (från våg 1):** CHAdeMO → CCS1 → SAE J3400.
När QUIXZOOM ser en ERS i fält kan Landvex nu svara: utgången, ersatt av ERL — och vem som säljer ersättaren.
## Identifieringsguld ur våg 2
* **Philips Luma gen2 bär Service tag** — en QR-kod som gör varje armaturindivid unikt identifierbar med dokumentation. Klass → modell → individ i en skanning.
* **American-Darling B-84-B levereras med 2D-streckkod** för GIS-inläsning av tillverkningsdata — hydranterna digitaliserar sig själva.
* **PAMREX** känns igen på gångjärnslocket (130°-öppning) och namnet gjutet i godset.
* **UK-telekom:** nästan all Openreach-gatuutrustning är grön; PCP-skåp vs FTTC-skåp vs G.fast-podd är läsbara typer.
* **Sheffield-bygeln** är de facto-standard för cykelparkering — och tapper-plattan nertill avslöjar tillgänglighetsanpassade program.
## Status för biblioteket
| Skikt | Antal | Källäge |
|---|---|---|
| Domäner | 9 | — |
| Objektklasser Tier 1 | 20 | 20/20 källbelagda |
| Produktmodeller (LVX-P) | 17 | 17/17 källbelagda |
| Problem-poster med källa | 10+ | resten flaggade PLATSHÅLLARE |
Detta är kärnan i det API-kunder sedan betalar för: klass → modell → status → ersättare, med källa på varje led.
## Nästa våg (förslag)
1. **Bredda modellkatalogen** per klass: fler tillverkare per marknad (Ulefos/EJ-modeller, Valtir-räckessystem, Kempower/Alpitronic-laddare, Econolite-skåpfamiljer) — samma protokoll, samma format.
2. **Zoomer-bounties från OCR-fälten:** typskyltar, Service tag-QR, birthmarks, gjutmärken, hydrantgjutningar, site-ID — varje foto fältverifierar en post och tränar visionsmodellen.
3. **Tier 2-klasser:** kantsten, betäckningsram, nedstigningsbrunn, skyltstolpe, signalstolpe, fundament, mätarskåp.
Säg vilken så kör jag.
@@ -0,0 +1,49 @@
# Landvex IOL — Leveransrapport våg 3
## Tier 2 + bountyprogram + modellkatalog, 2026-07-04
## Vad som levererats
**1. Tier 2-taxonomin** (`lvx-taxonomi-tier2.json`) — 17 nya klasser med permanenta ID:n, plus **relationskartan** som mappar alla platshållartexter i Tier 1-posterna till riktiga ID:n. Grafen kan nu städas maskinellt: "Betäckningsram (Tier 2 — LVX-ID tilldelas)" → `LVX-VAT-0201`, och så vidare. Räckesterminal fick egen klass (`LVX-TRP-0210`) — terminalerna är egna produktfamiljer med egna krocktest.
**2. Zoomer-bountyprogrammet** (`lvx-zoomer-bountyprogram.md` + `lvx-zoomer-bounties-vag1.json`) — flyhjulet aktiverat. 16 konkreta bounties härledda ur klassposternas OCR-fält, med poängmodell, femstegsverifiering, hårda säkerhetsregler och integritetsskydd. SaaS-kopplingen är inbyggd: när en API-kund får "obekräftad" som svar skapas automatiskt en bounty — betalande efterfrågan styr fältarbetet.
**3. Nio nya produktmodeller** (`lvx-produktmodeller-vag3.json`) — biblioteket är nu uppe i **26 modeller**, alla källbelagda:
| Klass | Nytt i våg 3 |
|---|---|
| Betäckningar | Ulefos (grundat 1657 — fältexempel med gjutkod verifierat), EJ ERGO/ERGO XL |
| Vägräcken | MGS 31-tum (generiskt, MASH TL-3 — skarv mellan stolpar är signaturen) |
| Räckesterminaler | Valtir SoftStop (MASH TL-3, ny klass LVX-TRP-0210) |
| Signalskåp | Econolite Blue Series (NEMA TS 2) |
| Laddstationer | Kempower Satellite (distribuerad arkitektur), Alpitronic Hypercharger HYC-serien, Tesla Supercharger V3 → V4 |
## Grafen växer: nya kedjor och signaturer
* **Tesla V3 → V4:** ny tillverkarbekräftad generationskedja. V4 känns igen på kortläsare + display och dekalen 1000 V/615 A; "true V4" på det separata 1,2 MW-kabinettet.
* **Arkitektur som klassificerare:** smal stolpe + separat kraftenhet = distribuerat system (Kempower, HYC1000, Tesla true V4); bred monolit = all-in-one (HYC400). AI:n kan läsa laddplatsens topologi, inte bara stolpen.
* **MGS-signaturen:** balkskarv mitt emellan stolparna + 31-tumshöjd skiljer moderna räcken från äldre — synligt från trottoaren, inget OCR behövs.
## Status för biblioteket
| Skikt | Antal |
|---|---|
| Domäner | 9 |
| Objektklasser | 37 (20 Tier 1 källbelagda + 17 Tier 2) |
| Produktmodeller (LVX-P) | 26, alla källbelagda |
| Aktiva bounties | 16 (täcker 12 Tier 1-klasser) |
## Nästa våg (förslag)
1. **Datastädning:** kör relationskartan över alla poster, koppla ihop grafen.
2. **Tier 2-forskningsprotokoll:** kör de sju stegen på de 17 nya klasserna.
3. **Kunddemo/pilot-API:** klass → modell → status → ersättare med källa på varje led — paketet finns nu för att visa första betalande kunden.
Säg vilken så kör jag.
@@ -0,0 +1,51 @@
# Landvex IOL — Leveransrapport våg 4
## Grafen ihopkopplad + pilot-API-paketet, 2026-07-04
## Vad som levererats
**1. Datastädningen — körd på riktigt.** Konsolideringsscriptet (Python, i containern) läste samtliga vågars filer, arbetade in våg 2-uppdateringarna, mappade om relationerna enligt Tier 2-relationskartan och validerade varje post mot schemat.
Resultat:
| Mätpunkt | Utfall |
|---|---|
| Klassposter konsoliderade | 20 (6 våg 2-versioner inarbetade) |
| Produktmodeller | 26 |
| Relationer ommappade till Tier 2-ID | 14 |
| Grafkanter totalt | 115 |
| — upplösta LVX→LVX-kanter | 61 |
| — standardkanter (foljer_standard) | 46 |
| Olösta textnoder kvar | 7 |
| **Valideringsfel** | **0** |
De 7 kvarvarande textnoderna är äkta framtidsklasser: nättopologierna (access-, distributions-, mellanspänningsnät), vägbana/beläggning, teknikbod, vattenledningsnät samt fleet-referensen "CCS1-utrustade stationer". De ligger listade i graffilen och blir Tier 2/3-beslut.
**Filer:** `lvx-klassposter-master-v1.json` (ersätter de fem tidigare klasspostfilerna som arbetskopia) och `lvx-graf-kanter-v1.json` (hela grafen som kantlista).
**Ontologibeslut v1.1:** predikatet `tillhor_klass` (produktmodell → objektklass) infört för grafexporten.
**2. Pilot-API-paketet** (`lvx-pilot-api-spec.md`) — produkten ovanpå biblioteket. Sex endpoints, svarskontrakt där verifieringsnivå, konfidens och källor är obligatoriska, PLATSHÅLLARE-filtrering inbyggd i serialiseringen (juridiken sitter i kontraktet), feedback-endpoint som skapar bounties, och SaaS-paketeringen Pilot / Pro / Enterprise med prisprinciper.
**3. Golden demo-svar** (`lvx-api-demosvar.json`) — tre säljcase på riktiga poster:
* **Case 1:** ERS-armatur identifierad → *utgången, ersatt av ERL* — ersättningskedjan är svaret
* **Case 2:** hydrant åldersbestämd till 1998 direkt ur gjutgodset — OCR-guldet i praktiken
* **Case 3:** okänd modell → ärlig klasskandidat + automatiskt skapad bounty — flyhjulet synligt för kunden
## Vad detta betyder
Biblioteket är inte längre bara filer — det är en validerad graf med noll fel och ett säljbart kontrakt ovanpå. Pilotdemon kan hållas med materialet som ligger i outputs-mappen: spec + tre cases + grafen som bevis.
## Nästa våg (förslag)
1. **Tier 2-forskningsprotokollet** — kör de sju stegen på de 17 nya klasserna (störst datalyft).
2. **Pilotpitch-deck** — paketera våg 14 till presentation för första designpartnern.
3. **Tillverkarportalen v0** — spec för hur tillverkare verifierar sina egna modellposter (fjärde verifieringsnivån).
Säg vilken så kör jag.
@@ -0,0 +1,53 @@
# Landvex IOL — Leveransrapport våg 5
## Tier 2-forskningsprotokollet, 2026-07-04
## Vad som levererats
**Alla 17 Tier 2-klasser har nu fullständiga poster** enligt forskningsprotokollet — 6 nya webbverifierade standardspår plus återanvändning av tidigare vågors källor.
| Fil | Innehåll |
|---|---|
| `lvx-klassposter-tier2-trp.json` | 10 poster: skyltstolpe, signalstolpe/mastarm, fundament, styrnod, vägportal, kantsten, reflexstolpe, broräcke, bullerskydd, räckesterminal |
| `lvx-klassposter-tier2-ovriga.json` | 7 poster: betäckningsram, nedstigningsbrunn, dagvattenbrunn, ventilbetäckning, mätarskåp, kabelbrunn, parkbänk |
| `lvx-klassposter-master-v2.json` | Hela biblioteket konsoliderat — 37 klasser |
| `lvx-graf-kanter-v2.json` | Grafen v2 |
**Nya källbelagda standardspår (denna våg):**
* **EN 12767** (+A1:2024) — passiv säkerhet för stolpar och fundament, klasserna HE/LE/NE → skyltstolpe, fundament
* **EN 1340 / EN 1343** — betong- respektive naturstenskantsten (UK-väghållarkrav MCHW verifierat) → kantsten
* **EN 12899-3** — reflexstolpar och retroreflektorer, inkl. påkörningskrav och klasser som WL1/D1D3 → reflexstolpe
* **EN 14388 + EN 1793/1794** — bullerskyddens produktstandard, akustik (DLR/DLα) och mekanik → bullerskydd
* **ASTM C478 / AASHTO M199** — prefabbrunnsdelar (ringar, konor, justerringar) → nedstigningsbrunn; EN 1917 markerad "kartläggs"
* **ANSI/SCTE 77 + NEC 314.30** — kabelbrunnars tier-lastklassning (Tier 5/8/15/22 = designlast × 1000 lb, provlast +50 %) → kabelbrunn
## Bibliotekets tillstånd efter konsolidering v2
| Mätpunkt | v1 (våg 4) | **v2 (nu)** |
|---|---|---|
| Objektklasser | 20 | **37** |
| — källbelagda | 20 | **31** |
| — obekräftade | 0 | 6 |
| Produktmodeller | 26 | 26 |
| Grafkanter | 115 | **167** |
| — LVX-upplösta | 61 | **79** |
| — standardkanter | 46 | **74** |
| Valideringsfel | 0 | **0** |
De 6 obekräftade (signalstolpe, fundament, vägportal, dagvattenbrunn, ventilbetäckning, parkbänk) är ärligt markerade och blir nästa researchmål — flera väntar på AASHTO LTS- och EN 1917-källor.
**Olösta textnoder: 13.** Tier 2-relationerna pekade ut nya framtidsklasser (avstängningsventil, brokantbalk, dagvattennät m.fl.) — grafen talar nu själv om vad Tier 3 bör innehålla. Två varianter av "Vägbana/beläggning" ska slås ihop i nästa städning.
## Nästa våg (förslag)
1. **Pilotpitch-deck** — våg 15 paketerat som presentation för första designpartnern.
2. **Källbelägg de 6 obekräftade** + EN 1917 (litet, fokuserat researchpass).
3. **Tillverkarportalen v0** — spec för tillverkarbekräftad-nivån.
Säg vilken så kör jag.
@@ -0,0 +1,53 @@
# Landvex IOL — Leveransrapport våg 7
## Ingest-automationen byggd och körd, 2026-07-04
## Vad som levererats
**Datafabriken finns nu som körbar kod.** Kedjan Källor → Skördare → Källpaket → Extraktor → **Ingest** → Master/Graf/Bounties är byggd, dokumenterad och demonstrerad på en riktig batch.
| Fil | Roll |
|---|---|
| `ingest.py` | Pipelinens deterministiska kärna: entitetsupplösning, merge-policy, ID-mintning, validering, grafexport, bounty-generator |
| `lvx-ingest-spec.md` | Arkitektur, driftköer, kostnadsmått, miljönot |
| `lvx-extraktionsprompt.md` | LLM-kontraktet för extraktionssteget |
| `lvx-id-register.json` | ID-serier — pipelinen mintar, skriver tillbaka, återanvänder aldrig |
| `intag/kallpaket-vag7.json` + `intag/kandidatposter-vag7.json` | Demobatchen: skördarens referat och extraktorns patchar |
**Merge-policyn i korthet:** källor unionas på URL, standarder ersätts på normaliserad beteckning ("kartläggs" → skarp utgåva), tomma fält fylls men ifyllda skrivs aldrig över (konflikt ⇒ granskningskö), nivålyft endast uppåt och källbelagd kräver källor.
## Demokörningen — verkliga siffror
3 nya skördepass (AASHTO LTS, EN 1917, ASTM C913) + 1 korsreferens utan ny skörd:
| Mätpunkt | Utfall |
|---|---|
| Uppdaterade poster | 5 |
| Nya poster (ID mintat) | 1 — **LVX-P-0000027 EJ SELFLEVEL** (register → 28) |
| Nivålyft obekräftad → källbelagd | **4** (signalstolpe, fundament, vägportal, dagvattenbrunn) |
| Nya källor / standardposter | 9 / 9 (varav EN 1917 "kartläggs" ersatt av EN 1917:2002) |
| Konflikter / valideringsfel | **0 / 0** |
| Auto-genererade bounty-förslag | 17 (`lvx-bounty-kandidater-vag7.json`) |
**Biblioteket efter v3:** 37 klasser — **35 källbelagda**, 2 obekräftade (ventilbetäckning, parkbänk) · 27 modeller · 176 grafkanter (80 LVX-upplösta, 82 standardkanter).
Notera korsreferens-lyftet: fundamentklassen blev källbelagd med en redan skördad källa — noll ny skördkostnad. Det är exakt den sortens gratis-lyft produktionspipelinen ska hitta själv, och det syns direkt i kärnmåttet kostnad per verifierat faktum.
## Driftmodellen (SaaS-kopplingen)
Tre köer matar skördaren: schemalagd omkontroll, **kunddriven** (svaga API-svar och feedback skapar riktade skördejobb + bounties) och fältkön (godkända Zoomer-foton lyfter till fältverifierad). Betald efterfrågan styr var fabriken gräver — intäkten bär datakostnaden.
## Nästa våg (förslag)
1. **Fältflödet:** individposter (LVX-I) + foto-ingest-steget som sätter *fältverifierad* — sista pusselbiten i trappan.
2. **Skörda med automationen:** kör 23 nya batchar (t.ex. BYG-domänen eller fler modeller) genom exakt samma pipeline.
3. **Tillverkarportalen v0:** flödet som sätter *tillverkarbekräftad*.
Säg vilken så kör jag.