Repository navigation
S4 — land_gaul completeness pin: 64,736 + 82 excluded gids + FAO disclosure (C-30) #55
Description
Activity
- addedstoryA single reviewable unit of an epicA single reviewable unit of an epicimplementationCode implementation workCode implementation work
on Jun 24, 2026 - changed the title
[-]S4 — Count-pin land_gaul completeness + FAO disclosure of the 82 excluded cells (C-30)[/-][+]S4 — land_gaul completeness pin: 64,736 + 82 excluded gids + FAO disclosure (C-30)[/+]on Jun 26, 2026 S4 implemented on `sprint/fao-input-integrity` — with a count correction.
Deriving the exclusions from the live producer (views-datafactory v1.4.0) surfaced that this issue's pinned numbers are stale:
- 64,742 complete + 76 excluded — not the 64,736 + 82 in the title/body.
- Cause: datafactory refactor(structure): S5 — separate partner declarations from delivery machinery #163 (ADR-043) supplemented 6 Azorean cells (182470, 183190, 183909, 183910, 186058, 186778) into `land_gaul` after feat(delivery): S1 — one delivery path; refuse an incomplete launch config #159. They are now covered, not excluded (82 − 6 = 76).
- vpp's own built lookup (`data/gaul_lookup.parquet`) already ships 64,742, so the old 64,736 pin would have false-positived against our own artifact.
- Authoritative exclusion source = the region complement `land − land_gaul` (76), not raw `gaul0_code == -1` (82), which doesn't reflect the ADR-043 curation.
Delivered (AC):
- 64,742 complete pinned; 76 named exclusions, count-asserted in a test.
- The 76 gids enumerated in `delivery/coverage.py` (`EXCLUDED_GIDS_BY_REGION`) + disclosed in `docs/fao_excluded_cells.md`.
- An injected unassigned/extra cell raises loud (`assert_no_excluded_cells`, wired region-gated into `_check_coverage`).
- Drift tripwire: a test cross-checks the manifest against the datafactory sibling when present.
Register C-30 updated with the drift correction + mitigation note. Still Tier 1 until the live `land_gaul` run (views-models#127) exercises it end-to-end.
- added a commit that references this issue
on Jun 26, 2026 Delivered and merged to
developmentvia #64 (input-integrity sprint S0–S6). ruff clean, 126 passed / 44 xfailed. Closing — the auto-close keyword did not fire because #64 merged intodevelopment, not the default branch. Live-run validation of the residual contracts (C-25 identity name/loa, C-43 enrichment equivalence) is tracked in the risk register and exercised by the go-global run (views-models#127).
Epic: #51 · S4 · depends on #53 (S1) · cross-repo gate on the live run ·
storyimplementationProblem (C-30, Tier 1)
At the land_gaul switch, 82 sub-Antarctic cells have no GAUL assignment → NaN → crash on delivery day. Direction (register D-10): exclude them upstream via the curated
land_gaulregion (64,736 cells).Build shape (per the epic design contract)
delivery/coverage.py(extend, representation-free): the 82 excluded gids as a named, count-asserted (== 82) constant; pinland_gaulexpected = 64,736.assert_complete_coverage; add the FAO disclosure content for the 82.Acceptance criteria
land_gaulfixture/run asserts exactly 64,736 complete + 82 named exclusions; counts pinned in a test.Dependencies
#53 (S1) coverage mechanism; views-datafactory land_gaul region (D-10) + views-models#127 (REGION flip) gate the live run — the constant/test/disclosure land first.
Files
views_postprocessing/delivery/coverage.py(extend),tests/, a disclosure note.