From d3eed89844f75b85f9d7fcfe1674e27908ba1e45 Mon Sep 17 00:00:00 2001 From: Codex Date: Sun, 19 Jul 2026 03:09:44 +0200 Subject: [PATCH] Complete post-RC federation roadmap --- CHANGELOG.md | 13 ++++++++ backend/tests/test_sprint19_map_workbench.py | 4 ++- docs/CODEX_EXECUTION_LOG.md | 30 ++++++++++++++++-- ...DATA_COVERAGE_ROADMAP_BELGIUM_NORTH_SEA.md | 31 ++++++++++++++++++- docs/TODO.md | 2 +- 5 files changed, 75 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ec7ea2b..26f77f47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,19 @@ - Made a changed work area take viewport priority over a complete national layer, so switching between Belgium, Wallonia, Brussels and the North Sea visibly centers the map on the selected geography. +- Removed transient MapLibre `isStyleLoaded()` gates after the initial + `style.load`, so raster tile activity can no longer discard later Area, + dataset, selection or QA overlay updates. +- Bounded the two-column responsive explorer row independently from the long + theme list. The live map canvas is now 723 by 496 CSS pixels at the audited + desktop viewport instead of an invisible 1,891-pixel-tall canvas, while the + theme list scrolls inside its own panel. +- Passed the complete post-RC live journey with all seven golden Areas, + historical forest comparison, persisted export, grounded local Ollama + context and configured local YOLO map handoff. Browser console errors and + failed requests remained empty. +- Closed the autonomous post-RC gate with 1,042 backend tests, 20 frontend + tests, typecheck/build and the complete Alembic SQL chain passing. ## Autonomous Belgium and North Sea RC program (2026-07-17) diff --git a/backend/tests/test_sprint19_map_workbench.py b/backend/tests/test_sprint19_map_workbench.py index 67bd8a11..e127457a 100644 --- a/backend/tests/test_sprint19_map_workbench.py +++ b/backend/tests/test_sprint19_map_workbench.py @@ -14,7 +14,9 @@ def test_geomap_exposes_v1_layer_controls_and_feature_inspection_contract() -> N assert "onFeatureSelect?: (feature: GeoJSON.Feature | null) => void" in geomap assert "queryRenderedFeatures" in geomap assert "mapStyleReady" in geomap - assert "map.isStyleLoaded()" in geomap + assert "map.on('load'" in geomap + assert "if (!map || !mapStyleReady)" in geomap + assert "map.isStyleLoaded()" not in geomap assert "setLayoutProperty('dataset-fill', 'visibility'" in geomap assert "setPaintProperty('dataset-fill', 'fill-opacity', opacity)" in geomap diff --git a/docs/CODEX_EXECUTION_LOG.md b/docs/CODEX_EXECUTION_LOG.md index a96c3e78..2eef677e 100644 --- a/docs/CODEX_EXECUTION_LOG.md +++ b/docs/CODEX_EXECUTION_LOG.md @@ -48,8 +48,34 @@ with the complete active national layer. Area changes now fit the selected geography first and retain that viewport when a complete national layer is loaded on the following render or the map container resizes. -- Focused backend and frontend suites passed before full release validation; - full local and Tower evidence follows in the final P5 gate. +- The final browser audit then exposed a responsive layout defect rather than + a CRS defect: at 1,264 pixels wide the theme list stretched the MapLibre + canvas to 723 by 1,891 pixels, so a correct fit placed Belgium mostly below + the visible fold. The first explorer grid row is now bounded independently, + the theme list scrolls internally and the live canvas measures 723 by 496 + pixels at the same viewport. +- Map updates no longer depend on transient `isStyleLoaded()` results after + the initial `style.load`; Area, dataset, selection, raster and QA overlay + changes are retained while base-map tiles load. +- Live browser acceptance switched Belgium land, the North Sea golden zone, + Brussels and Wallonia without manual zoom or console warnings. Persisted + sources remained preferred, while PICC/UrbIS stayed selection-bounded. +- `scripts/run_rc8_release_journeys.sh` passed against port 1202 and reused all + seven golden Areas. The retained manifest records PostGIS 3.6, migration + `202607160001`, clean console/request audits, a 49-feature persisted export, + exact 2013-2025 forest change, a grounded 656-character Ollama answer with + 36 metrics, and a successful configured-YOLO Job/AnalysisRun map handoff. +- The deployed AI runtime imports PyTorch `2.13.0+cpu` and Ultralytics + `8.4.99`; `/api/v1/system/capabilities` and the detection model registry + report configured local YOLO truthfully. +- The final local readiness gate passed with 1,042 backend tests and 20 + frontend tests, frontend typecheck and production build, a single Alembic + head, the complete offline `upgrade head --sql` chain and live-smoke shell + syntax. The Windows runner has no local Docker CLI; compose, PostGIS and + migration runtime evidence therefore comes from the successful Tower deploy. +- P5 is complete. MDK remains the only deliberately blocked source in this + board because strict TLS/capabilities evidence does not pass; no bathymetry + or water-volume value was invented. ### RC-4 national and maritime coverage foundation diff --git a/docs/POST_RC_DATA_COVERAGE_ROADMAP_BELGIUM_NORTH_SEA.md b/docs/POST_RC_DATA_COVERAGE_ROADMAP_BELGIUM_NORTH_SEA.md index f35377fe..7e3c9ea8 100644 --- a/docs/POST_RC_DATA_COVERAGE_ROADMAP_BELGIUM_NORTH_SEA.md +++ b/docs/POST_RC_DATA_COVERAGE_ROADMAP_BELGIUM_NORTH_SEA.md @@ -228,7 +228,7 @@ capabilities probe before implementation is marked operational. ## P5 - Federation, UX and release evidence -**State: in progress.** +**State: complete; live federation, responsive map UX and release evidence proven.** ### Work @@ -256,3 +256,32 @@ capabilities probe before implementation is marked operational. - No unavailable theme is presented as measured data. - The live browser can select an area, acquire/reuse data, analyse it, inspect provenance and export it without entering a technical project workflow. + +### Live evidence + +- Immutable AI image `301ecaccbd160fbe58daa245ba229270b6f16e09-ai` + passed live PostGIS migration and browser proxy smoke before the final + documentation-only closeout commit. +- The release journey reused all seven deterministic golden Areas and passed + Brussels, Wallonia, language-boundary, coast, Mol, Kempen and North Sea + coverage without creating duplicates. +- National population resolves from the persisted reviewed Statbel 2025 + edition; selection-bounded PICC and UrbIS results remain separate governed + regional datasets. +- The live map now keeps persisted sources ahead of on-demand placeholders, + gives the selected Area camera priority and bounds the responsive MapLibre + canvas to its visible grid row. Belgium, Brussels, Wallonia and the North Sea + switched without manual zoom, horizontal overflow or console warnings. +- The evidence manifest retained exact area geometry hashes, coverage states, + temporal forest metrics, a 49-feature persisted export, a grounded Ollama + answer and a configured local-YOLO Job/AnalysisRun with map handoff. +- PyTorch `2.13.0+cpu` and Ultralytics `8.4.99` import in the deployed AI + runtime. No model download or fabricated detection was used. +- The final repository gate passed 1,042 backend tests, 20 frontend tests, + frontend typecheck/build, one Alembic head, the full offline migration SQL + chain and live-smoke syntax. +- MDK bathymetry remains `not_configured` because strict hostname validation + still fails. Marine planning/reporting remains operational and no depth or + water-volume value is fabricated. +- Rectangle-based golden scopes that cross an irregular legal boundary retain + the truthful `outside_supported_scope` warning for the uncovered corners. diff --git a/docs/TODO.md b/docs/TODO.md index 20593424..fb914761 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -13,7 +13,7 @@ maritieme databronnen bruikbaar in de volgende versie. - [x] P2: bounded SPW PICC voor Waalse gebouwen, wegen en hydrographie. - [x] P3: bounded UrbIS voor Brusselse gebouwen en percelen. - [x] P4: maritieme thema's harden en bathymetrie fail-closed onderzoeken. -- [ ] P5: zonefederatie, UX, golden journeys en immutable deployment. +- [x] P5: zonefederatie, UX, golden journeys en immutable deployment. ## Actief RC-programma: Belgie en de Belgische Noordzee