Add governed ALZ release promotion
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-17 00:53:34 +02:00
parent 904f8bd9d2
commit ad2c3481c4
15 changed files with 1357 additions and 19 deletions
+23 -1
View File
@@ -173,7 +173,7 @@ gebeurd.
| --- | --- | --- |
| 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; officiële DCAT-releaseprobe | een nieuwe publicatie alleen na schema-, sectorgeometrie- en totalencontrole toevoegen |
| ALZ landbouwgebruikspercelen | definitieve jaarlijkse edities 2008-2025; expliciete officiële publicatieprobe; metricvergelijking zonder objectlineage | een nieuwere definitieve v3-editie eerst handmatig beoordelen en daarna via de bestaande begrensde operatorflow toevoegen |
| ALZ landbouwgebruikspercelen | definitieve jaarlijkse edities 2008-2025; expliciete publicatieprobe en plan-stage-review-apply promotie; metricvergelijking zonder objectlineage | alleen een nieuwere definitieve v3-editie na gestagede schema-/codelijst-/scopecontrole en benoemde review toevoegen |
| 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 |
@@ -190,6 +190,22 @@ actuele `2026-v1` zichtbaar maar niet updategerechtigd blijft. De probe leest
alleen de allowlisted HTML-pagina en linkidentiteiten; ZIP-archieven worden pas
door de afzonderlijke operator opgehaald na menselijke editiebevestiging.
`scripts/manage_alz_agriculture_release.py` beheert zo'n toekomstige
definitieve editie in vier afzonderlijke operatorstappen. `plan` vergelijkt
read-only de nieuwste v3 met de lokale `*-definitive` Dataset. `stage` vereist
de exacte `YYYY-v3`, leidt de archief-URL af uit de gecontroleerde campagne en
publicatiedatum en voert de bestaande provisioner uitsluitend met
`--force --fetch-only` uit. Het staged plan bindt bronarchief, GeoPackage-
schema/CRS, genormaliseerde GeoJSON, gewascodelijst, scope-aantallen en de
verschillen met de vorige definitieve editie aan SHA-256.
`review` vereist een benoemde menselijke goedkeuring van exact dat plan.
`apply` vereist de plan- en reviewhash, controleert catalogus en alle bestanden
opnieuw en maakt via de bestaande uploadservice hoogstens een nieuwe immutable
Dataset. Een v1/v2-snapshot, huidige of oudere editie, cataloguswijziging,
gewijzigde bronbyte of evidence buiten de beheerde opslagroot blokkeert de
flow. Er is geen scheduler, browserdownload of automatische vervanging.
De Statbel-probe leest uitsluitend de officiële DCAT Turtle-catalogus en
selecteert de nieuwste unieke Nederlandstalige publicatie `Bevolking per
statistische sector`. Voor 2025 vereist GeoIntel de nieuwe REDEGEO-indeling;
@@ -409,6 +425,12 @@ annual field set, read through the GIS optional dependencies and deleted after
the normalized GeoJSON has been built. Geometry is clipped exactly against the
persisted scope Area in Lambert 72 and imported only through DatasetService.
Future definitive editions are accepted only as one explicit release per
operator run with an exact official
`agpa_<campaign>_<publication-date>_public.zip` identity. Reaching that URL is
not sufficient for persistence: the separate release manager must first stage
and bind all evidence, receive named approval and revalidate it during apply.
The regional default creates the series
`alz:agricultural-use-parcels:kempen-transport-region`; `--scope mol` creates an
independent Mol series. Selection and evolution expose exact intersected