Enable governed GRB evolution
This commit is contained in:
@@ -1850,6 +1850,17 @@ Added/removed/modified object changes are calculated only when source
|
||||
provenance declares stable feature identities; otherwise
|
||||
`object_changes.available=false` and no object history is inferred.
|
||||
|
||||
Governed regional GRB snapshots use the official OGC feature identifier as
|
||||
their object identity. New imports declare the identity scheme and accepted
|
||||
collection prefixes explicitly. Existing operator-managed GRB snapshots are
|
||||
accepted only when their authoritative, complete and area-clipped provenance
|
||||
matches an approved regional operator and every selected identifier is
|
||||
present, unique and uses the expected prefix. Missing, duplicate or unexpected
|
||||
identifiers fail closed to metric-only comparison. The existing 5,000-feature
|
||||
selection limit also remains in force. Differences between daily GRB editions
|
||||
describe changes in the official registration; they do not prove that a
|
||||
physical change happened on the exact publication date.
|
||||
|
||||
For `reference_layer_name=agriculture`, the primary map metric is exact
|
||||
intersected declared-use area in hectares. Supplemental metrics use
|
||||
server-owned filters on the normalized official main-crop group. Annual ALZ
|
||||
|
||||
@@ -9387,3 +9387,35 @@ Validation so far:
|
||||
Next:
|
||||
- Run the full release gate, deploy to Tower, execute a live read-only plan and
|
||||
then stage/apply only the exact confirmed official edition.
|
||||
|
||||
## Sprint 224 - Governed GRB evolution (2026-07-16)
|
||||
|
||||
Implemented:
|
||||
- Audited the two retained regional editions for buildings, roads, water and
|
||||
parcels. All 2,108,425 persisted VectorFeatures have an official
|
||||
`source_feature_id`; none uses the former 64-character geometry-hash
|
||||
fallback.
|
||||
- Added a fail-closed GRB identity contract to temporal object comparison.
|
||||
Legacy snapshots require authoritative, area-clipped, non-truncated
|
||||
provenance from an approved regional operator and every selected identifier
|
||||
must be present, unique and match its collection prefix.
|
||||
- Made future regional GRB operators abort when an official OGC feature ID is
|
||||
missing and persist their identity scheme/prefixes explicitly.
|
||||
- Replaced ambiguous same-year labels such as `2026-2026` with daily edition
|
||||
ranges and explained that registration changes do not date physical change.
|
||||
- Documented an honest refresh-readiness matrix for all major source families;
|
||||
no additional provider fetch or automatic refresh was enabled.
|
||||
|
||||
Boundaries:
|
||||
- No migration, new persistence model, scheduler, browser-triggered import or
|
||||
parallel temporal engine was added.
|
||||
- Object comparison remains bounded to 5,000 selected features and falls back
|
||||
to metric-only output whenever source identity cannot be proven.
|
||||
|
||||
Validation so far:
|
||||
- Focused GRB operator and temporal tests pass: 39 tests.
|
||||
- Frontend typecheck and production build pass.
|
||||
|
||||
Next:
|
||||
- Run the full release gate, deploy, verify a real bounded GRB edition delta
|
||||
through the canonical API and inspect the daily Evolution UI on Tower.
|
||||
|
||||
@@ -151,6 +151,38 @@ Collectiecatalogus en contract:
|
||||
- https://geo.api.vlaanderen.be/GRB/ogc/features/v1/collections?f=text%2Fhtml
|
||||
- https://geo.api.vlaanderen.be/GRB/ogc/features/v1/openapi?f=text%2Fhtml
|
||||
|
||||
### Beheerde GRB-edities en objectevolutie
|
||||
|
||||
Elke regionale GRB-import blijft een onveranderlijke Dataset in dezelfde
|
||||
`temporal_series_key`. De operators bewaren uitsluitend de officiële OGC
|
||||
feature-ID als `source_feature_id`; een ontbrekende ID wordt niet vervangen
|
||||
door een geometriehash. Nieuwe snapshots declareren
|
||||
`identity_scheme=grb_ogc_feature_id` en de toegelaten collectieprefixen.
|
||||
|
||||
De tijdelijke vergelijkingsservice toont toegevoegde, verwijderde en gewijzigde
|
||||
objecten alleen wanneer beide snapshots hetzelfde gecontroleerde
|
||||
identiteitscontract hebben en alle geselecteerde ID's aanwezig en uniek zijn.
|
||||
Oudere, reeds beheerde snapshots worden alleen onder hun volledige
|
||||
authoritatieve operatorprovenance aanvaard. Dagelijkse editieverschillen zijn
|
||||
wijzigingen in de officiële registratie; de fysieke wijziging kan eerder zijn
|
||||
gebeurd.
|
||||
|
||||
### Refreshgereedheid van officiële bronnen
|
||||
|
||||
| bronfamilie | huidige behandeling | volgende veilige stap |
|
||||
| --- | --- | --- |
|
||||
| GRB gebouwen/wegen/water/percelen | operationele, expliciete plan-stage-apply refresh met onveranderlijke snapshots | alleen een nieuw officieel gedateerd cataloguseditie na operatorbevestiging ophalen |
|
||||
| Statbel bevolking | jaarlijkse, expliciete edities in één tijdreeks | een nieuwe publicatie alleen na schema-, sectorgeometrie- en totalencontrole toevoegen |
|
||||
| ALZ landbouwgebruikspercelen | definitieve jaarlijkse edities 2008-2025; metricvergelijking zonder objectlineage | eerst een stabiele machineleesbare editiebron verifiëren, daarna dezelfde begrensde operatorflow toepassen |
|
||||
| orthofoto | vaste lokale opname per expliciete analysezone; catalogusprobe is alleen een signaal | vluchtjaar, productvariant en dekking vergelijken voordat nieuwe pixels worden opgehaald |
|
||||
| landgebruik, thematische rasters, DHMV en VMM-scenario's | vaste product-/scenario-edities, geen rolling snapshot | alleen een nieuwe gedocumenteerde producteditie als afzonderlijke Dataset verwerven |
|
||||
| bodemkaart en historische kaarten | historische referentie-editie | niet als verouderde actuele bron labelen; alleen vervangen bij een officiële inhoudelijke heruitgave |
|
||||
| BWK/Natura 2000 en gebouwen-/adressenregister | expliciete actuele snapshot met eigen methodologische betekenis | eerst een stabiele officiële editieprobe en bron-specifieke reconciliatiecontrole toevoegen |
|
||||
|
||||
Geen van deze regels activeert een browserfetch, scheduler of automatische
|
||||
vervanging. Een bron wordt pas `refreshable` wanneer versie, dekking, schema,
|
||||
provenance en een begrensde acquisitieroute afzonderlijk verifieerbaar zijn.
|
||||
|
||||
### Mol population history
|
||||
|
||||
`scripts/provision_mol_population_history.py` imports official Statbel
|
||||
|
||||
@@ -670,3 +670,20 @@ This file now starts with the current implementation status. Older preparation/b
|
||||
- [x] 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.
|
||||
- [x] Add the digital soil map through DatasetService and VectorFeatureService.
|
||||
|
||||
# Sprint 224 - Governed GRB evolution
|
||||
|
||||
- [x] Audit all eight retained regional GRB snapshots for complete official
|
||||
source identities and geometry-hash fallbacks.
|
||||
- [x] Validate old governed snapshots through authoritative, complete and
|
||||
approved operator provenance before enabling object-level comparison.
|
||||
- [x] Make future regional GRB imports reject missing official OGC identities.
|
||||
- [x] Persist explicit identity schemes and collection prefixes on new GRB
|
||||
snapshots.
|
||||
- [x] Show precise daily edition ranges and explain registration-date nuance in
|
||||
the Evolution workspace.
|
||||
- [x] Document refresh readiness across the complete official-source portfolio.
|
||||
- [ ] Add the next governed catalog probe only after an official stable version
|
||||
contract is verified; ALZ annual releases are the first candidate.
|
||||
- [ ] Keep orthophoto refresh manual until product variant, flight year and
|
||||
complete selected-area coverage can be compared deterministically.
|
||||
|
||||
Reference in New Issue
Block a user