Files
geointel/docs/accuracy-program/11-baseline-benchmark.md
T
Jens f41392a415
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s
docs(accuracy): publish phase 4 benchmark evidence
2026-08-02 05:10:05 +02:00

125 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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; AP5095 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.