Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Return a 400 for economy years the simulation service's model cannot project

Ouverte
#4,093 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 3 jours

@anth-volk y travaille déjà.

Depuis le 27/10/2026.

  • #4094 par @anth-volk — ouverte

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
python
Domaine
api

Piste de recherche

Start in country.py to see how economy_options.time_period is built, then inspect the API's handling of simulation service error codes, especially the SPM input codes. Check the linked PolicyEngine/policyengine-sim-api#969 for the stable error code and message contract. Done means DATASET_YEAR_UNAVAILABLE maps to a readable 400 response and UK metadata years follow the installed model projection; preserve current behavior for unknown codes and services that omit the code.

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

Description

Problem

A society-wide (economy) request for a year the simulation service's model cannot project its dataset to returns 502, and the failure is stored and replayed for 30 days as a computation failure.

  • policyengine-uk projects its UK dataset (data year 2024) only to 2032 (2030 before policyengine-uk 2.130.1). A UK request for 2033 fails in the simulation service. Its job-status endpoint returns 500, and get_economic_impact returns 502 with "Simulation entrypoint execution failed: Simulation failed (correlation_id=…)". Every retry returns the same stored failure.
  • This happened on 2026-10-15 for 2031–2035 and on 2026-10-26 for 2033–2039.
  • The UK years in the country metadata (economy_options.time_period, built in country.py) still stop at 2030. The app reads that list.

Intended change

  • The simulation service will answer such a job with 400 and the stable code DATASET_YEAR_UNAVAILABLE (PolicyEngine/policyengine-sim-api#969). Map that code to a 400 with the service's readable message, such as "UK results are available for 2024 to 2032", in the same way as the SPM input codes.
  • Keep today's behaviour for unknown codes, and for a simulation service that doesn't send the code yet.
  • Make the UK metadata years follow the installed policyengine-uk's projection, so the list runs to 2032 now and moves with the model.

This is the Public API part of a change that also touches the simulation service and the app.

Langage dominant
Python
Étoiles
18
Forks
33
Merge moyen
2 j 16 h
PR mergées (30 j)
53

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-api

Toutes les issues de PolicyEngine/policyengine-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.