86 KiB
GeoIntel TODO
Publieke repository (2026-08-31)
- Integreer de actuele release-hygiënetak vanaf
origin/mainzonder de private Tower-handoff of ongerelateerde DockDeck/Stitch-geschiedenis. - Verwijder lokale databases, Codex-input, browserlogs en lokale MCP-config uit de getrackte publicatieboom en borg dit in de releasegate.
- Maak de verpakte authenticatie-, HTTPS-, gast- en checkpointdefaults fail-closed.
- Voeg Apache-2.0 als rootlicentie toe, inclusief expliciete projectattributie in de README.
- Kies na eigenaarstoestemming voor een nieuwe schone rootgeschiedenis op dezelfde Gitea-repository, met een lokale herstelbundle van de oude refs.
- Publiceer de schone rootcommit als enige remote
mainen verwijder alle overige remote branches en tags die de oude historie bereikbaar houden.
Accuracy-remediatie (2026-08-30)
- Herhaal de lokale Phase-3-scan deterministisch: scan
p3-eb67185e61107cc7onderzocht 1013 bestanden, sloeg er nul over en registreerde drie externe productiegrenzen expliciet; content-hashf4ea193d2bdd96a5b391cf7d9d93685cc58e98742c40e4513bcbc434907e720a. - Inventariseer de drie gedeclareerde Tower-/productiegrenzen gecontroleerd en reconcileer servervolumes en productie-PostGIS; de lokale scan is geen totale productie-inventaris.
- Leg de onafhankelijke AI-visuele hercontrole vast met
human_reviewer=false; corpusacceptatie, training en promotie blijven geblokkeerd. - Laat modelactivatie fail-closed vereisen dat candidate key, model-SHA-256 en benchmarkmanifest-SHA-256 exact overeenkomen met een geslaagd governed Phase-4/5 release-gaterapport.
- Herstel de vastgestelde labelsemantiek, dense/nested conflicten, tile-edge-regels en regionale hard-negative dekking; verkrijg daarna representatieve menselijke acceptatie vóór een volgende governed training.
CI-onderhoud (2026-08-29)
- Vervang de Gitea-incompatibele TruffleHog-actionwrapper.
- Pin de gepatchte Nano ID-transitive in de frontendlock.
- Maak de Syft-bron expliciet als lokaal Docker-image.
- Bevestig de drie releasejobs op Gitea.
Tweeschermwerkruimte (2026-08-21)
- Voeg een gesynchroniseerde analyseconsole voor een tweede beeldscherm toe.
- Verplaats dezelfde React-resultaatstate zonder dubbele API-calls of runs.
- Onthoud vensterpositie en herstel veilig naar de éénschermlade.
- Voorzie popupfoutmelding, toetsenbordlabels en operator-/demopariteit.
V74 authority-first gebouwresultaten (2026-08-10)
- Voer een V72-foutanalyse, hard-negative proposal-filter en rehearsal training uit; wijs alle regresserende kandidaten af en behoud het actieve checkpoint.
- Laad na gebouwdetectie automatisch het bewaarde GRB-QA-bewijs en splits de kaartuitvoer in GRB-bevestigd, AI-only en door AI gemist.
- Laat een onafhankelijke menselijke reviewer de bevroren contact sheets en labels ondertekenen voordat een kandidaat ooit promoveerbaar wordt.
PyTorch-modelprogramma
Uitvoeringsbord: docs/PYTORCH_TRAINING_ROADMAP_BELGIUM.md.
- Scheid trainbare beeldtaken van deterministische GIS-analyses.
- Generaliseer de single-class tile-export op klasse, referentiebron en referentielaag.
- Laat productietraining fail-closed stoppen wanneer vereiste CUDA ontbreekt.
- Materialiseer geografisch gescheiden GRB/PICC/URBIS-gebouwcorpora met temporeel passende orthofoto's.
- Verwerp de drie V64 Vlaamse kalibratiekandidaten fail-closed na gereproduceerde ruwe en SAM2-contact-sheets; verscherp de geometrische SAM2-gates.
- Scheid GRB-hoofdgebouwen bron-native van bijgebouwen en bewijs dat ook de hoofdgebouw/SAM-dropvariant de visuele gate nog niet haalt.
- Lever onafhankelijke Vlaamse kalibratie-AOI's met aantoonbaar beeldzichtbare daklabels vóór een volgende training.
- Provision en audit onafhankelijke V66-laagbouwkandidaten in Zutendaal, Zoersel en Landen; verwerp alle automatische labelvarianten na visuele QA.
- Laat beeldzichtbare Vlaamse dakboxen onafhankelijk annoteren/reviewen en freeze hun checksums.
- Train en evalueer een Belgische gebouwchallenger onafhankelijk; promoveer alleen zonder achtergrondregressie.
- Houd zonnepanelen en segmentatie
not_configuredtot gereviewde taaklabels en hold-outs bestaan.
Accuracy-programma — fase 4
Normatieve protocollen: docs/accuracy-program/10-evaluation-protocol.md,
11-baseline-benchmark.md en 12-release-gates.md.
- Inventariseer 15 geïmplementeerde capabilities in zeven afzonderlijke evaluatorfamilies zonder deterministische GIS als geleerd model voor te stellen.
- Implementeer taakgebonden metrics, raw prediction-retentie, betrouwbaarheidsintervallen, subgroepsupport en een machineleesbare failure-taxonomie.
- Genereer zes code-owned splitrollen (
train,val,calibration,test,background-test, sealedchallenge) met exacte, near-duplicate-, identiteit-, tijd- en 2-km-leakagegates. - Bescherm test/background-test/challenge tegen training, thresholdselectie, modelselectie, gewijzigde bytes en onbewezen provenance.
- Voer de bestaande
QaServiceals referentienulmeting uit en leg alle Phase-4-evidence content-addressed en immutable vast. - Maak statusboekhouding zelfreferentievrij: alleen de actieve-modelprojectie beïnvloedt de benchmarkfingerprint; productgates vereisen governed evidence.
- Los de bevestigde Phase-3-leakagebevinding op en freeze nieuwe onafhankelijke product-splits zonder cross-splitparen onder 2 km.
- Lever één governed zeven-taken productbaseline met actuele modelbytes, CUDA/GPU-receipt, authorityportfolio en in-process herberekende raw metrics.
- Lever checksumgebonden menselijke review, fysieke protected vault en representatieve support voor alle 13 kritieke subgroepdimensies.
- Markeer fase 4 pas
doneen fase 5 pasreadywanneer alle productgates in dezelfde workflowpasszijn; huidige status is localpass, productfail.
Actieve post-RC datadekkingsfase
Professionaliseringspass (2026-07-27):
-
Voeg een expliciete gastknop toe aan de toegangspoort en open daarmee een korte, projectgebonden demowerkruimte.
-
Geef de demo dezelfde kaart-, bron-, assistent-, model-, analyse-, QA- en downloadfuncties als de operator, maar blokkeer beheer, instellingen, uploads, reviews en toegang tot andere projecten ook server-side.
-
Herwerk de landingspagina, aanmeldhiërarchie, mobiele navigatie en workbenchcontext tot één rustigere en professionelere productervaring.
-
Consolideer na visuele regressiesnapshots de vier historische workbench-stijllagen (
app,premium,atlas-workbench,atlas-premium-v2) tot een kleiner gelaagd stijlsysteem. -
Ontwerp alleen bij een toekomstige publieke multi-projectinstallatie een volwaardig account-, autorisatie- en tenantisolatiemodel; gastmodus is daar uitdrukkelijk geen vervanging voor.
-
Voeg een interactieve, data-gedreven projectatlas toe aan de statuswerkruimte met toegankelijke navigatie, echte readiness-toestanden en reduced-motion ondersteuning.
-
Geef alle primaire werkruimtes een eigen geanimeerde signaalillustratie, verbeter lege toestanden en verwijder de dubbele kaartfoutmelding bij sessieverval.
-
Implementeer de aangeleverde Stitch-landingspagina als echte React- toegangspoort en bescherm de workbench met één veilig geconfigureerd operatoraccount, sessieverval, uitloggen en zichtbare foutstatussen. Dit is geen multi-user- of tenantbeheersysteem.
docs/POST_RC_DATA_COVERAGE_ROADMAP_BELGIUM_NORTH_SEA.md was het autonome
uitvoeringsbord na v1.0.0-rc.1 en is nu afgesloten voor v1.0.0. Dit is geen
RC-12. De definitieve release blijft immutable bewijs; verdere databronnen
zijn post-V1 uitbreidingen.
- P0: bestaande NGI/RBINS-lagen als kaartthema en selectieanalyse ontsluiten.
- P0: readiness baseren op bruikbare analysethema's, niet alleen datasetaantal.
- P1: nationale Statbel-populatieflow veilig operationaliseren.
- P2: bounded SPW PICC voor Waalse gebouwen, wegen en hydrographie.
- P3: bounded UrbIS voor Brusselse gebouwen en percelen.
- P4: maritieme thema's harden en bathymetrie fail-closed onderzoeken.
- P5: zonefederatie, UX, golden journeys en immutable deployment.
Actief RC-programma: Belgie en de Belgische Noordzee
docs/RC_ROADMAP_BELGIUM_NORTH_SEA.md is vanaf 2026-07-17 het enige actieve
releasebord. Mol en de Kempen blijven regressiereferenties, maar de
productscope is nu heel Belgie plus de juridisch correct gelabelde Belgische
maritieme zones.
- RC-0: Belgische en maritieme scopefreeze vastleggen.
- RC-0: autonome roadmap zonder afzonderlijke RC-12 vastleggen.
- RC-0: deterministisch release-evidence manifest implementeren en draaien.
- RC-1: actuele productiebackup, verificatie en geisoleerde restore bewijzen.
- RC-2: liveness/readiness/capabilities fail-closed en waarheidsgetrouw maken.
- RC-2: verweesde jobs en analysis runs na een procesherstart verzoenen.
- RC-3: expliciete rasterkeuze en temporeel compatibele detectie-QA afdwingen.
- RC-4: aparte nationale bron- en dekkingscontracten implementeren zonder het vaste Sprint 7-providerregister te wijzigen.
- RC-4: expliciete NGI/RBINS-operator en selectiegebonden coverage-API implementeren en lokaal valideren.
- RC-4: Tower fetch-only, canonieke persistence en live browseracceptatie bewijzen.
- RC-4: nationale basisdekking en expliciete coverage-contracten voor Wallonie, Brussel en de Belgische Noordzee via golden areas operationaliseren.
- RC-5: secrets/configuratie/uploadlimieten/immutable deploy en rollback bewijzen.
- RC-6: volledige CI, dependency-audit, containerscan en SBOM toevoegen.
- RC-7: kritieke API-routes concrete responsemodellen geven.
- RC-8: echte frontend- en browser-E2E-releaseflows toevoegen.
- RC-9: loading, toegankelijkheid, widescreen/mobile en performance afronden.
- RC-10: dataretentie, diskdruk en veilige cleanup operationaliseren.
- RC-11: fresh install, upgrade, rollback, releasepakket, tag en live acceptatie afronden.
Een aparte RC-12/soakfase wordt niet uitgevoerd. De relevante fresh-install-, upgrade-, rollback- en runtimebewijzen zijn verplicht opgenomen in RC-5 en RC-11.
Actuele V1-productstatus
Dit is het enige actuele afwerkingsbord. De lange sprint- en voorbereidingslijsten verderop blijven bewaard als historisch bewijs, maar zijn geen open productroadmap meer.
- Open onvoorwaardelijk de nationale
Belgium and North Sea Workbenchwanneer die bestaat en start de kaart op Belgische schaal. Mol en de Kempen blijven alleen snel selecteerbare regressiegebieden. - Maak UrbIS Land Cover begrensd operationeel voor Brussel: alle Blocks als landbedekking, FO/GB als bos en park en WB als permanent water, met echte PostGIS-oppervlaktemetrics en broncodes.
- Implementeer begrensde WALOUS 2018/2020/2023 rasteracquisitie in EPSG:3812
met officiële klassen, een expliciete 2018-klassecrosswalk, vergelijkbaarheidscontract,
pixelbudget, automatische tijdreeksmaterialisatie en evolutiemetrics. De vaste
officiële 2018-GeoTIFF-distributie is live checksum-gevalideerd; bronwaarde
0wordt expliciet als achtergrond/nodata behandeld. - Rond de live provisioning van het officiële SPW MNT 2021-2022 op 1 m in de operatorcache af en bied begrensde terreinacquisitie/analyse in DNG aan. Het bronraster en de checksum-sidecar zijn gevalideerd en het downloadarchief is na veilige extractie verwijderd. De 0,5 m-distributie blijft buiten V1 omdat zij geen noodzakelijke analysecapaciteit toevoegt tegenover de gevalideerde 1 m-bron en officieel als circa 198 GB download wordt aangeboden, exclusief extra werkruimte tijdens extractie.
- Implementeer de actuele Waalse overstromingsgevaarkaart als afzonderlijk scenario-/juridisch contract; gebruik WMS alleen als context tenzij analytische pixels of vectorgeometrie officieel beschikbaar zijn.
- Bouw een Belgische AI-validatiematrix met gelabelde golden AOIs in elk gewest en aan de kust. Tot die matrix slaagt blijft de huidige YOLO-status expliciet lokaal gevalideerd en controleplichtig.
- Kies een begrijpbaar datathema, teken een rechthoek of gebruik het volledige werkgebied en analyseer alle relevante thema's uit PostGIS. Een getekende selectie mag ontbrekende operationele bronproducten begrensd en met maximaal drie gelijktijdige aanvragen materialiseren; niet-toepasselijke of niet-operationele regionale thema's worden niet als ontbrekende meting gepresenteerd.
- Gebruik voor getekende en handmatig ingevoerde rechthoeken overal
bbox ∩ Area; een bbox rond het volledige werkgebied resolveert naar de exacte persistente Area-geometrie en activeert pas dan de full-Area fast path. - Toon betekenisvolle eenheden en metrieklabels voor oppervlakte, lengte, inwoners, hoogte, scenario's en stationsmetingen; objectaantallen zijn ondersteunend.
- Vergelijk beschikbare historische meetmomenten met een volledige tijdreeks, absolute wijziging, procentuele wijziging en bronbeperking.
- Download vectorresultaten als GeoJSON, rasteranalyses als JSON en historische vergelijkingen als JSON; kopieren blijft voor alle drie mogelijk.
- Ga vanuit een afgeronde analyse rechtstreeks naar de lokale brongebonden Ollama-assistent of naar Downloads en keer terug zonder het zichtbare kaartresultaat of de evolutievergelijking te verliezen.
- Herbereken en bewaar het actieve vector-, raster- of evolutieresultaat server-side voordat Downloads wordt geopend, met traceerbare selectie- en bronmetadata.
- Haal de canonieke regionale werkruimte exact op naam op zodat groei van operator- en benchmarkprojecten de standaard kaartcontext niet kan verdringen.
- Gebruik de operationele lokale YOLO/PyTorch-keten alleen met persisted detecties, GRB-QA en expliciete controlewaarschuwingen.
- Toon in de beeldanalyse alleen operationele luchtbeeldrasters en geen hoogte-, overstromings- of thematische beleidsrasters.
- Draai de volledige applicatie in de beheersbare Unraid-container op poort 1202 met PostGIS, backend, frontend, Ollama-koppeling en modelconfiguratie.
- Archiveer allowlisted benchmark-, kalibratie- en rooktestwerkruimtes om de actieve projectlijst beheersbaar te houden, zonder gegevens of resultaten te verwijderen.
- Verberg technische identifiers, modeldetails en interne statussen achter expliciete technische details en gebruik uniforme Nederlandse taaktaal in kaart-, kwaliteits-, detectie- en segmentatiewerkstromen.
- Begrens de grootste frontendverantwoordelijkheden met afzonderlijke overzichts-, modelbeheer- en kaarthelpermodules zonder gedrag te wijzigen.
- Maak de vijf bestaande officiële beleidsrasters veilig op aanvraag beschikbaar voor elke begrensde selectie in Vlaanderen, met Dataset-cache, semantische metrics en zonder 1.425 vooraf geladen rasters.
- Maak de volledige selectieanalyse in Vlaanderen operationeel voor NGI, Statbel, GRB, beleidsrasters, DHMV, overstromingsgevaar, BWK, DOV en VHA: één rechthoek materialiseert ontbrekende officiële bronproducten, leest persistente vector/rastergegevens uit en rapporteert inhoudelijke eenheden.
- Vervang de gegroeide dashboardpresentatie door de Stitch-gestuurde Atlas Workbench met een compacte navigatierail, vaste contextbalk, taakgerichte schermen en gevalideerde desktop-, ultrawide- en mobiele layouts.
Post-V1 afwerkingspass (2026-07-19):
- Lokale YOLO-seg- en SAM-segmentatie via de ultralytics-interface: echte
adapters, dynamisch modelregister, tegelmanifest-inferentie, georeferentie
van maskpolygonen, dedupe, geodetische oppervlakte en persistentie. Blijft
fail-closed zonder lokale modelgewichten (
YOLO_SEG_*/SAM_*env). - Begrensde MDK-bathymetrie-acquisitie (WCS GetCoverage) achter de
bestaande strict-TLS readiness-probe: expliciete opt-in, geadverteerd
coverage-id verplicht, bbox-limiet, GeoTIFF-validatie, LAT-provenance.
Endpoint:
POST /datasets/bathymetry/mdk/acquire. - UrbIS-wegassen (
urbisvector:StreetAxes, live gevalideerd tegen de UrbIS WFS-capabilities) als begrensd Brussels roads-product met lengte-metrics; de WFS adverteert geen hydrografielaag, dus Brussels oppervlaktewater blijft eerlijknot_configured.
Bewuste, niet-blokkerende grenzen:
- De begrensde SPW-rasterflow maakt Waalse waterbodemhoogte in mDNG analyseerbaar. Watervolume blijft niet beschikbaar zolang geen compatibele wateroppervlaktehoogte, tijdskoppeling, datumtransformatie en onzekerheidsmodel bestaan. Dit is geospatiale correctheid, geen onafgewerkte UI.
- Gebouwdetectie is operationeel maar blijft een controlekandidaat; verdere training gebeurt pas na nieuwe, onafhankelijke reviewdata.
- Een echt SAM/YOLO-seg-model en een trainingsstudio blijven post-V1. De persistente segmentatie- en QA-fundering blijft beschikbaar voor later.
Map-first Mol explorer
- Make the Mol geographic explorer the default workflow.
- Add drag rectangle selection with automatic persisted theme queries.
- Separate exact bbox intersection totals from the bounded map preview.
- Add official Mol GRB roads, water and parcels provisioning support.
- Select, validate and provision official Statbel 2021-2025 population/statistical-sector snapshots for Mol.
- Select, validate and provision official Departement Omgeving 2013-2025 forest snapshots from the 10 m land-use map.
- Define and provision the official 28-municipality Vervoerregio Kempen as the explicit operational regional scope.
- Partition and provision the complete current GRB building theme for all 28 Kempen transport-region municipalities, with resumable source artifacts and one queryable regional PostGIS dataset.
- Provision the remaining regional GRB context themes in bounded partitions: roads, water and parcels.
- Make the complete regional workspace the automatic data context and use municipality/full-region Areas as one spatial filter instead of requiring a region dropdown.
- Reduce end-user noise by moving technical projects, source metadata, QA evidence, provider internals and model diagnostics behind explicit advanced disclosures.
- Default Detection Lab to the configured local YOLO asset and present measured model quality and control requirements honestly.
- Extend official population and land-use time series from Mol to the approved 28-municipality regional scope.
- Make Evolution automatically open an available regional series and distinguish historical themes from current-only snapshots.
- Replace object-count-only map results with semantic PostGIS metrics for hectares, kilometres and inhabitants while retaining counts as supporting evidence.
- Show complete comparable observation timelines and all compatible semantic metric deltas for exact persisted Areas.
- Expand the modern 2013-2025 land-use operator with water, built-function and transport surfaces from the retained official raster.
- Add a source inventory that separates loaded data from audited official follow-up sources.
- Add a local Ollama question window grounded in persisted GeoIntel metrics and installed server models.
- Add a governed bounded SPW bed-elevation source with explicit mDNG and survey-period semantics; never infer depth or volume from 2D water geometry.
- Add a compatible water-surface, time, vertical-datum and uncertainty contract before exposing water volume.
- Integrate governed Waterinfo/VMM annual station series without presenting point measurements as area-wide water volume.
- Add bounded historical orthophoto acquisition for official 1971-2025 products with a map overlay and no current-GRB QA on old imagery.
- Add BWK/Natura 2000 through an explicit provider/operator contract.
- Expand BWK/Natura 2000 state 2025 from Mol to all 28 approved Kempen municipalities with partitioned source evidence.
- Add a regional VMM flood-hazard operator that provisions official scenario rasters per municipality Area through the canonical API.
- Add annual agricultural-use parcels through an explicit provider/operator contract.
- Extend the official 1778/1873/1969 historical buildings, water and roads series from Mol to the approved regional scope with partitioned source audits.
- Connect a drawn rectangle to bounded official orthophoto acquisition, local configured-YOLO detection and persisted GRB QA.
- Add governed official space-occupation, open-space, population-density, accessibility and service-level rasters with semantic map metrics.
- Add the DOV digital soil map for Mol with exact clipping, source attributes and historical survey limitations.
- Execute the governed thematic-raster operator for every persisted Kempen municipality after the Mol live gate passes.
- Persist one bounded whole-region snapshot per thematic raster so drawn selections can cross municipality boundaries without changing source semantics.
- Generalize the DOV soil-map operator to all 28 approved Kempen municipality partitions with one regional snapshot manifest.
- Add a resumable regional DHMV DTM/DSM operator for all 28 approved Kempen municipality Areas.
- Execute and audit the complete 336-product VMM and 56-product DHMV regional runtime matrices.
- Present municipal DHMV/VMM partitions as logical regional layers and analyse cross-boundary rectangles without a municipality prerequisite.
- Add a read-only source freshness/version audit with explicit publication policies, local integrity checks, operator CLI and compact Status workspace surface.
- Add explicit bounded GRB/orthophoto catalogue release probes using official capabilities and ISO metadata; keep every acquisition separate and operator-controlled.
- Add a governed regional GRB plan -> stage -> checksum-confirmed apply workflow that preserves every previous snapshot.
- Add a fail-closed ALZ publication probe that distinguishes provisional v1/v2 snapshots from the definitive v3 historical edition and never downloads an archive.
- Add a fail-closed Statbel DCAT publication probe that distinguishes population year, sector-geometry year and the 2025 REDEGEO transition without downloading distributions.
- Add a fail-closed Statbel population import preflight with archive/schema/CRS/join/total/baseline checks, retained checksums and explicit ZZZZ accounting before any new Dataset import.
- Add an explicit Statbel population plan -> stage -> named review -> checksum-confirmed apply workflow that preserves every prior annual snapshot.
- Add an explicit definitive ALZ plan -> stage -> named review -> checksum-confirmed apply workflow while keeping v1/v2 campaign snapshots non-importable.
- Extend catalogue probes only to additional sources that publish a stable official edition contract; do not add background polling or infer releases from HTTP dates alone.
Governed source expansion backlog
Implement these in order. Every source must use an explicit operator/provider contract, retain raw checksummed evidence, persist through DatasetService and pass live Mol validation before regional expansion.
P1 - Biologische Waarderingskaart / Natura 2000
- Confirm the official downloadable service/layer/version and licence for the 2025 state.
- Define stable habitat/biotope/value fields and keep BWK valuation separate from Natura 2000 habitat classification.
- Clip in EPSG:31370 to Mol, transform to EPSG:4326 and persist valid polygonal
vector_featureswith source feature ids. - Add hectare metrics per governed class plus unknown/unmapped-class diagnostics; do not invent an annual trend from one state.
- Add source manifest, unit tests, live row/count/geometry audit and map/source-inventory presentation.
P2 - Annual agricultural-use parcels
- Inventory official annual editions and document schema/code-list changes before selecting a comparable year range.
- Retain annual source files and crop code lists; normalize only fields whose meaning is stable across editions.
- Persist separate annual Datasets with hectares by crop/use class and an explicit unstable-parcel-identity limitation.
- Compare area/category totals over time; do not claim parcel lineage where identifiers or boundaries changed.
- Validate Mol first, then partition all 28 Kempen municipalities with completeness/checksum manifests.
P3 - Buildings and Addresses Register
- Define a governed snapshot operator and relation mapping between building unit, building object, address and GRB geometry.
- Keep register lifecycle/status semantics separate from GRB footprint geometry and document match confidence/unmatched rows.
- Add current building-status/address metrics without exposing personal data or treating addresses as households/population.
- Add Mol reconciliation tests and a live mismatch report before regional import.
P4 - Digitaal Hoogtemodel Vlaanderen
- Select official DTM/DSM product, service and native resolution; retain acquisition date and vertical reference.
- Add bounded raster acquisition/clip storage with nodata, CRS, resolution and checksum validation.
- Implement governed elevation, relief and slope statistics in metres/degrees; keep drainage interpretation explicitly derived.
- Do not label terrain/surface height as water depth and do not enable volume from DHMV alone.
P5 - Water depth / bathymetry
- Audit authoritative sources: no public municipality-wide inland bathymetry for Mol was identified; keep permanent waterbody volume unavailable.
- Integrate the separate public VMM fluvial/pluvial flood-hazard depth scenarios without presenting them as bathymetry or current water state.
- Persist scenario identity, source centimetres, normalized metres, WCS checksums, exact Area clipping and positive-depth coverage.
- Expose mapped inundation area, depth statistics and a clearly named maximum-depth area integral with a prohibition on calling it concurrent volume.
- Extend the VMM scenario workflow to the approved regional scope using 28 municipality partitions instead of one unsafe monolithic raster.
- Define waterbody linkage, surface elevation, bottom elevation and uncertainty propagation before adding any volume metric.
- Validate coverage gaps and prohibit extrapolation outside measured/profiled waterbodies.
- Add independent GIS review and golden-volume fixtures before exposing the result to users or Ollama.
This file now starts with the current implementation status. Older preparation/backlog sections are preserved below as historical planning context and should not be treated as the live sprint board without checking docs/CODEX_EXECUTION_LOG.md.
Release hardening status
- Remove Python
datetime.utcnow()deprecation warnings from backend service paths. - Split frontend production build into app, React vendor and MapLibre vendor chunks.
- Enforce Python deprecation warnings as release-readiness failures.
- Fix Docker backend package install order and remove mandatory root
.envdependency. - Add Docker build context ignores for backend and frontend.
- Run Docker/PostGIS live validation on Tower/Unraid.
- Add Unraid Compose template assets with editable ports, storage path and app icon.
- Add single-container Unraid runtime with embedded PostGIS, backend and frontend.
- Remove embedded PostGIS password defaults from all-in-one Docker image metadata.
- Report reused-volume PostgreSQL collation mismatches in live migration smoke.
- Execute Tower PostgreSQL collation reindex/refresh after backup.
Current implementation status
- Make Mol the primary workbench, AOI and operator-sample context while preserving broader Kempen coverage.
- Add a Mol multi-zone operational pack with independent positive holdouts, background control and persisted map-ready AOIs.
- Execute the Mol pack on live Tower/PostGIS with real orthophotos, GRB references, configured YOLO, persisted QA/QC and a zero-building background control.
- Persist and stream the complete official Mol municipality boundary plus all 36,941 clipped GRB buildings through the Map workspace.
- Run a bounded Mol-center raster, tile, configured-YOLO, persisted detection, GRB QA and export workflow on live Tower/PostGIS.
- Separate persisted database layers from available analysis-result overlays with an explicit Map content mode.
- Persist combined Mol operator evidence under the Unraid storage mount so reports survive all-in-one container replacement.
- Visually review Mol Postel and Donk false-positive/false-negative evidence, classify the dominant error modes and only then decide whether another model-training pass is justified.
- Clip detection QA populations to persisted raster/tile coverage and add box-to-footprint matching diagnostics before reconsidering model training.
- Add a coverage-aware Mol multi-zone benchmark report with explicit positive-zone, per-zone collapse, reference-coverage and pure-empty background gates.
- Execute the refreshed coverage-aware Mol operational benchmark against the active local model and record the resulting retain/review decision.
- Align map-driven building QA with footprint IoU
0.25and show measured candidate/match/error metrics instead of calling every detection a building. - Persist paginated false-positive/false-negative operator decisions and expose them in the Quality workspace.
- Bound QA evidence resolution to persisted evidence ids instead of loading complete regional reference datasets.
- Compare confidence
0.10and0.15over independent Mol holdouts; retain0.15because it wins F1 in every positive zone while both pass the empty-background control. - Complete conservative decisions for the generated 48 false-negative and 48 false-positive review cards, validate both roles fail-closed and retain only 15 confirmed model errors.
- Audit the confirmed review evidence against the active corpus and holdouts; reject retraining because it provides zero novel leakage-free labels.
- Backend FastAPI foundation, health endpoint and service structure.
- React/TypeScript frontend foundation and MapLibre workbench.
- Map layer visibility, opacity and feature property inspection.
- Selected project area/AOI map overlay with visibility and opacity controls.
- SQLAlchemy/PostGIS ORM models and Alembic migration chain through Sprint 9.
- Dataset upload, storage metadata and vector feature persistence.
- Raster metadata and raster operation service boundaries.
- Vector operation service boundaries and fixture-backed tests.
- Provider registry skeleton for GRB, OSM, manual and fixture providers.
- Detection Lab foundation, persistence, GeoJSON output and QA integration.
- Configured-YOLO optional dependency strategy and local preflight.
- Segmentation Lab foundation, persistence, GeoJSON output and QA integration.
- QA/QC golden benchmark fixtures and script.
- Run QA/QC golden benchmark from the main readiness gate.
- Verify browser-facing demo QA/QC metrics against the golden baseline.
- Explicit offline demo workflow seed for project, AOI, fixture datasets and persisted QA metrics.
- Project-scoped QA/QC result listing and frontend QA/QC Results panel.
- Persisted export foundation for vector/detection/segmentation GeoJSON and project metadata JSON.
- Lightweight HTML project report artifact export.
- V1 readiness handoff summary in project metadata/report exports.
- Browser-facing demo/export workflow smoke script with connected V1 state checks.
- Compact V1 workbench status strip for project, AOI, datasets, map, QA/QC and exports.
- Dry-run-first demo export artifact cleanup tooling.
- Browser-facing default workbench state smoke for the offline demo project.
- Browser-facing workbench interaction backing-state smoke and stable UI test anchors.
- Backend API contract audit comparing implemented FastAPI routes with
docs/API_CONTRACTS.md. - Live Docker/PostGIS validation on Tower/Unraid.
- Real YOLO compatibility smoke with optional AI extras and local model file.
- Detection and segmentation workflow hook extraction beyond Sprint 10.
- Export and QA/QC workflow hook extraction beyond Sprint 10.
- Dataset, raster and vector workflow hook extraction beyond Sprint 10.
- Dataset detail, raster controls and vector controls component decomposition.
- QA/QC results and map workspace component decomposition.
- Docker Compose port/storage/database configuration via
.envdefaults for Unraid. - Single-container
geointelUnraid compose/template runtime. - Export preview component decomposition and HTML report download-only UX hardening.
- Provider, change-detection and map-workspace orchestration hook decomposition.
- Project/area/dataset cross-load orchestration hook decomposition.
- Demo workflow orchestration hook decomposition.
- Final
App.tsximport/encoding cleanup and size audit. - Optional final bootstrap-effect extraction.
- Decide next V1 stabilization focus: golden dataset expansion or frontend visual polish backlog.
- Expand golden QA/QC benchmark coverage across partial, perfect, no-overlap and MultiPolygon scenarios.
- Improve workbench shell visual polish, mobile navigation density and AI result readability.
- Improve Map workspace layer provenance, empty guidance and selected-feature summary readability.
- Add Data/Map mobile visual polish for upload forms, action grids and map toolbar density.
- Add AI Labs mobile visual polish for model cards, lab forms and result tables.
- Add Export/System mobile visual polish for export actions and provider capability cards.
- Add inspector mobile polish for dataset metadata, raster/vector tools and action groups.
- Add export preview readability polish for large JSON/GeoJSON handoff artifacts.
- Add accessibility focus polish for primary workbench keyboard navigation.
- Add raster/vector operation form readability polish for dense tool panels.
- Add compact loading/error/empty/result state polish across QA, exports and AI labs.
- Add compact shell density polish for topbar context, mobile navigation and workspace skip flow.
- Add Overview workspace panel hierarchy polish for readiness and recommended-action regions.
- Add Data workspace selected-summary and panel density polish.
- Add Map workspace panel hierarchy and layer-control density polish.
- Add selected map feature extraction with highlight, property table, copy and GeoJSON download.
- Add operational GIS map workflow with road basemap, persisted database layer selection and AOI/layer
vector_featuresquery run. - Add basemap policy notice and guided GIS query-to-QA/export workflow in the Map workspace.
- Add reusable latest-result mode for repeated Map QA/QC runs without duplicate derived artifacts.
- Add opt-in Docker/Unraid AI build/runtime path for local PyTorch/Ultralytics YOLO operation.
- Surface configured-YOLO runtime preflight status through the API and Detection Lab UI.
- Add read-only local model asset catalog and Detection Lab model-file selection.
- Add live model asset detection workflow smoke for configured-YOLO runtime/provenance validation.
- Add one-click full GIS workflow action for query, derived dataset, QA/QC and export handoff.
- Add QA/QC workspace result hierarchy and filter density polish.
- Add Change Detection panel hierarchy and analysis workspace density polish.
- Add calm workbench layout pass to reduce duplicate navigation, heavy card styling and shell density.
- Add Data and Map usability layout pass with compact catalog cards and map-first spatial review.
- Add QA/QC and Exports usability layout pass with calmer evidence review and handoff artifact scanning.
- Add AI Labs Detection/Segmentation hierarchy and result density polish.
- Add Export/System handoff hierarchy and provider registry density polish.
- Add widescreen and ultrawide workbench breakpoints for the map-first GIS workflow.
- Add operator-provided real raster/reference detection + QA workflow smoke.
- Validate the configured building model on a real georeferenced Kempen orthophoto/GeoTIFF with persisted reference vectors and QA/QC metrics.
- Fix configured-YOLO mixed-case class labels so
Buildingmodel output matchesbuildingdomain filters. - Persist CRS metadata in raster tile manifests so AI detections can be transformed to WGS84 GeoJSON correctly.
- Add real-data detection calibration sweep tooling for confidence-threshold and QA/QC metric comparison.
- Add calibration QA evidence export tooling for false-positive/false-negative inspection artifacts.
- Add real-data detection quality matrix tooling for model/tile/threshold comparison.
- Add reproducible Geel/Mol/Turnhout operator sample preparation and multi-sample quality matrix tooling.
- Run first Geel/Mol/Turnhout persisted detection quality baseline.
- Add and benchmark a stronger
yolov8sbuilding-segmentation runtime model candidate. - Add operator-only tile-level YOLO dataset export with overlapping windows and deterministic negative tile retention.
- Train and benchmark the first tile-level local YOLO candidate on Tower through the persisted QA/QC matrix.
- Calibrate confidence, IoU and model selection against additional local orthophoto/reference samples beyond Geel/Mol/Turnhout.
- Add negative/background AOIs to the operator sample corpus and train an expanded local tile-level YOLO candidate.
- Add a hard-negative model-quality pass with sparse/background AOIs and explicit false-positive scoring.
- Train a hard-negative-balanced YOLO candidate and rerun dense QA plus background false-positive matrices.
- Benchmark an external remote-sensing YOLOv8l building candidate as an explicit local model asset.
- Train and gate the
uniquehardneg160e50YOLOv8s candidate through 7 positive AOIs and 9 hard-negative/background samples. - Train and gate an AOI-scale
aoi512e80YOLOv8s candidate to test the 160px training-scale hypothesis. - Raise configured-YOLO
max_detthroughYOLO_MAX_DETECTIONSso dense AOIs are not capped at 300 detections before QA/QC. - Rerun live dense-AOI calibration after redeploy with
YOLO_MAX_DETECTIONS=1000; Westerlo reached 523/1000 detections at lower thresholds and Turnhout reached 822/1000, confirming the old 300 cap is removed. - Add configured-YOLO cross-tile duplicate suppression and raw/suppressed calibration evidence fields.
- Rerun live dense-AOI calibration after redeploy with
YOLO_DUPLICATE_IOU_THRESHOLD=0.5; Westerlo 0.25 improved to F10.2537313432835821and Turnhout 0.25 improved to F10.14114114114114112, but the candidate remains rejected. - Add
OPERATOR_YOLO_MIN_LABEL_VISIBLE_RATIOso the next overlapping-tile dataset can drop tiny clipped edge-fragment labels. - Add operator-only larger-AOI sample prep flags so the next training dataset is not limited to one 512x512 tile per documented sample.
- Regenerate Tower AOI1024 operator samples with paged GRB references and verify no dense reference sample is capped at 1000 features.
- Export and audit AOI1024 clean-label variants; select
yolo-building-aoi1024-visible050-minpx8as the first audit-passing 512px training candidate. - Train and gate
geointel-building-yolov8s-aoi1024clean512e50-ptthrough seven positive AOIs and nine hard-negative/background AOIs. - Train and gate background-aware
geointel-building-yolov8s-aoi1024bg512r3e50-pt; it is the strongest positive-AOI candidate so far but remains inactive because full background-candidate false-positive pressure still blocks default promotion. - Add explicit operator detection profiles for local model assets and promote the expanded-AOI balanced review profile at threshold
0.15after positive and pure-empty split-background gates passed. - Add pure-empty versus sparse-building contextual background corpus classification to operator manifests, hard-negative matrix filters and YOLO tile provenance.
- Add a split background-corpus matrix runner and report builder that runs pure-empty and sparse-context matrices separately.
- Teach the model promotion report to consume split background summaries so only
pure_empty_negativeblocks default promotion andsparse_building_contextstays review-only. - Add one-command operator workflow to run split background matrices and immediately build the split-aware promotion report.
- Add preflight-only validation for the split-background promotion workflow before long runtime matrices.
- Rerun split background matrices on Tower after rebuild, then recalibrate against the cleaner pure-empty gate plus separate sparse-context inspection matrix.
- Add guarded promoted-candidate activation helper requiring a promotion report path and exact candidate key before
.envcan be changed. - Add per-sample YOLO dataset audit diagnostics for parsed labels, median box area, small-box share and AOI-specific warning codes.
- Add deterministic visual YOLO label QA contact sheets before spending more CPU on another training run.
- Filter no-data/low-variance pure-empty negative tiles from operator YOLO exports before the next training run.
- Regenerate the AOI1024 cleanpx YOLO dataset with low-variance negative filtering and rerun visual contact-sheet QA before training.
- Train one inactive candidate from the filtered AOI1024 cleanpx YOLO dataset and gate it through the positive-AOI plus split-background promotion workflow; reject it because mean positive F1 remains below gate.
- Add deterministic dataset/base/trained-model SHA256 provenance to future operator training summaries.
- Review per-AOI false-negative evidence, expand positive sample/label coverage and verify the resulting candidate improves false-negative rate in every validated AOI.
- Complete rebuild/restart and browser/runtime smoke for the guarded promoted V1 building detector activation.
- Expand focused small-building training evidence after reviewing persistent false negatives, train one inactive candidate and pass it through positive, pure-empty and fixed-reference promotion evidence before guarded activation.
- Audit the promoted model's increased false-positive load from persisted seven-AOI QA evidence, including geodetic area buckets, AOI-qualified tile hotspots and combined review GeoJSON.
- Add persisted detection provenance, stratified visual contact sheets and an explicit manual-decision gate for false-positive review.
- Visually classify representative false-positive evidence from Turnhout, Herentals and Geel and review the remaining 5,838 persistent false negatives before any further model training; do not start another blind run.
Sprint 8 status
- Detection foundation ORM and migration
- Detection model registry capability stubs
- Detection run service boundary
- Detection API foundation
- Detection Lab UI foundation
- Segmentation Lab foundation
- Configured YOLO local preflight
- Real YOLO/PyTorch model compatibility smoke
0. Repository Foundation
- Repo mappenstructuur voorbereiden
- Productdocumentatie voorbereiden
- Architectuurdocumentatie voorbereiden
- Codex build plan voorbereiden
- Masterprompt voorbereiden
- Init git repository
- Voeg echte backend scaffold toe
- Voeg echte frontend scaffold toe
1. Backend Foundation
- FastAPI app aanmaken
- Config systeem aanmaken
- Database connectie voorbereiden
- SQLAlchemy models toevoegen
- Alembic migrations toevoegen
- Health endpoint toevoegen
- Tests voor health endpoint toevoegen
2. Database / PostGIS
- Docker compose met PostgreSQL/PostGIS
- PostGIS extensie activeren
- projects tabel
- areas tabel
- datasets tabel
- analysis_runs tabel
- detections tabel
- quality_checks tabel
- exports tabel
- spatial indexes
3. Frontend Foundation
- React + TypeScript scaffold
- Routing
- Layout met sidebar
- API client
- Project pages
- Map Workbench basis
- Map layer controls
- Feature property inspector
- Selected area display
4. Project & Area API
- POST /projects
- GET /projects
- GET /projects/{id}
- POST /projects/{id}/areas
- GET /projects/{id}/areas
- GeoJSON validatie
5. Dataset Manager
- Upload endpoint
- Storage paths
- Raster metadata extraction
- Vector metadata extraction
- Dataset list UI
- Dataset detail UI
6. Raster Core
- Rasterio metadata reader
- Raster preview generation
- Clip raster by area
- Tile raster by area
- Save tile metadata
7. Vector Core
- GeoPandas importer
- CRS detection
- CRS transformation
- Geometry validation
- Clip vector by area
- Store features in PostGIS
8. Reference Data
- OSM fetcher als fallback
- GRB integration research verwerken in code
- Reference dataset cache
- Reference layer viewer
9. Detection Lab
- YOLO wrapper
- Model config
- Inference job
- Pixel bbox naar geo polygon
- Detections opslaan
- Detection UI
- GeoJSON export
10. QA/QC Lab
- Spatial matching
- IoU berekening
- Precision/recall/F1
- False positive layer
- False negative layer
- QA dashboard
- QA export foundation
11. Segmentation Lab
- Segmentation service design
- Mask artifact path convention
- Polygonize masks
- Segmentatiekaartlaag
12. Change Detection
- Compare two runs
- Added/removed objects
- Change stats
- Change layer
13. Tests
- Unit tests GIS helpers
- API tests
- DB/migration smoke tests
- Raster fixture tests
- Vector fixture tests
- QA/QC tests
14. Portfolio Release
- Demo dataset voorbereiden
- Demo workflow documenteren
- Screenshots toevoegen
- README portfolio sectie
- Full smoke test
Repo preparation additions
- Add Data Catalog.
- Add Analysis Specifications.
- Add QA/QC Specification.
- Add Raster Operations Specification.
- Add Vector Operations Specification.
- Add Detection Pipeline Specification.
- Add Segmentation Pipeline Specification.
- Add Change Detection Specification.
- Add UI Page Specifications.
- Add Storage Architecture.
- Add Demo Scenarios.
- Add Development Rules.
- Add Codex phase prompts.
Recommended first Codex build sequence
- Phase 1: Backend foundation using
docs/CODEX_PHASE_1_PROMPT.md. - Phase 2: Dataset Manager using
docs/CODEX_PHASE_2_PROMPT.md. - Phase 3: Detection + QA/QC skeleton using
docs/CODEX_PHASE_3_PROMPT.md.
M2 Engineering Package
- Add ADR decision records.
- Add RFC placeholders for future modules.
- Add API/database/event contracts.
- Add model registry and class catalogs.
- Add queue architecture.
- Add acceptance matrix and test catalog.
- Add Codex M2 build prompts.
- Start Codex Pass 01 backend foundation.
M4 Autonomous Build Readiness
- Add M4 autonomous build readiness document.
- Add M4 sprint board.
- Add module build contracts.
- Add acceptance test catalog.
- Add API example responses.
- Add job lifecycle contract.
- Add frontend state and route contracts.
- Add backend service IO contracts.
- Add model registry seed specification.
- Add demo fixture manifest.
- Add Codex autonomous runbook.
- Add Codex pass prompts.
- Add Geel demo fixtures.
Next M5 Preparation
- Add concrete SQL migration snippets for every core table.
- Add OpenAPI YAML draft.
- Add frontend component prop contracts.
- Add backend unit-test skeleton files.
- Add frontend test skeleton files.
- Add live data connector research notes with verified endpoints.
M5 Operational Readiness Checklist
- CI/CD specification added.
- Healthcheck contracts added.
- Observability plan added.
- Troubleshooting runbook added.
- Rollback and recovery plan added.
- Security checklist added.
- Geospatial validation rules added.
- Build governance added.
- Codex pass documents added.
- Smoke scripts added.
- M6: implement actual backend foundation.
- M6: implement database migrations.
- M6: implement frontend shell.
M8 Codex Day-1 Readiness
- Add Day 1 master prompt.
- Add pass-by-pass Day 1 prompts.
- Add autonomy boundaries.
- Add failure recovery playbook.
- Add quality gate matrix.
- Add operator checklist.
- Add smoke script scaffold.
- Let Codex execute Day 1 implementation passes.
M10 Ultra Preparation
- Add autonomous build charter.
- Add Codex start-here guide.
- Add M10 master autonomous prompt.
- Add pass sequence.
- Add geometry and CRS contracts.
- Add error taxonomy.
- Add feature flag strategy.
- Add model adapter guide.
- Add QA/QC matching algorithm.
- Add frontend state machine.
- Add implementation ticket index and tickets.
- Add API example payloads.
- Add final pre-Codex checklist.
Current Workbench UI
-
Replace the accumulated shell overrides with a coherent premium presentation layer while preserving V1 behavior.
-
Group navigation into Workspace, Analyze and Deliver and make the inspector an optional drawer.
-
Fix mobile navigation so the active workspace uses the full viewport width.
-
Bound populated Project, Dataset, QA, AI and Export panels so long histories do not push core actions thousands of pixels down-page.
-
Move Data create/upload forms and Map/AI diagnostics into explicit progressive disclosures.
-
Reorder AI Labs around run controls and Map around layer selection plus the MapLibre canvas.
-
Harden detection QA coverage and matching diagnostics before any further model training.
-
Replace the one-page workflow panel stack with a task-based workbench shell.
-
Add persistent project/AOI/dataset/layer context.
-
Move selected dataset details into a persistent inspector.
-
Deploy the shell refactor to Tower and run live browser smoke on port 1202.
-
Polish Data, Map and AI Labs workspaces.
-
Polish QA/QC and Exports workspaces.
-
Add selected-object inspector detail tabs for project, AOI, dataset, QA check, export and AI run context.
-
Improve map/dataset selection ergonomics from the workbench canvas and inspector.
-
Improve populated Data/Exports readability after a demo workflow run.
-
Improve live visual shell width, scroll behavior and Map workspace layout at 1280px.
-
Add export history filtering controls for long-running demo environments.
-
Add a safe export retention/cleanup command for demo environments.
-
Add a live dry-run maintenance smoke for demo export cleanup.
-
Add browser screenshot artifact automation for visual regression handoff.
-
Add backend error-envelope audit for expected user-error paths.
-
Expand golden datasets beyond the original single building QA fixture pair.
-
Add workbench visual polish pass for command bar, panel surfaces, empty states and mobile nav density.
-
Add map/result overlay ergonomics for active layer provenance and feature property summaries.
-
Add export/report handoff polish for artifact readiness, action grouping and export provenance.
-
Polish lightweight HTML project report readability, print styling and handoff sections.
-
Add Map empty-state quick actions for ready vector datasets.
-
Add Data catalog role-density polish for reference/candidate/source scanning.
-
Add Data catalog action polish for map, metadata, export and QA affordances.
-
Add QA/QC handoff polish for candidate/reference context and persisted results.
-
Add QA/QC metric card polish for precision, recall, F1, IoU and error counts.
-
Add mobile overflow hardening for workbench navigation, inspector and long QA identifiers.
-
Add QA/QC result filtering and density controls for long-running demo projects.
-
Add Overview workflow guidance for the V1 project -> data -> map -> QA/AI -> export path.
-
Audit populated demo workflow and tighten complete-state Overview guidance copy.
-
Make Overview workflow rail Map/Export clicks preserve useful dataset context.
-
Add latest handoff artifact cards to the Export Center for report, metadata and GeoJSON outputs.
-
Add QA/QC evidence drilldown for selected checks, false-positive/negative evidence and provenance JSON.
-
Add raster pipeline readiness and guardrail surfaces for metadata, CRS, preview, tile manifest and clip-AOI handoff.
-
Add useful default dataset context so Data, Map and Exports are immediately usable after project/demo load.
-
Make raster tile handoff to Detection Lab auto-select the configured YOLO run form.
-
Add AI Lab run-readiness checks for Detection and Segmentation before job submission.
-
Add AI Lab action guardrails so explicit fixture models are not exposed as normal operator runs.
-
Add persisted vector area selection from the Map workspace with bbox extract and GeoJSON download.
-
Persist map area selections as Export Center handoff artifacts.
-
Persist map area selections as reusable derived vector datasets indexed into
vector_features. -
Add Map workspace QA/QC shortcut for saved derived selection datasets.
-
Add Map workspace QA/QC evidence drilldown handoff for saved selection comparisons.
-
Persist QA/QC feature-level evidence for matches, false positives and false negatives.
-
Render persisted QA/QC feature-level evidence as Map workspace overlays.
-
Add safe local YOLO model env configuration helper for Unraid/Tower runtime activation.
-
Harden configured YOLO inference for single-band raster tiles and wrapped runtime errors.
-
Add operator-only YOLO dataset export and local training-smoke wrapper for real sample calibration.
-
Train/evaluate a small local GeoIntel building-detector smoke from the current operator samples and reject it because QA/QC did not improve.
-
Add operator-only tile-level YOLO dataset export with overlapping windows and deterministic negative tile retention.
-
Run tile-level training on Tower and accept/reject the resulting local model through the persisted QA/QC matrix.
-
Train/evaluate a YOLOv8s hard-negative local building-detector candidate on Tower and keep it inactive because hard-negative false positives remain.
-
Add an operator-facing local model catalog/activation workflow with SHA256, active model status and explicit threshold guidance.
-
Block silent local model asset auto-selection in Detection Lab.
-
Add structured raster tile manifest handoff into Detection Lab with linked preflight visibility.
-
Add full threshold calibration comparison UX so detection runs can compare candidate thresholds before promotion.
-
Add guided in-app detection calibration runner for explicit threshold sweeps.
-
Link guided calibration rows to the QA evidence map.
-
Add guided calibration summary export from the Detection Lab.
-
Allow the evidence bundle script to consume Detection Lab calibration summary exports.
-
Add a local browser-summary QA evidence bundle smoke using mocked canonical evidence responses.
-
Add a multi-AOI calibration evidence portfolio convention for model-review handoff.
-
Run the first live multi-AOI calibration evidence portfolio on Tower for Geel, Mol and Turnhout.
-
Run fresh positive-AOI matrix coverage for Balen, Herentals and Westerlo.
-
Preserve model/tile provenance in calibration evidence bundle summaries.
-
Prevent same-threshold calibration evidence responses from overwriting each other in multi-model portfolios.
-
Add a model promotion decision report that combines positive-AOI score with hard-negative false-positive pressure.
-
Train and reject a YOLOv8s hard-negative r8 partial candidate after 12 CPU epochs through the full positive/background promotion gate.
-
Finish and reject the full YOLOv8s hard-negative r8 e60 candidate through the same promotion gate.
-
Add more AOIs after the tile-level baseline so the next local model attempt is not limited to Geel/Mol/Turnhout.
-
Add negative/background AOIs so the next tile dataset is not all positive tiles.
-
Improve positive training coverage/label quality before the next higher-capacity model attempt; simply extending the same hardneg r8 run is not enough.
Sprint 146 - Operator YOLO dataset quality audit
- Add a dataset/label-quality audit for generated operator YOLO tile datasets.
- Report sample coverage, validation coverage, repeated hard-negative pressure and YOLO label area integrity.
- Wire the audit script into the readiness syntax gate.
- Use live audit output to decide whether the next model pass needs more positive AOIs, label cleanup or unique hard negatives.
- Add more unique background/hard-negative AOIs before repeating hard-negative-balanced YOLO training.
- Supersede
yolo-building-tile-expanded160only with audited AOI1024 corpora; no repeat-heavy r4/r8 dataset became a default. - Regenerate Tower operator samples, export a new unique-hard-negative tile dataset and rerun the dataset audit before training.
Sprint 147 - Unique hard-negative AOI expansion
- Expand the documented operator background candidates from 3 to 9 unique AOIs.
- Keep every new background AOI explicit,
allow_empty_reference=True, andsample_role='background_candidate'. - Add test coverage for minimum background candidate count, unique centers and regional spread.
- Prepare the new samples on Tower and build a fresh hard-negative tile dataset.
- Rebuild Tower all-in-one image so the newly copied operator scripts are available inside
/app/scriptswithoutdocker cp. - Fix YOLO preflight CLI so it respects Tower
.envruntime configuration. - Train a new inactive AOI1024 YOLOv8s candidate with visible-label filtering.
- Fix the all-in-one/compose Nginx upload limit after live 1024px GeoTIFF uploads hit
413 Request Entity Too Large. - Fix the all-in-one/compose Nginx proxy timeout after low-threshold persisted YOLO/QA runs hit
504 Gateway Timeout. - Rerun the previously failing Geel low-threshold persisted QA/QC path for
geointel-building-yolov8s-aoi1024visible025e50-ptafter redeploying upload/timeout fixes. - Finish remaining AOI1024 positive-sample matrix coverage for
geointel-building-yolov8s-aoi1024visible025e50-pt. - Run AOI1024 background/hard-negative matrix for
geointel-building-yolov8s-aoi1024visible025e50-pt. - Fix promotion-report parsing for
multi_sample_quality_summary.jsoninputs. - Generate AOI1024 promotion report and keep recommended candidate as
none. - Add GRB paging before trusting dense reference exports as full ground truth.
- Regenerate Tower AOI1024 operator samples with paged GRB references, then re-export and audit labels before any new training attempt.
- Improve AOI1024 label quality before retraining:
yolo-building-aoi1024-cleanpx12vis035now auditsokwith 14,632 labels,min_label_px=12,min_label_visible_ratio=0.35, median normalized box area0.001373291015625and small-box share0.0. - Train and reject
geointel-building-yolov8s-aoi1024cleanpx12vis035e50-ptthrough the positive/background promotion gate. - Keep every local YOLO candidate inactive until positive-AOI and hard-negative promotion reports recommend default activation.
Sprint 181 - Complete Mol municipality workspace
- Persist the official VRBG municipality boundary for Mol (NIS
13025). - Page, deduplicate and boundary-clip the complete GRB GBG building layer.
- Import municipality layers through the existing DatasetService and VectorFeatureService path, with no direct provider-to-database write.
- Prefer the complete municipality workspace on a fresh session while keeping the lightweight boundary as the initially rendered layer.
- Make GeoJSON bounds calculation safe for municipality-scale layers.
- Acquire and tile a georeferenced raster only for an explicitly selected Mol analysis zone before running the next configured-YOLO validation.
Sprint 182 - Municipality viewport delivery and bounded AI handoff
- Stop downloading municipality-scale vector datasets as one frontend GeoJSON payload.
- Deliver large persisted layers through the existing PostGIS bbox endpoint from zoom level 14.
- Report visible/total counts and explicit truncation instead of silently hiding omitted features.
- Preserve complete loading and auto-fit behavior for small vectors and persisted AI/QA overlays.
- Allow the real raster/detection/QA operator smoke to reuse the definitive Mol project.
- Link operator raster/reference uploads to the persisted analysis Area and keep their names distinct from municipality-wide layers.
- Execute the bounded Mol-Centrum configured-YOLO/QA workflow in the deployed runtime and retain its persisted ids as release evidence.
Sprint 171 - Positive AOI expansion and small-building recovery
- Reject cross-model false-negative comparisons when reference populations differ.
- Add explicit Olen, Lille, Oud-Turnhout and Kasterlee positive training AOIs.
- Preserve Turnhout, Retie, Westerlo and Arendonk-heide as manifest-backed validation holdouts.
- Make the tile exporter reject unknown validation samples and holdout leakage.
- Refresh the full AOI1024 operator manifest on Tower and fetch only missing AOIs.
- Export and audit a low-minimum-label dataset without changing the active model.
- Render and inspect a sample-balanced label contact sheet before training.
- Finish the inactive expanded-minpx4 candidate and run the full promotion gate.
- Export the focused 23-sample minpx3 corpus with independent Vosselaar/Grobbendonk validation and external Turnhout/Retie/Westerlo holdouts.
- Train, audit and guarded-activate the focused small-building candidate only after all persisted promotion gates passed.
Sprint 199 - Reviewed accuracy expansion and fail-closed challenger
- Add six complete training-only AOIs outside every protected Mol/Kempen holdout.
- Page and audit 9,964 new GRB building references with municipality and CRS provenance.
- Export and visually inspect the 252-tile, 79,192-label reviewed-accuracy corpus.
- Train one inactive 20-epoch YOLOv8s challenger from the active local model without downloads.
- Rerun active and challenger models on identical coverage-aware reference populations.
- Confirm positive-zone F1 improvement in all seven holdouts.
- Reject challenger activation because Postel-bos produced two detections while the active model remained at zero.
- Update the recommended UI profile with the current active model's coverage-aligned evidence.
- Collect new training-only hard negatives matching the two Postel-bos errors before another challenger attempt.
Sprint 212 - Platform-wide official source portfolio
- Rebalance official source planning across six platform domains.
- Distinguish operational ready Datasets from audited but unimplemented sources.
- Reduce Sources workspace noise through domain summaries and progressive disclosure.
- Add official space, soil, mobility, population, service, climate and economy candidates.
- Replace the water-first recommendation with a cross-domain implementation wave.
- Implement the governed Flemish thematic-raster registry for space occupation, open space, population density, node value and service level.
- Add the digital soil map through DatasetService and VectorFeatureService.
Sprint 224 - Governed GRB evolution
- Audit all eight retained regional GRB snapshots for complete official source identities and geometry-hash fallbacks.
- Validate old governed snapshots through authoritative, complete and approved operator provenance before enabling object-level comparison.
- Make future regional GRB imports reject missing official OGC identities.
- Persist explicit identity schemes and collection prefixes on new GRB snapshots.
- Show precise daily edition ranges and explain registration-date nuance in the Evolution workspace.
- Document refresh readiness across the complete official-source portfolio.
- Verify and add the governed ALZ catalog probe against the official campaign-snapshot and definitive-archive publication contract.
- Add a read-only orthophoto preflight for product variant, official edition, exact WCS selected-area domain and deterministic flight-year points.
- Keep orthophoto pixel refresh manual through a separate
plan-stage-review-apply flow that retains the passed preflight identity and
creates a new immutable Dataset with official
YYYY.NNsource version.
Bathymetry follow-up
- Add governed municipality partition orchestration for all of Flanders after the Mol VHA operator passes live acceptance.
- Add read-only MDK WCS capability/TLS probe and maritime scope metadata.
- Add bounded MDK GeoTIFF acquisition only after live CRS, LAT, nodata and response-limit validation. Current official endpoint is blocked by TLS hostname mismatch and unavailable capabilities; never bypass verification.
- Add SPW staged-download adapter with mDNG metadata and survey-epoch coverage validation.
- Add authoritative territorial-sea, EEZ and continental-shelf boundary layers with legally accurate labels.
- Add vertical-datum conversion only when authoritative transforms and uncertainty tests exist; never merge TAW, LAT and mDNG implicitly.
- Add water volume only when bed and water-surface inputs share a governed time, datum and coverage contract.
Scale-aware map selection
- Prevent country-scale rectangles from fan-out querying every local provider and replace repeated source-limit errors with one overview status.
- Partition compatible 20-50 km regional vector acquisitions into bounded source requests and combine their persisted PostGIS metrics.
- Keep terrain, flood and thematic rasters behind explicit pixel and selection-size budgets.
- Provision additional national-scale baseline datasets before exposing more overview themes; do not synthesize regional detail at national scale.
Sprint 226 - GeoIntel and ITWorx brand system
- Replace the legacy GI/mountain artwork with a distinctive atlas and location mark.
- Use one canonical SVG across in-product branding and the browser favicon.
- Generate matching 32 px, Apple touch and Unraid PNG derivatives.
- Add the approved ITWorx.tech identity as a subtle Jens maker signature.
- Revisit alternative lockups only when an approved GeoIntel brand guide exists.
Sprint 227 - Task-first usability audit
- Reduce the desktop navigation rail and contain long card/context labels.
- Align the latest-state and evolution controls as one responsive header group.
- Make searchable municipality selection the first step of the map workflow.
- Route an empty quality workspace to real map and image-analysis actions.
- Replace passive management naming with an actionable system/source monitor.
- Preserve existing persisted Area, source, analysis and QA contracts.
- Add more direct quality-review actions only when a persisted candidate/reference pair exists; never synthesize a check.
Sprint 228 - Optional spatial entry and municipality activation
- Search the real persisted NGI municipality catalog instead of existing project Areas.
- Match Dutch, French and German names plus NIS codes.
- Activate the exact official geometry idempotently as a reusable project Area.
- Present municipality search as an optional shortcut beside free map drawing.
- Explain theme choice as map and primary-metric focus rather than a mandatory workflow gate.
- Keep narrow theme-card copy and status labels inside their cards.
- Replace the former compass icon with a scale-safe GeoIntel geo-lens mark.
Audit remediation (2026-07-26)
- Freeze an audit remediation roadmap with NVIDIA GPU as a server requirement.
- Add fail-closed CUDA configuration and preflight/runtime validation.
- Rebuild Tower with NVIDIA device exposure and capture a CUDA inference smoke.
- Implement the persisted parent/partition/checkpoint AOI operation.
- Add source-aware seam deduplication contracts and one-result Dataset aggregation across child partitions.
- Extend the zone x theme x source resolver with partition-union coverage and per-Dataset evidence.
- Resolve governed North Sea bathymetry access without bypassing TLS.
- Enforce the active building-only model classes, CUDA readiness and persisted Mol/Kempen Area scope.
- Add national/regional holdout evidence before expanding model classes or validated Areas.
Belgian PyTorch training programme (2026-07-26)
- Add governed SPW and UrbIS orthophoto acquisition.
- Normalize GRB/PICC/UrbIS building labels with decision provenance.
- Assemble and checksum an initial 19-AOI Belgian candidate corpus.
- Run generic and incumbent-based CUDA candidate training without promotion.
- Complete representative human label/contact-sheet review (the complete 42-AOI review queue and four contact sheets are ready; AI-assisted inspection is recorded separately and does not count as human sign-off).
- Expand each region/context/split until the national minimum-composition gate passes (42 independent 256 m AOIs at 25 cm, including pure-background and hard-negative contexts).
- Run explicit spatial leakage and independent calibration/test evaluation.
- Promote only if every regional and pure-background gate passes.
- Freeze the objective train/evaluate/error-analysis loop and regional exit gates.
- Expand the second corpus wave to 60 independent AOIs and 10,262 accepted labels.
- Resolve the v3 Flanders and Wallonia generalisation failures through additional training-only evidence and retraining.
- Replace rolling-mosaic training inputs with governed dated 2025 Flanders/Brussels and complete 2023 SPW imagery; retain exact flight-day limitations.
- Reject positive labels over blank/no-data imagery and replace partial SPW 2024 coverage with the complete dated SPW 2023 campaign.
- Exclude GRB/PICC features created after the corresponding dated imagery period while retaining auditable rejection evidence.
- Allow the objective CUDA loop to consume an automatically clean
needs_human_reviewcorpus while keeping final human sign-off as a separate, mandatory promotion gate. - Persist checksummed train-only failure-driven sampling after every rejected loop iteration and resume the next checkpoint from that exact dataset YAML.
- Add a guarded calibration-first entry point for completed checkpoints so v37 and future externally interrupted runs can rejoin the automated loop without redundant retraining.
- Add and activate a host-side, exact-run-marker supervisor that resumes the v37 CUDA checkpoint after container recreation without launching concurrent trainers.
- Bind v37 completion to a one-shot JSON command that enters calibration-first evaluation and up to 20 automatic failure-driven CUDA iterations with the frozen aerial augmentation contract.
- Complete v37 by early stopping at epoch 23, reject its best epoch-5 checkpoint calibration-first, and start closed-loop iteration 2 from checksummed failure-driven sampling.
- Make orchestrator patience explicit and retain the frozen value
18in every subsequent CUDA iteration. - Preserve v37 warmup and aerial HSV augmentation in every loop iteration; archive and invalidate the pre-epoch-2 run that exposed generic Ultralytics warmup drift.
- Resume a partially written current loop iteration from its exact
last.ptafter container recreation and activate a host-side parent-loop supervisor. - Evaluate the completed v36 YOLO11x checkpoint calibration-first on the rotated v30 holdouts; reject it before opening test/background because the regional calibration gate failed.
- Finish and assess the leak-free v37 YOLO11x failure-driven CUDA iteration; open test/background evidence only if every calibration gate passes.
Sprint 229 - Visual release correction and Tower redeploy
- Audit the revised landing page, guest map flow and quality workspace at desktop, laptop and tablet widths.
- Keep the new consolidated GeoIntel design system while correcting the quality-details grid and narrow-laptop result layout.
- Preserve complete insight labels and readable dataset/evidence cards without weakening the map-first workflow.
- Make guest authentication independent of optional browser scrolling support.
- Restore the explicit frontend dependency exclusion required by the Unraid build-context gate.
- Push the verified release and redeploy the Dockerman-native all-in-one runtime from
/mnt/user/appdata/geointel.
Sprint 230 - Interactive storytelling and portfolio presentation
- Add an accessible interactive project-chain illustration to the public landing page.
- Add restrained map, scan, route and evidence motion with a complete reduced-motion fallback.
- Produce original GeoIntel hero and building-QA campaign imagery for project and portfolio use.
- Capture portfolio-ready landing, story, map, quality and mobile screenshots.
- Rewrite the repository README around product value, architecture, operation and visual evidence.
- Deploy and visually verify the presentation release on the Tower runtime.
Sprint 231 - Complete visual system and portfolio case study
- Add functional workbench motion for workspace changes, results, jobs, errors and loading skeletons.
- Add an interactive evidence-first PyTorch/NVIDIA pipeline tied to real detection readiness.
- Add a project briefing surface with workflow progress, latest QA, source coverage and export status.
- Add production WebP variants while retaining high-resolution portfolio masters.
- Produce a dark campaign cover, architecture visual, AI pipeline visual and animated project GIF.
- Generate and visually verify a six-page portfolio case-study PDF.
- Commit, push and redeploy the complete presentation release from
/mnt/user/appdata/geointel.
Sprint 232 - V42 Belgian building generalisation loop
- Add 14 independent coastal, industrial, rural, quarry, forest, field and port training AOIs across Flanders and Wallonia.
- Acquire, temporally filter, SAM2-refine and overlap-retile the new AOIs on the RTX 4080 SUPER.
- Assemble and checksum the immutable 156-sample v42 corpus while preserving the protected v31 calibration/test/background assignments.
- Pass structural corpus and 56,474-label tile-quality audits with zero invalid or missing labels and zero spatial leakage failures.
- Render and inspect a 56-tile contact sheet covering all 14 new AOIs before retraining.
- Run the v43 calibration-first, failure-driven CUDA loop against the frozen regional release gates.
- Acquire and integrate the v44 Flemish-only corpus wave after six loop assessments isolated coastal, industrial and ribbon-domain under-generalisation.
- Rotate region-capped repeat windows deterministically per loop round so persistent failures cannot reuse an identical training list indefinitely.
- Keep near-gate regional precision/recall stabilization inside a 0.03 sampling guard-band to prevent cross-region seesaw regressions.
- Open protected test and pure-background evidence only after every calibration gate passes.
- Queue final representative human sign-off only after all automated gates pass, then promote and redeploy the exact checksummed model.
Sprint 233 - Live animated gebiedsanalyse
- Vertaal de vier schakels van de welkomstillustratie naar de echte kaartworkflow.
- Koppel Selecteer, Bronnen, Verwerk en Controleer uitsluitend aan bestaande API- en hookstatussen.
- Toon verwerking, QA, fout en gereed als onderscheidbare live kaartstatussen zonder fictieve successen.
- Voeg een responsieve desktop- en mobiele procesrail met reduced-motion fallback toe.
- Dek de statusresolver en het geverifieerde-bewijslabel af met gerichte componenttests.
- Controleer na Tower-redeploy de gastworkflow visueel op desktop en mobiel; operatorstatus gebruikt dezelfde componentcontracten.
Sprint 234 - Productie operator-login herstellen
- Bevestig de actieve operatorconfiguratie en identificeer de exacte gebruikersnaammismatch.
- Wijzig alleen de productiegebruikersnaam naar
ITWorxen behoud de bestaande wachtwoordhash en sessiebeveiliging. - Herstart vanuit
/mnt/user/appdata/geointelmet behoud van de NVIDIA/AI-image. - Controleer containergezondheid, migraties, frontendproxy en actieve runtimeconfiguratie.
- Werk de operatorconfiguratievoorbeelden bij zodat toekomstige configuratie
ITWorxgebruikt.
Sprint 235 - Expliciete kaartanalyse en resultatenlade
- Laat tekenen uitsluitend het werkgebied vastleggen zonder bronnen of modellen te starten.
- Voeg meervoudige, expliciete themakeuze en één duidelijke analyseknop toe.
- Beperk de analysequery tot uitsluitend de gekozen thema’s.
- Herstel Inzichten als open- en sluitbare lade boven de kaart.
- Verkort bronteksten en voorkom overflow in de themakolom.
- Verifieer TypeScript-build, frontend-unitset en responsive runtime visueel.
Sprint 236 - Platformbrede UI/UX-herwerking (2026-08-01)
- Eén herbruikbare taakgerichte modelselector voor lokale AI, detectie en segmentatie.
- Automatisch aanbevolen lokale assistentkeuze met persistente, gevalideerde voorkeur en runtimefallback.
- Alleen werkelijk door backend/runtime gerapporteerde modellen en metadata tonen.
- Loading-, empty-, unavailable- en errorstates plus toetsenbord- en dialogbediening.
- Zoekbare en bredere kaartthemalijst met volledig leesbare labels.
- Compacte analysecontextbalk en rustige desktop/tablet/mobiele hiërarchie.
Sprint 237 - Sol Ultra productupgrade (2026-08-23)
- Splits publieke landing-CSS en MapLibre van de lazy werkbankbundel.
- Valideer landing en werkbank op 390, 1366 en 2560 px zonder overflow, consolefouten of mislukte API-requests.
- Herstel mobiele topbar/banner/kop- en procesrailbotsingen.
- Voorkom afgekapte mobiele navigatielabels met korte zichtlabels en een automatische clipping-gate.
- Toon analysefouten vóór lege states en bied een herhaalactie.
- Wis oude dekkingsdata zodra een nieuwe AOI wordt opgelost.
- Sluit stale-response races in tijdvergelijking en AI-vragen.
- Sluit late detectie-/segmentatiejobs, resultaten en QA na een werkruimtewissel uit.
- Voer productie-detectie uitsluitend via async NVIDIA/GPU-jobs uit en verzoen het resultaat met de bewaarde AnalysisRun.
- Voer productie-segmentatie uitsluitend via async serverjobs uit, eis een tegelmanifest en laat de NVIDIA-runtime fail-closed valideren.
- Bind gast-detecties, segmentaties en downloads aan het gesigneerde demoproject op resourceniveau.
- Valideer redirects vóór netwerktoegang en begrens segmentatieresultaten.
- Maak pipeline-tabs en modeldialoog volledig toetsenbordbedienbaar.
- Lokaliseer bekende modelnamen en beschikbaarheidsmeldingen in de primaire Nederlandse AI-flow.
- Voer vóór formele toegankelijkheidscertificatie nog fysieke touch- en screenreader-QA uit; browseremulatie en automatische naamcontrole zijn groen.
- Uitschuifbare inzichten behouden; analyse blijft uitsluitend expliciet na themakeuze.
- 51 frontendtests en productiebuild groen.
- 19 verouderde broncode-stringtests herijken; meerdere eisen daarin (automatische analyse) conflicteren bewust met de actuele productbeslissing.
Sprint 237 - Volwaardige, projectgebonden demo (2026-08-01)
- Maak alle niet-administratieve werkruimtes zichtbaar voor demo-gebruikers.
- Laad dezelfde assistent-, detectie- en segmentatiemodellen en bewaarde resultaten.
- Sta projectgebonden analyse-, QA-, assistent- en exportacties toe.
- Behoud server-side blokkades op instellingen, beheer, uploads, reviews en cross-projectverzoeken.
- Verifieer en redeploy de exacte commit naar Tower
/mnt/user/appdata/geointel.
Accuracy Improvement Program Phase 2 (2026-08-01)
- Complete the Phase-1 forensic inventory, data lineage, reproducible baseline, risk register, metric framework, roadmap, status and retained evidence manifest.
- P2-00: freeze evidence and enforce a promotion/scope-widening lock.
- P2-01: establish one canonical CI command, repair import shadowing, replace 17 stale source assertions with reviewed behavior tests, close the 112 Ruff findings and add real frontend lint.
- P2-02: fix CRS ingest, metre buffering and Area geometry/CRS updates; auditably quarantine or repair the four legacy Geel detections.
- P2-03: isolate coverage by source/theme/layer/zone and make official source identity server-attested. The mutable-name YOLO scope bypass is fixed with a model/checksum-bound geometry manifest; equivalent legal-scope checks still require the same review.
- P2-04: make derived persistence transactional, require complete RunManifest hashes and expose every fallback/persistence failure. Detection exports now carry a machine-readable trust contract and fail closed for operational use without zero-error authoritative QA.
- P2-05: remove every protected-test feedback path, introduce a test vault and make the sampler reject protected IDs, paths and assessment fields.
- P2-06: complete representative human V56 review; add independent AOIs, Brussels pure backgrounds, difficult negatives and corrected temporal/dense PICC/UrbIS labels; freeze a new immutable corpus rather than changing V56.
- P2-07: implement the metric/null/error-taxonomy contract, stratified incumbent baseline, calibration and reproducibility rerun; freeze numeric gates before protected-test access.
- P2-08: train the pre-registered candidate matrix on the Tower RTX 4080 SUPER with pinned PyTorch/CUDA, full hashes, seeds and zero CPU fallback.
- P2-09: run a calibration-only improvement loop; use only independently provisioned, reviewed train data for another corpus version.
- P2-10: open protected test/background-test exactly once for one immutable pre-registered candidate; never retrain that candidate family from its result.
- P2-11: promote and redeploy only after every gate passes, with model card, image/model/config hashes, shadow evidence and tested rollback.
- P2-12: monitor drift into a human reviewqueue without automatic self-training or silent promotion.
- Audit whether the July
reviewedexp6checkpoint can be migrated into the current runtime provenance contract without invented evidence; retain the checksum-bound blocked report. - Do not generate a production sidecar for
reviewedexp6: its exact training commit/runtime, immutable corpus-label-split manifests and accepted human-review ledger were not retained and cannot be reconstructed safely. - Complete an explicitly AI-assisted per-AOI review of the 64-tile reviewedexp6 contact sheet, retaining reviewer type, artifact hash, split role, sample accounting and roof/ground-footprint limitations.
- Extend AI-assisted review to all 252 tiles and 79,192 labels through deterministic four-page contact-sheet rendering with complete accounting.
- Human-adjudicate the 43 possible nested same-class box pairs in 36 tiles; do not rewrite or exclude them automatically because GRB objects can overlap legitimately.
- Persist a deterministic label-relationship audit and a focused 36-tile contact sheet; AI follow-up found no systematic duplicate-label pattern.
- Bind the relationship audit back to exact label-row indices and render all 86 implicated rows with type-specific highlighting for focused review.
- Audit all 79,192 labels at row level for sub-4-pixel dimensions, extreme aspect ratio and tile-edge clipping; inspect the complete small/extreme sheets and retain immutable hashes.
- Reconstruct exact cross-tile interior objects and prove that overlap repeats 40,031 label rows but causes zero reconstructed train/val crossings.
- Build and fully audit an immutable experimental corpus with
min_label_px=4; retain 252 tiles and 77,380 labels with zero sub-4-pixel rows, missing files, invalid labels or cross-split reconstructed objects. - Compare the existing 0.35 edge-visibility policy against a separately versioned stricter ablation from original source geometry before any new governed training; do not approximate this by dropping every edge label.
- Replace the overlapping checkpoint ranking with a checksum-bound, training-disabled non-overlap view: 12 real tiles, 2,384 unique interior objects, zero repeated interiors and explicit removal of blank Arendonk no-data imagery.
- Add multiple independent real-background AOIs and more geographically separated positive validation AOIs before interpreting non-overlap ranking as release evidence. Postel occurs in both compared train splits and is only a training-seen regression check, not independent validation.
- Add a fail-closed checkpoint gate that checks every evaluation AOI against every split of every supplied ancestral model corpus before PyTorch import, model loading or GPU inference. Turnhout/Westerlo were exposed as validation in the base building model; Postel was exposed as training.
- Convert the AI-assisted ledger into no stronger claim than experimental triage; a real human must independently review and sign the frozen artifacts before the governed training wrapper may unlock.
- Provision and visually inspect six fresh non-protected calibration AOIs across Vlaanderen, Wallonië and Brussel; prove all are at least 2 km from all 31 resolved ancestral AOIs and absent from every ancestral split.
- Reject overlapping edge-cover tiles in diagnostic evaluation; retain 24 canonical 512 px cells and record all 30 excluded overlapping views.
- Run active/challenger GPU calibration on the fresh portfolio and retain aggregate, regional and per-AOI metrics without promoting either model.
- Provision a separately frozen train-only failure corpus after human review. Do not copy V72 calibration tiles or use their labels for fitting.
- Finalise version-specific PICC/UrbIS semantic harmonisation contracts before treating Walloon/Brussels metrics as release-grade ground truth.
- Complete a responsive GUI audit at desktop, laptop and phone widths; keep the map above model selection on phones, expose all navigation items through a bottom rail and remove clipped result metrics.
- Repeat the responsive audit with a physical touch device and screen reader before claiming full mobile accessibility certification.