Add governed ALZ release promotion
This commit is contained in:
@@ -1,3 +1,46 @@
|
||||
## Sprint 229 - Governed ALZ definitive release promotion (2026-07-17)
|
||||
|
||||
Implemented:
|
||||
- Added `scripts/manage_alz_agriculture_release.py` with separate read-only
|
||||
`plan`, filesystem-only `stage`, named `review` and exact-hash `apply`
|
||||
actions for the approved Kempen regional scope.
|
||||
- Derived the only accepted future archive from the allowlisted definitive
|
||||
`YYYY-v3` campaign and publication date exposed by the existing source-
|
||||
catalog probe. Provisional v1/v2 snapshots remain visible but non-importable;
|
||||
arbitrary URLs, current/older releases and catalog drift fail closed.
|
||||
- Extended the existing agricultural provisioner to accept exactly one
|
||||
explicitly governed future edition per run. Final response URLs and streamed
|
||||
archive size are bounded, retained editions cannot be overridden and all
|
||||
workspace API collections are read with stable-total pagination.
|
||||
- Bound archive, normalized GeoJSON, GeoPackage schema/CRS, complete crop-code
|
||||
list, scope counts/area and previous-definitive-edition manifest/deltas into
|
||||
the staged plan. ZIP member/extracted size is bounded. Review and apply
|
||||
require exact SHA-256 values; apply still uses DatasetService and preserves
|
||||
all historical snapshots.
|
||||
- Packaged the manager in the Unraid image/readiness gate and updated source,
|
||||
data, API, persistence, storage and operator documentation. No endpoint,
|
||||
migration, scheduler, browser fetch or frontend behavior changed.
|
||||
|
||||
Validation so far:
|
||||
- 43 tests passed across the original ALZ importer, official catalog probe and
|
||||
new release manager; 58 passed together with the Statbel release suite.
|
||||
- Target Python compilation and Ruff pass. Coverage includes future release
|
||||
identity, v1/v2 exclusion, pagination drift, download bounds, release
|
||||
ordering, stage/apply separation, source/schema/codelist/baseline evidence,
|
||||
path confinement, byte tampering, named review, catalog drift, full mocked
|
||||
apply, current-edition refusal and runtime packaging.
|
||||
- Complete readiness passed with 850 backend tests, 110 documented routes,
|
||||
one Alembic head `202607160001`, frontend typecheck and production build.
|
||||
Static full-chain Alembic SQL and shell syntax checks also passed. Local
|
||||
Docker is not installed in the Codex Windows environment; Compose and live
|
||||
PostGIS validation are therefore deferred to the Tower deployment gate.
|
||||
|
||||
Boundary:
|
||||
- The official page currently advertises definitive `2025-v3` plus
|
||||
provisional `2026-v1`. No newer definitive edition exists, so live stage,
|
||||
review and apply must remain blocked; only a read-only plan and deliberate
|
||||
current-edition refusal may be exercised after deployment.
|
||||
|
||||
## Sprint 228 - Governed Statbel population release promotion (2026-07-17)
|
||||
|
||||
Implemented:
|
||||
|
||||
Reference in New Issue
Block a user