Repository navigation
Conversation
Fix evidence failed #1969 on 29 Oct because its Reproducer line ended "`...::test_x`.": _unquote_id strips backticks only when the value ends with one, so the last id kept both. A period right after a closing backtick now ends the sentence. An unquoted id keeps a trailing period, since a YAML test's name can end with one. #2735 failed because its YAML names contain commas and the line left them unquoted. The hint now says to put such an id in backticks. Fixes #2743 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Aggregate impact on certified data: passBase Checks: 0 broken by this change, 1 failing on both sides, 0 fixed. Moves flagged for review: 0 (thresholds in Notes
Moves flagged for reviewNone. Spending by benefit and service
Caseloads
Standard reform costings (change in gov_balance)
Standard reforms: change in each reform's target
Household net income by decileNo household's net income changes in any year. No change in any year: receipts by tax head; government balance, each component counted once; model totals; household income totals; population; poverty rates; people in poverty; inequality; mean household net income in each side's own deciles. Checks failing on both base and head (1)
Counted-once checkEach of 91 components was raised by £1 per unit in 2026-27, and every head of its totals was read household by household: its own head must rise by exactly £1, no other tax head may move, no other benefit may rise, and the model's own total must move by what its heads moved. A head that breaks a rule is measured again twice: with every other head held at its baseline value, and with every other head held at its value after the first £1 while the component rises again. It fails where either still shows the response. 0 failed; 0 were skipped.
Provenance
Dataset: Receipts by tax head: head levels
Spending by benefit and service: head levels
Caseloads: head levels
Government balance, each component counted once: head levels
Model totals: head levels
Household income totals: head levels
Population: head levels
Poverty rates: head levels
People in poverty: head levels
Inequality: head levels
Mean household net income in each side's own deciles: head levels
Standard reform costings (change in gov_balance): head levels
Standard reforms: change in each reform's target: head levels
|
Fixes #2743
Reproducer:
policyengine_uk/tests/code_health/test_check_fix_pr.py::test_a_period_after_a_closing_backtick_ends_the_sentenceCause
Fix evidence failed two pull requests on 29 Oct over how
.github/check_fix_pr.pyreads aReproducer:line:`…::test_x`.._unquote_idstrips backticks only when the value ends with one, so the last id kept both backticks and the period.parse_reproducerssplits unquoted ids at commas and semicolons, as it should, but the failure hint never said to quote them.Change
_unquote_iddrops a period that follows a closing backtick. An unquoted id keeps a trailing period, since a YAML test's name can end with one.REPRODUCER_HINTadds: "Separate several ids with commas or semicolons, and put an id in backticks when its name contains either."test_a_period_after_a_closing_backtick_ends_the_sentencechecks the Value means-tested capital less 10% sale expenses and secured debt (UC reg 49 and legacy equivalents) #1969 shape end to end, a quoted and an unquoted name that ends with a period, and the hint on an unquoted comma name.Invariants
parse_reproducers(Hypothesis property, invariant 3 in the test module).Checks run
test_check_fix_pr.py: 168 passed on this branch. With main'scheck_fix_pr.pyswapped in (SHA-256b72dfc1b…), the round-trip property and the new test fail and the other 166 pass.ruff format --checkandruff check(0.9.0) pass on both files.pull_request_target), so the Reproducer line ends without a period. Run locally at 4d08bce: main's checker passes this body and fails the same body with a period after the closing backtick, the bug itself; this branch's checker passes both (base-checker.txtin the hub's job folder).axiom: n/a: CI tooling only.
🤖 Generated with Claude Code