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

Fermée
#742 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Une pull request liée a déjà été fusionnée.

  • #743 par @MaxGhenis — fusionnée

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
api, backend, devops

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Python
Étoiles
1
Forks
1
Merge moyen
1 j 15 h
PR mergées (30 j)
78

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de PolicyEngine/policyengine-sim-api

Toutes les issues de PolicyEngine/policyengine-sim-api

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.