Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open Beginner friendly
#2,116 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python

Research direction

Start in policyengine_uk/programs.yaml and inspect CountryTaxBenefitSystem().variables plus parameters.get_child; run the pytest suite to understand the registry checks. Add the requested consistency test and update the stale entries, with completion shown when every variable exists and every parameter prefix resolves.

Written by the indexing model from the issue text.

Description

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.

Dominant language
Python
Stars
50
Forks
34
Avg merge
2d 4h
Merged PRs (30d)
130

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PolicyEngine/policyengine-uk

All issues in PolicyEngine/policyengine-uk

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.