Skip to content

Replace rich SPM provenance with compact typed receipts - #716

Merged
anth-volk merged 9 commits into
mainfrom
feat/compact-spm-provenance
Oct 2, 2026
Merged

anth-volk merged 9 commits into
mainfrom
feat/compact-spm-provenance

Conversation

@anth-volk

@anth-volk anth-volk commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #715

Summary

  • replaces rich country-owned SPM diagnostics on the public wire with strict compact individual and comparison receipts
  • makes compact spm_provenance the sole source of completed-result forecast, scenario, geography, county-vintage, and date configuration
  • removes the sibling spm_config object from direct, segmented-national, budget-window, generated-client, and temporary Stage 12 completed-result contracts
  • stores only the compact receipt in Stage 12 calculation artifacts and derives internal resolved configuration from that receipt
  • rejects the former dual-field completed-result and Stage 12 artifact shapes rather than accepting them as compatibility inputs
  • regenerates and verifies the gateway and Cloud Run OpenAPI contracts and generated Python client

Validation

  • shared contract and gateway-model suites: 105 passed
  • direct, segmented-national, budget-window, output-builder, and Stage 12 focused suites: 209 passed, 3 skipped
  • gateway SPM routes and OpenAPI golden: 91 passed
  • Cloud Run entry OpenAPI suite: 4 passed
  • generated-client SPM suite: 6 passed
  • focused Pyright: 0 errors
  • Ruff formatting and checks passed on changed files

Individual compact receipts remain below 1 KiB and a 20-segment comparison remains below 2 KiB. Calculation code and numerical result assembly are unchanged.

@anth-volk
anth-volk marked this pull request as ready for review October 2, 2026 12:49
@anth-volk
anth-volk merged commit a81366d into main Oct 2, 2026
11 checks passed
@anth-volk
anth-volk deleted the feat/compact-spm-provenance branch October 2, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace rich SPM provenance with compact typed receipts

1 participant