Epic: #51 · risk-register C-30 (Tier 1) · depends on #53 (S2) · cross-repo deps below
Problem
At the global switch from africa_me_legacy to land/land_gaul, 82 sub-Antarctic cells (Macquarie, Auckland Islands, Prince Edward; sample gids 51078, 51798, 53979, 62356, 94776, 99027) have no GAUL assignment in any source. Through the lookup enricher they left-merge to NaN → _validate crashes — loud, but on delivery day. The register's chosen direction (D-10) excludes them upstream via a curated land_gaul region (land ∩ gaul0_code != -1, 64,736 cells), so they never arrive.
Context
- The enricher's left-merge + the
_validate null-gate already make an unassigned cell crash rather than silently corrupt (good) — but the crash is unanticipated/undated; this pins it.
land_gaul build is upstream (views-datafactory, D-10); the REGION flip is views-models#127.
Work (this-repo artifacts can be built now, against the known counts)
Acceptance criteria
Dependencies
Files
views_postprocessing/unfao/ (the exclusion constant + coverage pin), tests/, a disclosure note (docs or release-note snippet).
Epic: #51 · risk-register C-30 (Tier 1) · depends on #53 (S2) · cross-repo deps below
Problem
At the global switch from
africa_me_legacytoland/land_gaul, 82 sub-Antarctic cells (Macquarie, Auckland Islands, Prince Edward; sample gids 51078, 51798, 53979, 62356, 94776, 99027) have no GAUL assignment in any source. Through the lookup enricher they left-merge to NaN →_validatecrashes — loud, but on delivery day. The register's chosen direction (D-10) excludes them upstream via a curatedland_gaulregion (land ∩ gaul0_code != -1, 64,736 cells), so they never arrive.Context
_validatenull-gate already make an unassigned cell crash rather than silently corrupt (good) — but the crash is unanticipated/undated; this pins it.land_gaulbuild is upstream (views-datafactory, D-10); theREGIONflip is views-models#127.Work (this-repo artifacts can be built now, against the known counts)
land_gaulto 64,736 complete cells.== 82) constant + test — not a generic!= -1filter (which would silently absorb future coverage regressions).land_gauldry-run when available) that enrichment yields 0 unmapped, and an injected unassigned cell still crashes loud.Acceptance criteria
land_gaulfixture/run asserts exactly 64,736 complete + 82 named exclusions; counts pinned in a test.Dependencies
land_gaulcurated region (D-10).REGIONtoland_gaul(gates the live run; the constant/test/disclosure can land first).Files
views_postprocessing/unfao/(the exclusion constant + coverage pin),tests/, a disclosure note (docs or release-note snippet).