Complete regional thematic coverage
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-16 05:02:44 +02:00
parent 791548e332
commit ce572b6013
5 changed files with 65 additions and 1 deletions
+23
View File
@@ -7,6 +7,29 @@
# Changelog # Changelog
## Sprint 216 Regional thematic coverage (2026-07-16)
- Provisioned all five governed Departement Omgeving thematic rasters for all
28 approved Kempen municipalities and for the complete persisted transport
region. The resulting 145 ready Datasets remain linked to exact Areas and
contain no duplicate area/product pairs.
- Raised only the thematic-raster acquisition envelope to the measured Kempen
extent: 60 km per side and 30 million output pixels. Official WCS reads stay
partitioned into fixed 10 km tiles; orthophoto, DHMV and flood limits were not
changed.
- Added bounded retries for interrupted or transient official WCS tile
responses. Partial bytes are never accepted and three failed attempts still
produce the canonical provider-unavailable error.
- Hardened the local assistant prompt so year, source and measurement quality
must remain attached to the same Dataset when one requested theme has
multiple official observations.
- Verified the complete regional map workflow against live PostGIS. A full
Kempen selection reports 45,126.87 ha space occupation, 97,375.81 ha open
space, an estimated 484,146.70 inhabitants from the 2019 density raster and
the persisted 2022 accessibility and service scores.
- No migration, live provider integration, synthetic metric or direct database
write was introduced.
## Sprint 215 Grounded assistant cross-domain reliability (2026-07-16) ## Sprint 215 Grounded assistant cross-domain reliability (2026-07-16)
- Raised the bounded local Ollama answer budget from 700 to 1,200 tokens after - Raised the bounded local Ollama answer budget from 700 to 1,200 tokens after
@@ -649,6 +649,8 @@ class GeoAssistantService:
"Als is_estimate true is, noem de waarde verplicht een schatting en nooit exact. " "Als is_estimate true is, noem de waarde verplicht een schatting en nooit exact. "
"Een officiële bron maakt een afgeleide gebiedswaarde niet exact; noem een schatting nooit officieel geteld. " "Een officiële bron maakt een afgeleide gebiedswaarde niet exact; noem een schatting nooit officieel geteld. "
"De numerieke contextwaarden zijn al bronveilig afgerond; neem die afgeronde waarden letterlijk over. " "De numerieke contextwaarden zijn al bronveilig afgerond; neem die afgeronde waarden letterlijk over. "
"Gebruik bij elke meting uitsluitend het jaar, de bron en de meetkwaliteit van dezelfde dataset. "
"Als een thema meerdere datasets of jaren bevat, benoem elke meting afzonderlijk; voeg bron, jaar of kwaliteit nooit samen in een kop of zin. "
"Objectaantallen zijn ondersteunend; geef betekenisvolle oppervlakte-, lengte- of bevolkingsmetriek voorrang. " "Objectaantallen zijn ondersteunend; geef betekenisvolle oppervlakte-, lengte- of bevolkingsmetriek voorrang. "
"Wanneer de gebruiker meerdere thema's opsomt, behandel elk gevraagd thema en voeg geen ongevraagd thema toe. " "Wanneer de gebruiker meerdere thema's opsomt, behandel elk gevraagd thema en voeg geen ongevraagd thema toe. "
"Houd het antwoord beknopt: groepeer de kernmetrieken per gevraagd thema en herhaal geen beperkingen. " "Houd het antwoord beknopt: groepeer de kernmetrieken per gevraagd thema en herhaal geen beperkingen. "
@@ -288,6 +288,8 @@ def test_geo_assistant_sends_grounded_context_without_thinking_trace(monkeypatch
assert "noem de waarde verplicht een schatting" in captured["payload"]["messages"][0]["content"] assert "noem de waarde verplicht een schatting" in captured["payload"]["messages"][0]["content"]
assert "noem een schatting nooit officieel geteld" in captured["payload"]["messages"][0]["content"] assert "noem een schatting nooit officieel geteld" in captured["payload"]["messages"][0]["content"]
assert "contextwaarden zijn al bronveilig afgerond" in captured["payload"]["messages"][0]["content"] assert "contextwaarden zijn al bronveilig afgerond" in captured["payload"]["messages"][0]["content"]
assert "uitsluitend het jaar, de bron en de meetkwaliteit van dezelfde dataset" in captured["payload"]["messages"][0]["content"]
assert "voeg bron, jaar of kwaliteit nooit samen" in captured["payload"]["messages"][0]["content"]
assert "verzin geen oorzaak, voorspelling, verzadiging" in captured["payload"]["messages"][0]["content"] assert "verzin geen oorzaak, voorspelling, verzadiging" in captured["payload"]["messages"][0]["content"]
assert "bereken zelf geen gemiddelde, tempo, oorzaak of afgeleide trend" in captured["payload"]["messages"][0]["content"] assert "bereken zelf geen gemiddelde, tempo, oorzaak of afgeleide trend" in captured["payload"]["messages"][0]["content"]
assert "zonder Markdown-symbolen" in captured["payload"]["messages"][0]["content"] assert "zonder Markdown-symbolen" in captured["payload"]["messages"][0]["content"]
+36
View File
@@ -1,3 +1,39 @@
## Sprint 216 Regional thematic coverage (2026-07-16)
Changed:
- Ran the governed thematic-raster operator for every one of the 28 persisted
municipality Areas in `Kempen Regional Workbench` after a successful
Arendonk smoke. All five allowlisted products completed for every Area.
- Added five separately persisted snapshots for the complete `Vervoerregio
Kempen - officiele operationele grens`, enabling free selections that cross
municipality boundaries while preserving exact Area clipping.
- Increased only `THEMATIC_RASTER_MAX_SIDE_M` to 60,000 and
`THEMATIC_RASTER_MAX_PIXELS` to 30,000,000. The service still rejects larger
requests and reads the official WCS in fixed 10 km tiles.
- Retried transient WCS failures at most three times with a bounded delay.
Interrupted responses are discarded and permanent failures remain explicit.
- Required the local assistant to keep each metric's year, source and
measurement quality together when a theme has several official datasets.
Validation evidence:
- The final inventory contains 145 ready thematic Datasets across 29 Areas and
five product keys, with zero missing metadata/storage paths and zero duplicate
Area/product pairs. All 145 TIFF files are non-empty and occupy 56 MB.
- A second complete-region operator run reused all five existing Datasets.
- Browser validation on `http://192.168.10.150:1202` showed every regional
thematic source as available, rendered the MapLibre overlay and calculated
the complete Kempen result without browser warnings or errors.
- The full readiness gate passed 733 backend tests, compilation, fixture and
API-contract audits, one Alembic head, frontend typecheck, production build
and shell checks.
- Live PostGIS reports version 3.6 and the all-in-one container remained
healthy throughout acquisition and analysis.
Next:
- Generalize the separate DOV soil-map operator from Mol to all 28 municipality
partitions. Keep the historical 1949-1971 survey semantics and raw source
manifest explicit; do not merge soil provenance into the raster operator.
## Sprint 215 Grounded assistant cross-domain reliability (2026-07-16) ## Sprint 215 Grounded assistant cross-domain reliability (2026-07-16)
Changed: Changed:
+2 -1
View File
@@ -32,7 +32,8 @@
- [x] Connect a drawn rectangle to bounded official orthophoto acquisition, local configured-YOLO detection and persisted GRB QA. - [x] Connect a drawn rectangle to bounded official orthophoto acquisition, local configured-YOLO detection and persisted GRB QA.
- [x] Add governed official space-occupation, open-space, population-density, accessibility and service-level rasters with semantic map metrics. - [x] Add governed official space-occupation, open-space, population-density, accessibility and service-level rasters with semantic map metrics.
- [x] Add the DOV digital soil map for Mol with exact clipping, source attributes and historical survey limitations. - [x] 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. - [x] Execute the governed thematic-raster operator for every persisted Kempen municipality after the Mol live gate passes.
- [x] 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. - [ ] Generalize the DOV soil-map operator to all 28 approved Kempen municipality partitions with one regional snapshot manifest.
## Governed source expansion backlog ## Governed source expansion backlog