programs.yaml names variables that do not exist (JSA, ESA, DLA, winter_fuel_payment)

Cerrado Apto para principiantes
#2,116 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

@juaristi22 ya está trabajando en esto.

Desde el 16/10/2026.

  • #2443 de @juaristi22 — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python

Línea de trabajo

Comienza en policyengine_uk/programs.yaml e inspecciona CountryTaxBenefitSystem().variables y parameters.get_child; ejecuta la suite de pytest para entender las comprobaciones del registro. Añade la prueba de consistencia solicitada y actualiza las entradas obsoletas. La tarea estará completada cuando exista cada variable y se resuelva cada prefijo de parámetro.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

policyengine_uk/programs.yaml is the program registry served through /uk/metadata as modelled_policies. Four entries name a variable that does not exist in CountryTaxBenefitSystem().variables (checked on main at bfc5fea16):

id variable in programs.yaml variable in the model
jsa JSA jsa (benunit, adds jsa_income and jsa_contrib)
esa ESA esa (benunit, adds esa_contrib and esa_income)
dla DLA dla (person, adds dla_sc and dla_m)
winter_fuel_payment winter_fuel_payment winter_fuel_allowance (household); draft #2038 later adds a person-level winter_fuel_payment

Every parameter_prefix resolves with parameters.get_child. The uppercase prefixes gov.dwp.JSA and gov.dwp.ESA are correct, because those are the directory names. One prefix is wrong in a different way: maternity_allowance has parameter_prefix: gov.dwp, the whole DWP tree, but the model has no Maternity Allowance parameters (maternity_allowance adds maternity_allowance_reported).

No test checks the registry against the model, so these names went stale without anything failing. Wanted:

  • fix the four variables and drop the Maternity Allowance prefix;
  • add a pytest asserting that every variable is in CountryTaxBenefitSystem().variables and every parameter_prefix resolves.

Other open PRs already fix related entries: benefit_cap in #2089, minimum_wage (gov.hmrc → gov.hmrc.minimum_wage) in #2053, and #2038 adds a pawhp entry.

Lenguaje dominante
Python
Estrellas
53
Forks
34
Merge medio
3 d 8 h
PR fusionados (30 d)
323

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PolicyEngine/policyengine-uk

Todos los issues de PolicyEngine/policyengine-uk

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.