Expose the certified dataset SHA-256 and gate production on the served identity

Geschlossen
#742 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

Ein zugehöriger Pull Request wurde bereits gemerged.

  • #743 von @MaxGhenis — gemerged

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
api, backend, devops

Rechercherichtung

Start with gateway_models.py, the executor bundle and routing state to trace how the certified default dataset SHA-256 can reach PolicyEngineBundle. Then inspect /versions, cloud-run-simulation-entry-smoke.sh, and the policyengine-release updater. Done means deployed bundle identities are exposed and checked on candidate and promotion, and the updater verifies the dispatch identity against the installed wheel and records the digests in its PR.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

For the UK Autumn Budget (28 October 2026), every number the simulation API serves must be traceable to the exact certified policyengine.py bundle and dataset bytes. Production must also be confirmed to serve that bundle before it counts as ready. Today:

  • The public PolicyEngineBundle schema (gateway_models.py) carries model and data versions but no dataset SHA-256.
  • /versions returns route maps only, with no per-bundle identity.
  • The deploy smoke (cloud-run-simulation-entry-smoke.sh) checks only that /versions responds.
  • The policyengine-release updater reads only client_payload.version, so it cannot confirm that the wheel it installs carries the bundle the release certified.

This issue covers the identity half of production readiness:

  1. Carry the certified default dataset SHA-256 from the installed policyengine.py bundle through the executor bundle, the routing state and PolicyEngineBundle.dataset_sha256.
  2. Expose each deployed wrapper version's bundle identity on /versions (bundles).
  3. Have the deploy smoke assert the expected identity: latest routes to the deployed policyengine version, with its UK model and dataset SHA-256, on the candidate and after promotion.
  4. Have the updater verify the release dispatch's bundle identity against the installed wheel and record the digests in the PR.

A numerical release sentinel and a tested rollback follow in a separate PR.

Vorherrschende Sprache
Python
Sterne
1
Forks
1
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
83

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus PolicyEngine/policyengine-sim-api

Alle Issues in PolicyEngine/policyengine-sim-api

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.