Repository navigation
Conversation
The Pension Credit route test computed CTR income with the whole tax liability, and the trading-loss test held income tax, which the CTR branches then read unchanged. Both now use council_tax_reduction_tax_deduction. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6KeMAheSRPPEYghYkj
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6G23mTmYu4Zu1DbAPa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6G23mTmYu4Zu1DbAPa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6Kxyq1frfihPSQorLM
… branch Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6GwwVa9CRxP94r4i4J
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6GwwVa9CRxP94r4i4J
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cases 4, 5, 6, 12, 13 and 14 of esa_income_pension_age.yaml assert a full-year income-related ESA award in 2026-27. Each ESA reporter now has the art. 3A(2) appointee saving, so the 1 July 2026 abolition leaves the award payable for the whole year and each case still tests the pension-age bar and the Pension Credit condition. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6G23mTmYu4Zu1DbAPa
…s test #2340 reads a basic State Pension recipient aged 80 or over as reporting the 25p age addition. The basic reporter is 85, so it now reports the full basic rate plus the addition, and the test checks that the model pays the addition at the data year's 25p in every year. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6GwwVa9CRxP94r4i4J
The 2026 examples of test_esa_income_pension_age_properties.py draw saved awards, and the three 2026 example tests give each reporter the art. 3A(2) appointee saving, so each award stays payable for the whole year and the tests still check the pension-age bar and the Pension Credit condition. legacy_award_work_reference.esa_abolition_claim reads the saving. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6G23mTmYu4Zu1DbAPa
…ls test The household's stocks-and-shares ISA reaches Universal Credit capital through share_like_capital, which UC values less its sale-expense rate (UC Regulations 2013 reg. 49(1)(a)). Build the expected capital from savings, the cash ISA and the ISA less that rate, read from the parameters, and keep the check that capital keeps one ratio to savings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6Kxyq1frfihPSQorLM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6G23mTmYu4Zu1DbAPa
FA 2004 s. 192(4A) raises the Scottish basic rate limit and the Scottish rate limits above it, where a Scottish rate above the Scottish basic rate is chargeable. The docstring and one comment said "the Scottish rate limits". Text only; the AST with docstrings blanked matches 3b54d53. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The excess comes in whole pence only for a limit in whole pence. numpy reports both nextafter from zero and spacing of the subnormal it returns as underflow, so both stay inside the errstate blocks. Text only; the AST with docstrings blanked matches df78930 in both files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On macOS arm64 numpy reports np.spacing(np.float32(0)) as underflow, at the locked 2.4.6 and at 2.1.3, 2.4.2 and 2.5.4; CI's Linux arm64 runners pass the same check at 2.4.6. Under the strict state in test_stored_pence.py, stored_pence of a zero amount then raises on a Mac, so both zero tests fail there. The Class 1 tolerance in carers_allowance_earnings takes the same step for a person with no NI income. Both now work it out under np.errstate(under="ignore"), which changes no value and restores numpy's error state when the block ends. At macOS arm64 and numpy 2.4.6, test_stored_pence.py gives 2 failed on the two zero tests before this commit and 11 passed after it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cut the changelog fragment to one sentence, as the repository's rule asks, rewrap the one docstring line over 88 characters, and state what the generator comment holds for inferred roles too. Text only; the test file's AST with docstrings blanked matches e700316. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
state_pension_reported's documentation says the three components divide the report by 52, but on this tree they read it less any age addition. Say so. Rewrite the test docstring's sentence on the ages at which the model gives a woman the basic type. Text only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
WRA 2007 Sch 1 para 6(1)(c) and (d) make the two awards exclusive. Where the couple's Pension Credit without the award is nil, the model pays the award and no Pension Credit, whatever the award would add through the SPC Regs 2002 Sch VI para 4(1)(a)(vii) disregard. Case 18 now expects that, case 25 states the para 4(2) limit, and the combined property requires no family to have both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6KPXgYTCw1EWx4JK8T
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6KPXgYTCw1EWx4JK8T
Takes #2010's side for its own five files: the merge's second base reverts them to main, which #2010's versions already contain. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6KBpj2nEGrPeiuxZmW
…eduction T(E, S, U) now zeroes income_tax_charges beside the uncounted income: the High Income Child Benefit Charge recovers Child Benefit, which the pensioner schemes do not count, and the pension annual allowance charge falls on contributions. Add YAML cases for the charge, a working-age partner's Class 1 in a pensioner scheme, reg 37(1)'s personal relief with Marriage Allowance, and the Scottish Marriage Allowance cliff; a property test that a Child Benefit claim leaves the pensioner deduction unchanged; and assert invariant 5 on a simulation with the tax cliffs held, in place of the exemption. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6HngezwZWa7uwAqaXr
… contribution LHA_allowed_bedrooms reads is_benefit_unit_non_dependant_for_universal_credit, the definition uc_non_dep_deductions uses, and counts an in-unit non-dependant of a family that makes no claim in the claim that counts the household's non-dependants, as uc_non_dep_deductions does. Adds the adult son's case through final UC and household income, its own-unit control, a non-claiming head's son in a sharer's claim, and properties tying rooms to contributions and to the coding of the benefit unit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6KBpj2nEGrPeiuxZmW
Keep #2279's own-right documentation for Pension Credit's young person and this branch's 1 September end; drop the sentence that said the model did not apply that end. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6Jra6ok6eCQvZUMMLg
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6Jra6ok6eCQvZUMMLg
…date Add YAML cases 13 and 14: a 19-year-old at school before the 1 September following their 19th birthday who reports their own Universal Credit or income-related ESA is a qualifying young person for neither programme. State Income Support as the exception to Universal Credit and Pension Credit agreeing, assert the agreement grid holds nobody on it, and test that own Income Support in 2025-26 ends the Pension Credit status only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6Jra6ok6eCQvZUMMLg
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis
force-pushed
the
hub-integration-1106-c
branch
from
November 6, 2026 14:07
7639262 to
4532c8d
Compare
Collaborator
Author
|
Both runs finished at 15:38Z. Every test that finished passed except one, and seven of the fourteen Python shards stopped before their tests finished.
Shard 7 failed I'm closing this draft and deleting its branch. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This draft now sits on main at
d60944e9e, which holds #1966 and #2002, so CI can test 28 open pull requests as one tree. Please don't merge it: I'll close it and delete the branch when the run finishes, and post the result here first.I merged these in order, and the ones after "with" arrive inside the pull request they follow:
835fab99c, its real merge of mainffa8651ff, its real merge of mainNo single pull request's CI tests these combinations, and the merges here fix them:
enhanced_disability_premiumandis_enhanced_disabled_for_benefits, the flag Count enhanced PIP daily living and AFIP for the enhanced premium #2808 retires. The route now readscouncil_tax_reduction_enhanced_disability_premiumand its condition, and four new cases cover it.council_tax_reduction_tax_deduction.yamland its property file from Deduct only the tax Council Tax Reduction schemes allow #2834. At pay of 43,661 the deduction rises from 8,542.56 to 8,555.16, and two more pounds of pay raise it by 252.79 in place of 265.39.council_tax_reduction_applicable_income.council_tax_reduction_tax_deduction, and with a working-age UC award it leaves out the tax the rent would bear without earnings.test_means_tests_see_the_loss_only_through_tax. Hypothesis seeds a derandomized test from its source, so the edit draws new examples, and Run CI on 18 approved PRs merged together (not for merging) #2886 drew a Scottish mixed-age couple on UC with an award of 711.32 with the loss and nil without it. SSI 2021/249 reg 51 adds each trade's profit or loss, and the route follows it through UC's earnings, so I changed the test and left the model. The no-loss run now holdsuc_individual_earned_incomeanduc_individual_earned_income_before_mifas it holds the award, along with the trade's part of the tax and the Welsh route'scouncil_tax_reduction_working_age_unearned_income_tax.boarders_and_lodgers_non_dependants.yamlon four readings:boarders_and_lodgers_non_dependants.yamlstill stated the Housing Benefit scale. At 300 a week, the son's deduction falls from 3,346.20 to 569.40 a year: Scotland's band from 286 takes 10.95 a week.housing_benefit_report_is_rate_rebate_only, so Give benefit-unit members aged 16 or over a bedroom under LHA rules #2010's cycle test now allows anyhousing_benefit_reportvariable.Simulation.subsample, so the guard failed onutils/subsample.py. I added that file toEXEMPT, since it draws only when a caller asks for a sample and no formula reads the draw. No other entry there allows a draw, so please check that this one reads right to you.#1966 and #2834 leave two readings of the tax on pay in place. #2834 deducts the tax the pay adds, and #1966 takes the UC split, with earnings as the lowest slice, so the Child Benefit charge no longer reaches a Scottish working-age award. I kept both here, and the difference needs its own decision.
Each fix moves into the real merge of whichever pull request in its pair lands second. #2828's head already carries its fixes for #1966's route, main's Step 6 order test and the 2019 row of the pensioner tariff table, and #2010's head carries every #2010 fix here except the one that needs #2827.
The run at
76392628blost eight Python jobs about four minutes in, at 15.4 to 15.7 GB, and Test 6/7 at minute 51. The shards that finished failed only on the clashes above, and Release 2/7 passed. #2893 keeps the certified file on one shard, and this head carries it, so this run shows whether that stops the early losses.Reproducer:
policyengine_uk/tests/test_price_base_year.py::test_reform_changes_the_base_year🤖 Generated with Claude Code