Fix ignored uprating rounding rules in state tax parameters - #9371
Conversation
c75fed7 to
8d50c52
Compare
|
@DTrim99 @hua7450 — while resolving the rebase conflict with #9351, I found a separate Washington WFTC uprating limitation worth recording. RCW 82.08.0206(3)(d)-(e) requires the inflation-adjusted WFTC refund amounts to use the Seattle-Tacoma-Bellevue CPI-W and round the results to the nearest $5. This PR correctly activates the previously ignored $5 rounding, but the underlying parameter currently uses The relevant BLS local series is For this PR, I retained the existing |
|
Guidance on this one, from digging into it alongside the WA WFTC verification issue (#9373): The nesting transform is correct and it's the right shape. Moving One check before un-drafting: the other 10 programs (WI/VT/NM/SC/OR/AR) also get rounding newly-applied to their 2026+ projected values. CI being green suggests none moved a tested value, but it's worth a quick confirm that no projected amount silently changed without a test covering it. Once that's clear, I think this is ready to come out of draft. Sequencing with #9373: please land this first. I've opened #9391 for the WA WFTC model bugs (phase-out rate, effective year), and it deliberately does not touch |
|
Completed the projected-value audit requested above.
Validation completed: 21 new parameter-level cases, the parameter-metadata placement check, and 50 existing Washington calculation cases all pass. No calculation/integration tests were added in this follow-up. |
|
Reviewed the follow-up — the projected-value audit is exactly what was needed, and it caught two real bugs the mechanical nest would have shipped. Nicely done. Verification summary: Metadata-placement bug class — fully clean. Every bracket-scale param (AR, SC, VT ×5, WI rates ×4, WI phase-out ×4) attaches the uprating/rounding metadata to the Published values — all four CONFIRMED against source:
Core nest — faithful. Every removed One should-address:
Minor / optional:
Coordinate before un-draft: this now re-pins the WA WFTC partner contract files ( Heads-up on my #9373 PR (#9391): it also touches Net: I think this is ready to come out of draft once the WI link is fixed and the partner change is coordinated. 🤖 /review-program |
Program Review (final) — PR #9371 (uprating→{parameter,rounding} nesting + rounding metadata)Reviewed at head Source
Response to the requested auditThe projected-value audit surfaced and fixed two real bugs the mechanical nest would otherwise have shipped:
Critical (Must Fix)None.
Should Address
Suggestions
Partner-facing change (coordinate before merge)This PR re-pins the WA WFTC partner contract files ( Cross-PR noteMy WA WFTC bug-fix PR (#9391, for issue #9373) also edits Validation Summary
Branch Status⚠ PR branch is behind main (large gap). Consider rebasing before merge. Review was scoped to the PR's actual changes (merge-base diff) — staleness did not affect findings. Review Severity: REQUEST_CHANGESNo critical issues — the audit was thorough and caught two real bugs; the nest, published values, WA millionaires schedule, and regression coverage all check out. Requesting changes only for the one should-address (the broken WI 2026 Form 1-ES URL, replicated in four files) and to flag the WA WFTC partner-contract change for coordination. Ready to un-draft/merge once those are handled. 🤖 /review-program |
DTrim99
left a comment
There was a problem hiding this comment.
Final review posted above. No critical issues — the projected-value audit was thorough and caught two real bugs (SC rate-rounding, WA millionaires annual-vs-biennial), the published values all confirm against source, and the regression coverage is genuine. Requesting changes only for the one should-address: the WI 2026 Form 1-ES reference URL 404s in all four wi/.../rates/*.yaml (use TaxForms2026 not Tax%20Forms%202026). Also please route the WA WFTC partner-contract re-pin through the partner gate before merge. Ready to un-draft once those are handled. 🤖 /review-program
Fixes #9370
Summary
This change must merge before PolicyEngine/policyengine-core#216 starts rejecting the previous structure during parameter loading.
Validation
make formatNo calculation/integration tests were added as part of the follow-up audit.