Skip to content

S4 — Count-pin land_gaul completeness + FAO disclosure of the 82 excluded cells (C-30) #55

Description

@Polichinel

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)

  • Build on S2 — Coverage contract: assert expected cell count + log cell counts (C-34) #53's coverage assertion: count-pin land_gaul to 64,736 complete cells.
  • Enumerate the 82 excluded gids as a named, count-asserted (== 82) constant + test — not a generic != -1 filter (which would silently absorb future coverage regressions).
  • Produce the FAO disclosure content for the 82 excluded sub-Antarctic cells (for the release note).
  • Verify (fixture now; live land_gaul dry-run when available) that enrichment yields 0 unmapped, and an injected unassigned cell still crashes loud.

Acceptance criteria

  • A land_gaul fixture/run asserts exactly 64,736 complete + 82 named exclusions; counts pinned in a test.
  • The 82 gids live in a constant + are documented for FAO disclosure.
  • An injected unassigned/extra cell raises loud (no silent pass).

Dependencies

Files

views_postprocessing/unfao/ (the exclusion constant + coverage pin), tests/, a disclosure note (docs or release-note snippet).

Metadata

Metadata

Assignees

No one assigned

    Labels

    implementationCode implementation workstoryA single reviewable unit of an epic

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions