Repository navigation
Date Hawaii's EITC from 2018, confine the Act 115 refund to 2021, and use each year's military pay cap - #10205
Conversation
backdate_parameters copies each parameter's first value back to 2015, so the 2021-dated credit lists and the 2017-dated EITC match paid the Act 115 refund in 2015-2020 and the EITC in 2015-2017. Add 2000-01-01 sentinels, start the nonrefundable EITC list and match in 2018 (Act 107, SLH 2017), and zero the Act 115 amounts outside 2021. Also replace the military reserve pay exclusion cap, which used the 2022 amount for 2015-2021, with each year's N-11 instruction value for 2015-2025. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
YAML cases at 2016, 2017, 2018, 2020, 2021 and 2022 for the Hawaii EITC, the Act 115 refund and the credit lists, and military pay exclusion caps for 2015, 2018, 2020, 2021, 2022 and 2025; the 2021 cap case now expects the 2021 instruction amount ($7,152). A grid and Hypothesis property test checks the date invariants for 2015-2026 and compares the exclusion with each year's published cap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Picking this up for the US hub. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
|
Picking this up for the US hub. I continue an earlier session's work: it picked this PR up on 2026-11-02 and stopped before pushing anything. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
Main's #10309 already zeroes the Act 115 amounts before 2021 and keeps the 2022+ schedules on purpose, leaving the dated refundable credit list to confine the refund to 2021. Take main's amount files, check 2022 through hi_refundable_credits instead of the standalone refund, and keep both sides' new test cases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6GA1FXMB3qVPzGgvWQ
|
Picking this up for the US hub. I continue the earlier sessions' work on this PR; they pushed nothing. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
|
Ready for hub review Head: What the item asked, and how I resolved it
Merge with main
Tests (merged head, one file per process)
Hand computations
Mutants (each in its own process, code restored after)
CIThe Pull request run at Judgment calls
Proposed follow-ups
Generated by Claude Code |
|
Hub review in progress Reviewing head Findings so far, still being checked:
Generated by Claude Code |
|
Ready for hub review The head hasn't moved since the hand-off. It merges cleanly with current FindingsP1. The body's "Before" figures and failure counts are wrong at this PR's baseThe body's evidence predates #10202 and #10309, which both landed on main before the merge.
Run: the same filer from 2015 to 2027 at main ( For the failure counts, I ran Replacement table row: P2. The military pay caps move current-year output, and no session has checked them against a source
Year-on-year growth in the PR's series is 1.31%, 2.09%, 2.40%, 2.61%, 3.09%, 3.01%, 2.70%, 4.60% and 5.19% for 2016–2024, then 6.85% for 2025, the largest step. That isn't evidence the value is wrong, but it is the one value that changes baseline output now. Before landing, someone with access should read line 15 of the 2025 N-11 instructions (the P3. The body and the property test say the Hawaii EITC is "40% from 2023", but the parameter returns to 20% in 2028
A web search summary pointed to a 2025 act that may keep the 40% rate past 2027. It was a search summary, not the act, so I don't treat it as established. The 2028 value is on main and outside this PR, so I list it under follow-ups. P3. The military cap differential test copies the parameter file into Python
P3. The brief asked for Act 115 and the HRS 235-55.75 history to be read, and nobody has read themThe author's brief said "confine the Act 115 refund to 2023" and "Read Act 115 and the HRS 235-55.75 history." The PR confines the refund to tax year 2021, and the hand-off reads "2023" as a slip. The code, main's #10309 parameters and the existing references all attribute the refund to the 2021 return, so 2021 is consistent with the model. Neither the author nor I could fetch Act 115, Act 107 or HRS 235-55.75, so the 2018 start and the 2021 year rest on the PR's citations, not on text either session read. MutantsEach mutant ran on a scratch worktree at the head, with each test file in its own process. I restored the code after each one, and
M5 and M6 show that the two Readers of each changed parameter
No reader gets worse. The PR does make these reachable outputs change: Hawaii tax rises in 2015–2017 for filers with a federal EITC and Hawaii liability, the military exclusion falls in 2015–2021, and it rises from 2025 on. So baseline output moves in 2025 and later wherever Checked and sound
What I couldn't check
Follow-ups (main's defects, not this PR's)
Generated by Claude Code |
|
Picking this up for the US hub. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
Brings the branch up to date before the round 1 review changes. No conflicts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6K4r2Szr4jxEJDaoDh
…sources The round 1 review found that the Python differential test copied cap.yaml value for value. Each year's cap from 2015 to 2025 now has a YAML case, so the Python copy and its test go. Two hi_eitc cases pin the 40% match in 2027 and its return to 20% in 2028, when Act 163's increase is repealed and the section reenacted. The references now point at the pages of DOTAX's chapter 235 compilation that hold HRS 235-7(a)(7) and 235-55.75, credit Act 114 (SLH 2022) with refundability, and give the refundable list the right section. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6K4r2Szr4jxEJDaoDh
|
Ready for hub review Head: Round 1 changes, on top of Items
CINot finished at hand-off. The Pull request run at Judgment calls
Left for the hub
Proposed follow-upsNone new. The review's 2028-rate follow-up closes on the sources in the body. Generated by Claude Code |
|
Hub review in progress Round 2 review of head Firm so far:
Still running: the property test against main, mutants, and the #10200 trial merge. Generated by Claude Code |
|
Ready for hub review The head hasn't moved since the hand-off. Its merge base with FindingsP3. Two places cite different sections of Act 163 for the repealThe new comment at P3. The Invariants header says 2015–2026, but its EITC bullet states the 2027 and 2028 ratesIn the body, "Invariants (checked for every grid point and generated household, 2015–2026)" now heads a bullet that gives 0.4 for 2023–2027 and 0.2 from 2028. The property test's P3. The body's 535-case and 543-case runs predate this round"All 535 cases in the Hawaii baseline and contrib YAML tests … pass" and "In a trial merge with #10200 and #10202, all 543 Hawaii YAML cases … pass" were measured before this round added 7 cases (5 military, 2 EITC). Nobody reran them, as the hand-off says. A static count with the same file selection grows by 7 from Round 1 findings, checked
VerificationThe rule, by hand, before reading the formula. The caps are the hub's line 15 amounts: 2016 $6,279, 2017 $6,410, 2019 $6,735, 2023 $7,683 and 2024 $8,082, each below the cases' $10,000 of pay. The EITC with The formula. Tests at the head, one file per process:
The body's evidence against main. I ran
Mutants. Each ran on the scratch worktree at the head, one test file per process. I restored the code after each one, and
The 2027 and 2028 cases assert the claim, not a weaker one: they pin the rate on each side of the repeal date, and the 2028 case also pins refundability. Readers. Baseline output. This round moves nothing. The PR as a whole, as round 1 found, lowers the military cap in 2015–2021, raises it from 2025 (8,315.01 → 8,636 in 2025, uprated after that), and removes the EITC in 2015–2017. The hub's population check is Hawaii income tax for 2025 onward among Hawaii heads and spouses with CI. The Pull request run at this head, 41859475657, completed with success. All 36 jobs succeeded, none skipped or cancelled, including References. Body. The Sources section has its two bullets, and their six links are well-formed. No sentence calls a source unread. Scope and overlap. Nothing under Methodology. The PR dates parameters to the law as DOTAX states it. It picks no reading where the law allows two. What I couldn't check
Generated by Claude Code |
|
Picking this up for the US hub. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
Section 5 of Act 163 (SLH 2023), on PDF page 3, applies the act from 2023 and repeals it on December 31, 2027, reenacting the earlier text. Section 4 only explains the act's bracket and underscore marks. Point the seven parameter files that cite the sunset at Section 5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6HWtPqg7fKcLTqL3ef
|
Ready for hub review Head: Built on Items
Mutants and hand computationsNone. The change only touches reference metadata, so it can't move an output, and no Python file changed. BodyI read the body after the push. It cites Act 163 only for the 40% rate (through DOTAX Announcement 2023-04) and the repeal date (through § 235-55.75(a)), not by section, so no sentence became false. The Invariants bullet and test-count lines the hub fixed on 2026-11-04 are untouched. After CI finished, I replaced the one CI sentence that named CIPull request run 41946261850 at Judgment calls
Generated by Claude Code |
PR Review: Date Hawaii's EITC from 2018, confine the Act 115 refund to 2021, and use each year's military pay capSummaryThe PR dates three Hawaii parameters that
I checked the claims myself rather than relying on the author's self-check. I read Acts 107 (via DOTAX), 114, 115 and 163, HRS §§ 235-55.75 and 235-7(a)(7), DOTAX Announcements 2022-03 and 2023-04, and the N-11 instructions for every year from 2015 to 2025. Every value and every new reference page matches its source. Each new or re-dated value that changes an output has a YAML case that pins it. CI is green (36/36), and the branch merges cleanly with main. One should-address item remains. The new Python property test doesn't meet the repo's "Test design and CI cost" rules: the PR body neither justifies it nor reports its cost. The rest are suggestions. Critical (must fix)None. Should address1. What the file does:
What CLAUDE.md asks of a test like this:
Where the PR falls short:
Fix, either way:
Suggestions
Verified correctLaw, read directly: EITC:
Act 115:
Military pay cap:
Hand-checks (10 expectations):
Main-failure claim. A static count against main's parameters agrees with the body's 12 YAML failures:
Mutation pinning (static).
Code and process checks:
Axiom line assessment
The issues also record PE-side divergences:
CI statusAll 36 checks pass at Branch status
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes per the review above: 0 critical, 1 should (the new simulation-built Python property test re-checks values YAML already covers, with no stated distinct failure or CI cost report per CLAUDE.md 'Test design and CI cost'), 5 suggestions. The law and values all check out.
|
Picking this up for the US hub. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
…property test The review found that the simulation-built property test re-checks values that YAML cases already cover, and that the PR names no failure only it detects. CLAUDE.md asks for YAML for policy calculations, so this commit removes tests/unit/test_hi_credit_start_dates_properties.py. The one value it checked that no YAML case did, the 2015 EITC match, becomes "No Hawaii EITC in 2015, the first modeled year" in hi_eitc.yaml. A mutant that pays the 20% match in 2015 alone passed every YAML case at the old head; the new case kills it. The six household cases in the topic-named hi_credit_start_dates.yaml move with their inputs and outputs unchanged. The 2016, 2017, 2018 and 2020 cases go to hi_eitc.yaml, and the 2021 and 2022 cases go to hi_act_115_rebate.yaml, under names that describe each case. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N2tyHT12N9L3WVu8rJokf1
|
Ready for hub review Head: I built on Items
Rulings for the hubNone. No change reverses a legal reading in the body, in Tests at the final headOne process per file, at
I also ran this head's test files against main's model at Hand computations
MutantsEach ran in its own process. I restored the file after each one, and
CIPull request run 42639431774 at Judgment calls
Follow-ups (drafts for the hub to file)
DISMISSAL MAP
Generated by Claude Code |
PR Review (round 2): Date Hawaii's EITC from 2018, confine the Act 115 refund to 2021, and use each year's military pay capSummaryOur round 1 review (2026-11-06, head
No parameter, formula or reference has changed, so the round 1 legal check still applies. The should-address item is fixed: the PR no longer adds a Python test, and the new 2015 case catches a mutant that only the removed file used to catch. CI is green (36/36) at the head. The branch merges cleanly with current main, including #10200's claim-of-right additions to Prior findings
New findingsCriticalNone. Should addressNone. Suggestions
VerifiedHand-checks: every new or changed expectation.
Main-failure count. The body says 13 of the PR's cases fail on main:
This matches round 1's static count of 12 plus the new 2015 case. Other checks:
AxiomThe line reads
All three remain dispatch-ready, with module paths, corpus citations, verbatim law, required outputs, companion rows and a recorded blocker. The body's separate axiom note is also accurate: Hawaii's modules cover tax year 2026 only, and the PR changes 2015–2025 values and the uprated cap from 2026. CIAll 36 checks pass at That run tested the PR merged with main as of 2026-11-09 14:55 UTC, which already included #10200. Main's six later commits touch no Hawaii file: two ACA changes, Montana's #10331 and version bumps. Branch
Verdict: APPROVE |
DTrim99
left a comment
There was a problem hiding this comment.
Round 2: the Python property test is gone and its one uncovered check is now a YAML case that kills the surviving mutant; the start-date cases moved verbatim to variable-named files; CI is green. Three optional suggestions remain.
|
US + core hub merge audit, us#10205 at
🤖 Generated with Claude Code |
Summary
backdate_parameters(policyengine_us/tools/parameters.py) copies each parameter's earliest value back to 2015 (FIRST_MODELED_YEAR). Hawaii parameters first dated after 2015 therefore applied in years before the law existed. This PR dates them. It changes no formula, and the 2018–2022 nonrefundable EITC is unchanged.hi_refundable_creditshi_military_pay_exclusioncapChanges
credits/refundable.yaml: a2000-01-01block withouthi_act_115_rebate. Act 115 (SLH 2022) refunds went only to filers of a 2021 Form N-11 (DOTAX Announcement 2022-03, p.2). The 2018 Form N-11 lists the same three modeled refundable credits (p.3).credits/act_115_rebate/{single,joint}.yaml: no change. This PR first dated the amounts to 2021 only. Main's Guard historical state rebate eligibility and document attribution #10309 has since dated them2020-01-01: 0, which zeroes 2015–2020, and keeps the 2022+ schedules on purpose for standalone calculations. The merge takes main's files, so the dated refundable list keeps the refund out of 2022 and later. The 2022 tests now checkhi_refundable_creditsrather than the standalone refund.credits/non_refundable.yaml:2000-01-01: [],2018-01-01: [hi_eitc],2023-01-01: [].credits/eitc/match.yaml:2000-01-01: 0,2018-01-01: 0.2(was2017-01-01: 0.2). The credit is "effective for taxable years beginning after December 31, 2017" (2018 Form N-356, p.2; Act 107, SLH 2017, per 2018 N-11 instructions, p.2).gov/states/household/state_eitcs.yamlalready startshi_eitcin 2018.credits/eitc/match.yaml,credits/cdcc/dependent_care_benefits/expense_floor.yamland the fivecredits/food_excise_tax/amount/*.yamlfiles cited Section 4, which only explains the act's bracket and underscore marks. They now cite Section 5, which repeals the act and reenacts the earlier text on December 31, 2027 (Act 163, SLH 2023, p. 3). No value changes.subtractions/military_pay/cap.yaml: the file held the 2022 amount ($7,345) from 2021, so 2015–2021 used it. It now has each year's N-11 instructions line 15 amount: 2015 $6,198, 2016 $6,279, 2017 $6,410, 2018 $6,564, 2019 $6,735, 2020 $6,943, 2021 $7,152, 2022 $7,345, 2023 $7,683, 2024 $8,082, 2025 $8,636. 2026 onward is still projected bygov.irs.uprating, now from $8,636.cap.yamlcites the 2015–2017 instructions through the Wayback Machine, since DOTAX's site no longer serves them.Audit of the other Hawaii income tax parameters first dated after 2015
I checked each against the 2015–2022 N-11 instructions, Form N-311 (2016–2022) and Schedule X (2015, 2017–2021, 2023):
Not audited: the composition of
subtractions/subtractions.yaml.Tests
hi_eitc.yaml,hi_act_115_rebate.yamlandhi_military_pay_exclusion.yaml. The existing 2021 military cap case now expects $7,152. Run against main's model atba9bfdea75, 13 of these cases fail, all in years the model was wrong. Five are inhi_eitc.yaml(2015, 2016 and 2017) and eight inhi_military_pay_exclusion.yaml. The 2018–2022 EITC cases and the 2021 and 2022 refund cases pass on both and guard the years that were right.hi_eitc.yaml, and for 2021 and 2022 inhi_act_115_rebate.yaml. Until 2026-11-09 these six cases sat inhi_credit_start_dates.yaml; that round moved them unchanged.hi_military_pay_exclusion.yamlhas a case for each year's cap from 2015 to 2025.tests/unit/test_hi_credit_start_dates_properties.py, a 108-household grid with Hypothesis batches for 2015–2026. YAML covers what it checked, so the 2026-11-09 round removed it (see "What pins each rule").b07103b3ca, from run 41946261850's timing artifact: 19.7 s of test time in Rest shard 1, groupremaining-1. That group's process ran 21:08 and peaked at 8,861,144 KB RSS, against the Makefile's target of about 10 GB.f781461877passed all 36 jobs. It tested the head merged into main atba9bfdea75. Quick Feedback ranhi_act_115_rebate.yaml,hi_eitc.yamlandhi_military_pay_exclusion.yaml(22, 17 and 12 passed), and Baseline states-shard-4 ran them again in the full suite.ba9bfdea75, which includes Model Hawaii's claim of right deduction and credit (section 1341 as operative in Hawaii from 2022) #10200 and Apply Hawaii refundable credits before nonrefundable credits #10202, passeshi_eitc.yaml(17 cases),hi_act_115_rebate.yaml(22) andhi_non_refundable_credits.yaml(6).What pins each rule
hi_act_115_rebateis 0 before 2021hi_act_115_rebate.yaml: the 2015 schedules case, 2017, and 2020 single and joint. The single-filer cases for 2016, 2017, 2018 and 2020 inhi_eitc.yaml.hi_act_115_rebate.yaml: single and joint returns on each side of their thresholds, a head-of-household return, dependents, and the 2021 single filerhi_refundable_creditsonly in 2021hi_non_refundable_credits.yaml, and the 2024 and 2025 cases inintegration.yaml.hi_eitc.yaml: 2015, 2016 and 2017, and the 2016 and 2017 single-filer caseshi_eitc.yaml: 2018, 2020, 2021 and 2022. The 2022 cases inhi_non_refundable_credits.yamlandintegration.yamlapply the liability limit.hi_eitc.yaml: 2023, 2027 and 2028.hi_non_refundable_credits.yaml: 2025.hi_eitc.yaml: 2015, 2016 and 2017. "Empty 2023 list" inintegration.yaml, and "The 2025 earned income tax credit is refundable" inhi_non_refundable_credits.yaml.hi_income_taxis tax before credits minus refundable creditshi_eitc.yaml($5.792)Mutants on this head, each in its own process: paying the 20% match in 2015 alone is killed by "No Hawaii EITC in 2015, the first modeled year". At
b07103b3ca, every YAML case passed under that mutant, so only the removed Python grid caught it. Adding the refund to the 2022 list fails twohi_act_115_rebate.yamlcases. Adding it to the 2023 list fails the 2025 case inhi_non_refundable_credits.yamland fourintegration.yamlcases.Merge with main (2026-11-03)
act_115_rebate/{single,joint}.yamlandhi_act_115_rebate.yamlconflicted with Guard historical state rebate eligibility and document attribution #10309. The merge takes main's amount files and keeps both sides' test cases. "No refund for 2022" became "No refund in 2022 refundable credits".hi_act_115_rebate.yaml, checks the 2022+ refund throughhi_refundable_credits.test_hi_credit_ordering.pypasses on the merged head.Merge with main (2026-11-04)
Review round (2026-11-09)
tests/unit/test_hi_credit_start_dates_properties.py, as above, and added "No Hawaii EITC in 2015, the first modeled year".hi_credit_start_dates.yamlintohi_eitc.yamlandhi_act_115_rebate.yaml.refundable.yamlauto-merges with Model Hawaii's claim of right deduction and credit (section 1341 as operative in Hawaii from 2022) #10200.Sources
cap.yamlmatches line 15 of that year's N-11 instructions, at the page the file cites. The legislature tied the amount to the pay an E-5 with eight years of service earns for 48 drills and 15 days of annual duty (HRS § 235-7(a)(7)).match.yaml. In Act 25 (SLH 2025) the legislature changed only the carryforward in subsection (g), and DOTAX lists no change to the credit in its summary of the 2026 session's tax laws (Announcement 2026-06).Axiom note
Axiom's Hawaii income tax modules cover tax year 2026 only. This PR changes 2015–2025 values, and the uprated military pay cap from 2026.
Microsimulation impact
We estimate no change in 2026 on the default dataset: each measured output has the same value for every record on
mainat25c4253483and on this branch atf781461877.The dated changes fall in 2015 to 2021, before the dataset's first year, 2024, and the YAML cases above pin them. The military pay cap also changes from 2023. The Hawaii military pay exclusion totals $0 on both sides, so the new cap moves no record.
hi_income_taxhi_eitchi_act_115_rebatehi_military_pay_exclusionhi_food_excise_credithi_cdcchi_refundable_creditshi_non_refundable_creditsstate_income_taxincome_taxhousehold_net_incomehousehold_benefitsimpact: no change in 2026 on the default dataset (each measured Hawaii and household output matches main for every record); the dated changes fall in 2015 to 2021
axiom: TheAxiomFoundation/rulespec-us#2039 queued, extended with a comment (Hawaii EITC, with the 2015 case); TheAxiomFoundation/rulespec-us#1685 queued, extended with two comments (Act 115 refund); TheAxiomFoundation/rulespec-us#2040 queued (military pay exclusion)
Coordination: #10202 and #10200 have merged. #10200 added
hi_claim_of_right_creditto the 2022+ blocks ofrefundable.yaml, and that file auto-merges with this PR.🤖 Generated with Claude Code