Skip to content

S6 — End-to-end input-integrity test suite (through the manager seam) #57

Description

@Polichinel

Epic: #51 · S6 · depends on #53/#52/#54/#55/#56 (S1–S5) · story testing

Problem

The unit tests cover each invariant on primitives; this story proves the guards fire end-to-end through the manager on synthetic data (the integration layer above each story's own unit tests).

Work — one tests/test_input_integrity_e2e*.py:

  • Coverage (S1/C-34): correct region count passes; under/over raises.
  • Observed range (S2/C-26): a month beyond last_valid_month_id is not delivered as zero (skip/xfail with reason if the companion isn't landed).
  • Forecast identity (S3/C-25): a decoy forecast file is rejected.
  • land_gaul (S4/C-30): 64,736 + 82 fixture; injected unassigned cell crashes loud.
  • Provenance (S5/C-15): upload metadata carries the structured fields.

Acceptance criteria

  • The module covers all five through the manager seam; green where implemented, explicit skip/xfail (with reason) where gated.
  • ruff + full suite green; the design-contract stubs are all real (no remaining input-integrity xfails except C-40-deferred manager inheritance).

Files

tests/test_input_integrity_e2e*.py (new).

Activity

  1. added
    storyA single reviewable unit of an epic
    testingTest/parity/validation work
    on Jun 24, 2026
  2. changed the title [-]S6 — Input-integrity end-to-end test suite (C-25/C-26/C-30/C-34/C-15)[/-] [+]S6 — End-to-end input-integrity test suite (through the manager seam)[/+] on Jun 26, 2026
  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

    storyA single reviewable unit of an epictestingTest/parity/validation work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions