Skip to content

S4 — land_gaul completeness pin: 64,736 + 82 excluded gids + FAO disclosure (C-30) #55

Description

@Polichinel

Epic: #51 · S4 · depends on #53 (S1) · cross-repo gate on the live run · story implementation

Problem (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_gaul region (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; pin land_gaul expected = 64,736.
  • Reuse S1's assert_complete_coverage; add the FAO disclosure content for the 82.

Acceptance criteria

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

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.

Activity

  1. 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
  2. Polichinel commented on Jun 26, 2026

    @Polichinel
    CollaboratorAuthor

    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:

    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.

  3. Polichinel commented on Jun 26, 2026

    @Polichinel
    CollaboratorAuthor

    Delivered and merged to development via #64 (input-integrity sprint S0–S6). ruff clean, 126 passed / 44 xfailed. Closing — the auto-close keyword did not fire because #64 merged into development, 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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    implementationCode implementation workstoryA single reviewable unit of an epic

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions