Skip to content

End-to-end reconciliation parity gate vs frozen views-reporting #37

Description

@Polichinel

Epic: #31 · Depends on: #36

Background

The gate that turns "leaf ported" into "pipeline migrated." Slice 1 proved the leaf; this proves the whole orchestration reproduces the frozen views-reporting pipeline end-to-end. This is epic acceptance criterion #1.

Work

  • Using the S0 fixture (cm + pgm + injected mapping + the oracle's reconciled pgm), assert our ReconciliationModule reproduces the oracle's reconciled pgm output (bit-exact, or a tight, documented tolerance).
  • Add module-level property tests: per-(country, time, draw) sum constraint, zeros preserved, non-negativity, de-mutation.

Acceptance criteria

  • End-to-end parity green offline (CI needs no torch / views-reporting / viewser).
  • Property tests pass.
  • Any tolerance is documented with the float32 rationale (slice-1 parity was exact, so expect ~exact).

Validation

  • pytest tests/test_reconciliation_e2e_parity.py green; full suite stays green.

Metadata

Metadata

Assignees

No one assigned

    Labels

    reconciliationForecast reconciliation migration (views-reporting -> here)storyA single reviewable unit of an epictestingTest/parity/validation work

    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