PolicyEngine / PolicyEngine/policyengine-uk
Household-impact tests return 0 for expected-positive tax/benefit values on 2.88.0
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 50
- Forks
- 33
- Avg merge
- 20h 58m
- Merged PRs (30d)
- 14
Description
Summary
In policyengine.py's [uk] / [dev] extras bumped to policyengine-uk==2.88.0, two household-impact integration tests assert positive tax / child-benefit values that now come back as 0.0:
TestUKHouseholdImpact.test_single_adult_with_employment_income—assert 0.0 > 0on expected positive taxTestUKHouseholdImpact.test_family_with_children—assert 0.0 > 0on expected positive child benefit
Under the old policyengine-uk==2.74.0 pin, both passed.
Reproducer: https://github.com/PolicyEngine/policyengine.py/pull/280 — Test (3.13) / Test (3.14) jobs.
Hypothesis
Either:
- uk 2.74 → 2.88 legitimately changed the 2024 household calculation semantics (e.g. different policy year defaults, tax threshold shifts) — then the pypkg test expectations need updating, or
- There's a regression in uk 2.88.0 for these specific household compositions.
I don't know the uk tax-benefit details well enough to diagnose.
Not blocking
Doesn't block the 3.9-support work that's already merged — uk main CI passes on 2.88.0 because uk's own YAML tests don't exercise this specific pypkg household path.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the [uk] and [dev] extras in policyengine.py and the two named TestUKHouseholdImpact tests. Reproduce the failures in the Test (3.13) and Test (3.14) jobs, then compare behavior between policyengine-uk 2.74.0 and 2.88.0 for both household compositions. Done means identifying whether the dependency change is intentional or a regression and restoring correct passing tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100