# Fase 4 — Baselinebenchmark ## Beslissing Het lokale evaluatieharnas is reproduceerbaar en groen. Een betrouwbare baseline van het actieve GeoIntel-productiemodel is in deze omgeving niet uitvoerbaar. De productbenchmark is `fail` door de bevestigde Phase-3-leakage; andere productgates blijven `not_evaluable` zonder governed bewijs. Er wordt daarom geen productie-accuracy-, België-brede of promotieclaim afgeleid. | Statusveld | Waarde | | --- | --- | | Benchmark-ID | `geointel-p4-reference-harness-v2` | | Lokale harnasstatus | `pass` | | Productbenchmark | `fail` | | Promotie toegestaan | `false` | | Phase 4 done | `false` | | Phase 5 ready | `false` | ## Referentie-implementatie als nulmeting De bestaande productiecode in `backend/app/services/qa_service.py` is via `scripts/run_golden_qa_benchmark.py` uitgevoerd op vier bevroren golden QA-scenario's. De dynamische service-UUID wordt niet meegenomen in de canonieke inhoudshash. | Golden scenario | Precision | Recall | F1 | Mean matched IoU | | --- | ---: | ---: | ---: | ---: | | Partial match | 0,50 | 0,50 | 0,50 | 0,8339768339652592 | | Perfect match | 1,00 | 1,00 | 1,00 | 1,00 | | No overlap | 0,00 | 0,00 | `null` | `null` | | Multipolygon match | 1,00 | 1,00 | 1,00 | 1,00 | De canonieke referentiehash is `aeb0f6510352f4e205e4fc4e8c423110ca72c2142016c7af846d758865f258c6`. Dit bewijst de rekenkundige regressiestabiliteit van de QA-service, niet de kwaliteit van een detector of segmentatiemodel. ## Multi-task evaluatorbaseline Negen synthetische, deterministische `test`/`background-test`-cases oefenen zeven evaluatorfamilies en 15 concrete capabilityrecords uit. De gecombineerde resultaathash is `55cdba9cce4dcdc88cee0829cd510d7e624a3472feb9d33f7e681621a792eba3`. De cases zijn bewust klein; hun scores testen formules, null-semantiek, raw-retentie, stratificatie en foutclassificatie, niet productkwaliteit. | Familie | Voornaamste fixture-uitkomst | Claimgrens | | --- | --- | --- | | Objectdetectie | P 0,667; R 1,000; F1 0,800; AP50 1,000; AP50–95 0,901 | formule-/harnastest | | Footprintsegmentatie | mean IoU 0,799; Dice 0,888; boundary F1 1,000 | formule-/harnastest | | Categorisch raster | accuracy 0,833; macro F1 0,822; mean IoU 0,722 | metriekcontract, geen geleerd rastermodel | | Vectorvergelijking | P/R/F1 0,500; mean matched IoU 1,000 | formule-/harnastest | | Change detection | globale P/R/F1 0,500; afzonderlijke added/removed metrics | eventclassificatie zichtbaar | | Terrein | MAE 0,275 m TAW; RMSE 0,287 m TAW; coverage 0,800 | eenheids-/coveragecontract | | Datavalidatie | P/R/F1 0,667; één critical miss | fail-closed anomaliecontract | Alle subgroepen hebben in deze kleine fixture onvoldoende statistische support. Hun `release_gate_status` is daarom `not_evaluable`, met de supportreden apart geregistreerd; geen gemiddelde kan dit omzetten in releasebewijs. De 95%-Wilsonintervallen zijn overeenkomstig breed. ## Ruwe voorspellingen en fouten De workflow bewaart exacte referenties, pre-/postfiltervoorspellingen, configuratie en lineage vóór iedere samenvatting. De failure gallery bevat 14 deterministische voorbeelden, waaronder FP/FN, boundary- en area-bias, rastermisclassificatie, calibratie en een gemiste critical-validatieafwijking. De failure-ID's zijn inhoudsgebonden en kunnen in regressietests worden hergebruikt. Relevante evidence: - `baseline-raw-predictions.json` — exacte raw referenties, pre-/postfilteroutputs, config en lineage; - `metric-report.json` — taak- en subgroepmetingen met support en intervallen; - `failure-gallery.json` — machineleesbare fouttaxonomie en voorbeelden; - `reference-implementation-baseline.json` — werkelijke QA-service-uitvoering; - `benchmark-manifest.json` — alle input-, split-, code- en evaluatoridentiteiten. De canonieke benchmarkmanifesthash is `0ea5ab07f46c509a7a24943b31d5e9bfd6368920609227bc47613e18e52c4642`; de exacte bestandshash is `868dd7eb2dfa8344e417879ed3f5dd7c7d9e5673add7e3e2294c5cbde4b75d57`. Evidence-run `p4-2.0.1-9677d0ef37db82bcf39b` bindt uitvoerbare codecommit `70fb4b94e5cb7c248beec5a936ce186f38cc183c`. De evidence-manifestbestandshash is `fdc15a95ee2a0754dfa169f4b41036e084b8d8909afc37fd8ea68ee6b9210f98`; de release-gatereportbestandshash is `e5f1c9c43c8da22acfa5486e641c010a278431f90634f91335b039ab7bdb50a4`. Deze hashes bewijzen reproduceerbaarheid en integriteit, niet productaccuracy. ## Waarom de productbaseline niet uitvoerbaar is De productgates zijn bewijsgebonden en kunnen niet vanuit losse statusvelden groen worden gemaakt: 1. de actieve modelconfiguratie verwijst naar `/app/models/...pt`, die lokaal niet als bestand beschikbaar is; 2. er is geen governed productmanifest met in-process herberekende raw evidence voor alle zeven taakfamilies en een actueel CUDA/GPU-receipt; 3. een volledige GRB/PICC/UrbIS/DHMV/SPW/MDK-taak-/zoneportfolio ontbreekt; 4. een checksumgebonden reviewledger ontbreekt; historisch staat V56 op 0/180; 5. een productgebonden geometrische leakage-audit ontbreekt; historisch zijn er 24 cross-splitparen onder 2 km; 6. de Phase-3-leakagestatus is bevestigd `attention` en dus `fail`; 7. vaultisolatie met hash-chained accesslog is niet bewezen; 8. representatieve support over alle 13 vereiste subgroupdimensies ontbreekt. Door de fail-first aggregatie maakt de bevestigde Phase-3-leakage de huidige productbenchmark `fail`; ontbrekende productartefacten blijven afzonderlijk `not_evaluable`. Geen van beide toestanden laat promotie toe. Daarnaast waren Tower-corpora, gemounte modelvolumes en de productie-PostGIS/API in Phase 3 expliciet onbereikbaar. Het harnas verzint daarvoor geen vervangende ground truth en gebruikt OSM niet automatisch als gezagsbron voor gebouwen. ## Betekenis voor volgende training Test- en challenge-data mogen niet worden geopend voor training, thresholdselectie, modelselectie of iteratieve foutcorrectie. Eerst moeten de representatieve review, nieuwe onafhankelijke splits, lokale gezagsdata, protected vault en een checksumbare incumbent-run beschikbaar zijn. Daarna worden modelkeuzes op `val` en operating points op `calibration` vooraf vastgelegd; pas vervolgens mag één immutable kandidaat de protected test en background-test doorlopen. Challenge-labels blijven sealed.