Skip to content

Apply the RI, SC, UT, VT, WV and WI rules for a filer who can be claimed as a dependent - #10044

Draft
MaxGhenis wants to merge 45 commits into
mainfrom
claimable-filer-ri-sc-ut-vt-wv-wi
Draft

MaxGhenis wants to merge 45 commits into
mainfrom
claimable-filer-ri-sc-ut-vt-wv-wi

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Apply the RI, SC, UT, VT, WV and WI rules for a filer who can be claimed as a dependent, symmetrically between head and spouse. Preserve the settled distinction between claimability, an actual claim, and the dependent-claimant filing exception from #10024/#10087. This draft targets main. Review r3 confirmed the reviewed branch head 71b1238d026fefca0f5c208846af75a8f14202f0; main remains f9b55fc4dd05f1bed921a4dd06cb8c81f6ceb2c7. git merge gh/main reported “Already up to date.” No new merge resolutions were needed. No rebase was performed.

The PR keeps the claimable-filer baseline in the RI/SC/UT/VT/WV contributed exemption reforms and RI/WI/WV dependent-exemption repeal overrides. It also uses payroll-adjusted wages in both Wisconsin deduction paths and replaces Vermont's one-bedroom floor with verified zero-bedroom HUD data for 2021–2025.

Four separate fixes remain in #10104: Vermont student-loan interest, Vermont CTC per-child phase-out, Utah's at-home credit parent multiplier, and Wisconsin's homestead claimant conditions.

Formula Rule now Gate Source
ri_property_tax_credit_eligible Some filer is 65+ or disabled and is not claimed as a dependent; the age or disability and the claim test belong to the same spouse actual claim R.I. Gen. Laws 44-33-3(1): "Claimant shall not mean or include any person claimed as a dependent by any taxpayer"; household members "may determine between themselves as to who the claimant is"
ri_child_tax_rebate (2021 return) No children on a return where the Dependent Taxpayer Test applies DTT 44-30-103(b)(1): each child "whom the eligible taxpayer validly claims as a dependent"; IRC 152(b)(1)
sc_dependent_exemption, sc_young_child_deduction, SC reform Zero where the DTT applies DTT S.C. Code 12-6-1140(13): "each dependent must meet the eligibility requirements of Section 151 and 152"; 12-6-1160: a "dependent eligible for the South Carolina dependent exemption"
ut_total_dependents, ut_personal_exemption_additional_dependent_eligible, contributed ut_dependent_exemption_reform Zero where the DTT applies DTT Utah Code 59-10-1018(1)(c): "an individual with respect to whom the claimant is allowed to claim a tax credit under Section 24"; (1)(g) birth-year dependent
ut_at_home_parent_credit_potential No qualifying child where the DTT applies DTT 59-10-1005(1)(a)(ii): the parent "claims the qualifying child as a dependent"
vt_personal_exemptions, VT reform Dependents only where the DTT does not apply (own/spouse exemptions already read claimability) DTT 32 V.S.A. 5811(21)(C)(i): "provided that no exemption may be claimed for an individual who is a dependent of another taxpayer"
vt_ctc Qualifying children are dependents of a return where the DTT does not apply DTT 5830f(a): "entitled to a child tax credit under the laws of the United States", per "qualifying child, as defined under 26 U.S.C. § 152(c)"; the waiver reaches only "the taxpayer identification number requirements under 26 U.S.C. § 24(e) and (h)(7)"
vt_renter_credit Zero only when every filer is actually claimed; fair market rent sized by personal exemptions actual claim; exemptions_count 6066(c)(2): the claimant "may not be a person claimed as a dependent by any taxpayer"; 6066(b)(2): "a number of bedrooms equal to the number of personal exemptions"
wv_personal_exemption, WV reform/repeal $2,000 per exemption the return may claim, $500 once when it has none exemptions_count W. Va. Code 11-21-16; IT-140 (2025): "If box e is zero, enter $500 on line 6"; p. 26: "You cannot claim any dependents if you can be claimed as a dependent on another person's return"
wv_low_income_family_tax_credit_eligible, _fpg Family size is the exemption count; no credit with zero exemptions exemptions_count 11-21-22a(b): "the total number of exemptions that may be legally claimed"; IT-140 p. 13: "Individuals who file their income tax return with zero exemptions cannot claim the credit"
wi_standard_deduction, wi_retirement_income_exclusion_tax When either filer can be claimed: lesser of the ordinary deduction and max($1,350, Wisconsin-included earned income + $450) in 2025, on both paths claimability Wis. Stat. 71.05(22)(f): for a taxpayer "with respect to whom an exemption ... is allowable to another person", indexed "in the manner prescribed by sections 1 (f) (3) to (6) and 63 (c) (4)"; Form 1 instructions: "You (or your spouse if filing a joint return) can be claimed"; worksheet amounts for 2021-2025 match the federal parameters
wi_additional_exemption $250 per filer aged 65+ who cannot be claimed, whether or not anyone claims them claimability Form 1 line 10b (PDF p. 16): only for a spouse "allowed the $700 exemption on line 10a"
wi_homestead_income $500 dependent deduction only where the DTT does not apply DTT Schedule H instructions (2025): a qualifying dependent "is or may be claimed as a dependent on your federal income tax return"
wi_childcare_expense_subtraction (2021), wi_childcare_expense_credit_potential Childcare expenses read cdcc_qualifying_childcare_expenses, so a claimable filer's childcare for a nonqualifying child drops out DTT (federal variable) IRC 21(b)(2)(A)(ii): expenses "for the care of a qualifying individual"; Wis. Stat. 71.05(6)(b)43 and 71.07(9g) adopt section 21

Audit rows already fixed by #10024 or #10087 (not changed here)

  • RI: exemptions (exemptions_count), EITC (federal eitc), care credit (federal cdcc).
  • SC: EITC, care credit (count_cdcc_eligible, cdcc_relevant_expenses).
  • UT: child tax credit (ctc_qualifying_child), EITC; homeowner/renter relief was already symmetric.
  • VT: EITC, care credit (capped_cdcc, pre_obbba_capped_cdcc).
  • WV: care credit (federal cdcc).
  • WI: $700 exemption (exemptions_count); care credit counts (count_cdcc_eligible, capped_count_cdcc_eligible).

Review r2: responses

Finding What changed Evidence
1 — contributed reforms Mask both eligible and older dependent paths in SC/VT/WV; WV uses eligible own exemptions and the $500 rule for a return with zero exemptions; repeal retains that rule. Four contrib files, 46 cases. Added controls for claimed filers with children, unclaimed but claimable filers, the older dependent fallback, and the filing exception. Fail-before: SC 3, VT 3, WV 4, repeal 3; final results below. Default reform amounts for claimable filers with children: SC $0, VT $0, WV $500. WV childless repeal: $500.
2 — Wisconsin pretax earnings Shared dependent cap uses wages after pretax payroll deductions and retains the non-W-2 scholarship/grant exclusion. Both deduction paths consume it. New 2025 student case: $10,000 gross wages − $5,000 traditional 401(k) contributions, plus $10,000 interest. Deduction falls from $10,450 to $5,450; taxable income becomes $9,550. Added a $1,450 deduction pin for a claimable but unclaimed filer.
3 — Vermont zero bedrooms Added all 70 county/year cells (60 published HUD area values plus 10 derived state-average county values), precise schedule-page references, and removed the floor. All FY2021–2025 schedules verified. Five vectorized cases exercise all 14 counties for each year; Chittenden 2025 rent of $1,380/month gives $1,656 instead of $1,771. No years retain the floor.
4 — Vermont income-limit sizing Kept resident-member sizing and documented the separate reading below. Added a 2025 Chittenden joint-return YAML pin: one claimed spouse and $62,000 income yield $270; the exemption-sized alternative gives $0. Coordinate with existing rulespec #1678's different requested sizing.
5 — coverage/body Added pension/IRA income to both property generators; positive retirement and both care YAMLs; Utah swapped controls; RI/UT/VT/WI filing-exception YAMLs. Corrected the property-test claim. A $24,000 retirement exclusion produces $194.25 tax. Eligible care gives a $1,000 subtraction/$200 credit while ordinary childcare is barred; the filing exception or incapacity restores $3,000/$600. No extra Python tests or model constructions added.
6 — references/parity One entry per 2025 WI PDF; exact RI “shall not mean or include”; care comments name filing/incapacity exceptions; filed six narrowed pe-parity issues. Official references in variables/parameters; companion YAML at the final head in the six linked issues; axiom line below.

Review r3: responses

Finding Response and evidence
P2 — RI/WI reforms restore barred exemptions RI and WI repeal now use the baseline claimability-aware own-filer count. RI reform masks both dependent paths with the dependent taxpayer test and filing exception, and derives personal exemptions from the same own-filer helper. YAML includes all four reviewer witnesses, unclaimed-but-claimable controls, older dependents, head/spouse symmetry, and the filing exception. Baseline controls run beside the reforms.
M1/M2, P3-1/P3-2 — Vermont readings Kept formulas and values. Reframed zero-exemption rent as statute versus department practice, with Burlington $1,656/$1,771 and the parallel WV statute/form choice. Added the unrounded 12-area averaging choice, historical alternatives and 14-county alternative. The parameter comment discloses the historical differences and effects. The official 2025 XLSX was also recovered: it confirms family-size sizing and Chittenden's $1,771 alternative.
P3-3 — WV own-filer count coverage Added baseline/reform pairs for joint returns with two children: one claimable spouse gives $2,000 and both claimable spouses give $500. Mutating the reform's own-filer helper to head_spouse_count fails two cases, including the new mixed joint return; the mutation was reverted before the final run.
P3-4 — pasteable parity findings Added template-matched review_finding dispatch blocks to rulespec-us #1807–#1812 using gh issue edit, following #1403/#1416. Verified exact server readbacks, unchanged pe-parity labels and preserved companion cases. No issue or PR comments were posted.
P3-5 — comment spacing Removed five comment/case separators in WI retirement tests and one in VT CTC.
Changelog Names the contributed exemption reforms and the RI/WI filer-count and WV zero-exemption repeal overrides actually fixed; does not imply HI/VA are fixed.

Fail-before and pass-after

2025 reviewer witness Baseline Before r3 reform After r3 reform
WI repeal, claimable single $0 $700 $0
WI repeal, both joint filers claimable $0 $1,400 $0
RI repeal, claimable single $0 $5,100 $0
RI exemption reform, claimable single and child $0 $10,200 $0

Full files before → after: repeal 5 failed / 15 passed → 20 passed; RI reform 8 failed / 12 passed → 20 passed. The WV own-count mutation fails 2 / 17 cases; restored code passes 17 / 17.

The unclaimed-but-claimable repeal controls reproduced the same $700 WI/$5,100 RI errors. RI older-dependent and filing-exception controls also failed before the fix. Final individual-file results appear below.

Look-only findings: HI and VA repeal

2025 single filer, age 22, claimable but unclaimed, no dependents:

State/output Reviewed head baseline / repeal Clean main baseline / repeal
HI hi_regular_exemptions $0 / $1,144 $0 / $1,144
VA va_personal_exemption_person $0 / $930 $0 / $930

Each state ran in its own YAML process at reviewed head 71b1238d026fefca0f5c208846af75a8f14202f0 and clean main f9b55fc4dd05f1bed921a4dd06cb8c81f6ceb2c7. Both reproduce the same pre-existing override defect. No HI or VA formula was changed. Proposed separate follow-up: Preserve claimable-filer exclusions in Hawaii and Virginia dependent-exemption repeal overrides. Retain each state's baseline own/aged-exemption gate while repealing dependents; add 2025 claimable-single controls and joint/aged coverage. The hub can raise and dispatch that work.

Final r3 validation

Final head: 15a794021e969bc6751d3eb7ecc8a97a09a4a637.

File Passed
contrib/states/sc/dependent_exemption_reform_test.yaml 10
contrib/states/vt/dependent_exemption_reform_test.yaml 13
contrib/states/wv/dependent_exemption_reform_test.yaml 17
contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml 20
contrib/states/ri/exemption_reform_test.yaml 20
baseline/gov/states/wi/tax/income/wi_standard_deduction.yaml 20
baseline/gov/states/wi/tax/income/wi_retirement_income_exclusion_tax.yaml 11
baseline/gov/states/vt/tax/income/credits/rent/vt_renter_credit.yaml 46
baseline/gov/states/ri/tax/income/credits/property_tax/ri_property_tax_credit.yaml 7
baseline/gov/states/ri/tax/income/credits/property_tax/ri_property_tax_credit_eligible.yaml 16
baseline/gov/states/ri/tax/income/credits/rebates/ri_child_tax_rebate.yaml 14
baseline/gov/states/sc/tax/income/deductions/sc_young_child_deduction.yaml 9
baseline/gov/states/sc/tax/income/exemptions/sc_dependent_exemption.yaml 11
baseline/gov/states/ut/tax/income/credits/ut_at_home_parent_credit_potential.yaml 8
baseline/gov/states/ut/tax/income/credits/ut_personal_exemption.yaml 9
baseline/gov/states/ut/tax/income/credits/ut_total_dependents.yaml 6
baseline/gov/states/vt/tax/income/credits/vt_ctc.yaml 15
baseline/gov/states/vt/tax/income/exemptions/vt_personal_exemptions.yaml 20
baseline/gov/states/wi/tax/income/wi_additional_exemption.yaml 13
baseline/gov/states/wi/tax/income/wi_childcare_expense_credit_potential.yaml 3
baseline/gov/states/wi/tax/income/wi_childcare_expense_subtraction.yaml 9
baseline/gov/states/wi/tax/income/wi_exemption.yaml 2
baseline/gov/states/wi/tax/income/wi_homestead_income.yaml 11
baseline/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_eligible.yaml 7
baseline/gov/states/wv/tax/income/exemptions/wv_personal_exemption.yaml 13
contrib/states/ut/dependent_exemption/ut_dependent_exemption.yaml 10
core/test_claimable_filer_ri_sc_ut_vt_wv_wi_invariants.py 5

Total: 345 passed across 27 files (340 YAML cases and five property tests).

All files ran individually, one foreground process at a time, using the assigned shared interpreter and PYTHONPATH for this checkout. Every test set OMP/OpenBLAS/MKL/vecLib/NumExpr caps to 4 and OMP_WAIT_POLICY=PASSIVE. No full suite or microsimulation was run. make format, Ruff format/check on the PR's changed Python files, and git diff --check passed. The existing property module still has five cases and no new Python model constructions were added. CI was skipped at the reviewed draft head; the PR remains a draft.

Readings for Max

Provision Retained reading, alternative and evidence
WV $500 exemption Statute/form choice. Apply $500 once only to a zero-exemption return, following IT-140, PDF p.3. Joint returns with one/both spouses claimable receive $2,000/$500. The individual wording of §11-21-16(d) supports a per-person alternative: $2,500/$1,000.
VT renter, one claimed spouse Unresolved joint-claim edge. The unclaimed spouse can be the personal claimant under §6063: $1,771. Alternative: bar the joint claim, giving $0.
VT renter income-limit sizing Unresolved sizing choice; code kept. Income limits count resident tax-unit members, while FMR bedrooms count exemptions. DOR resident-family guidance supports the retained approach; exemption-sized income limits instead give $0 versus $270 for the 2025 Chittenden couple with one claimed spouse and $62,000 renter income. rulespec #1678 requests exemption-sized limits based on its booklet/calculator sources, so the new parity issue flags the need to coordinate this choice.
WI dependent deduction parameters Implementation choice, not legal ambiguity. Reuse federal parameters; alternative: separate Wisconsin parameters. The Form 1 dependent worksheet, PDF p.15 and 2021–2025 worksheets match. The 2026 Wisconsin match remains an indexing inference; federal $1,350/$450 is verified in IRS Rev. Proc. 2025-32, PDF p.18.
VT renter, zero exemptions (M1) Statute versus department practice; reading for Max. The PR follows 32 V.S.A. §6066(b)(2): bedrooms equal allowed personal exemptions, so zero exemptions use HUD efficiency rent. The department's 2021 calculator and 2024 calculator instead size rent by family size, counting the claimant, jointly filing spouse and dependents, and have no zero-bedroom column. Applying those alternatives to an unclaimed but claimable single Burlington renter in 2025 gives $1,656 under the PR versus $1,771 under department practice, a $115 difference (HUD 2025 schedule, PDF p.51). This mirrors the WV statute/form choice, where the PR follows the form's return-level $500 instruction over the statute's individual wording.
VT Franklin/Grand Isle zero-bedroom averaging (M2) Averaging choice; reading for Max. 32 V.S.A. §6061(7)(C) calls for a state average without specifying weights or intermediate rounding. The PR keeps the unrounded mean of all 12 HUD rent areas in every year. Alternative A applies the reconstructed methods behind the existing one-to-four-bedroom data: whole-dollar monthly rounding in 2021/2024 and exclusion of Addison in 2022. Full-year zero-bedroom credits are $883 either way in 2021; $919 versus $918 in 2022; $1,172 versus $1,171 in 2024 (PR first); 2023 and 2025 are identical. The method therefore departs from those historical patterns in 2021, 2022 and 2024. Alternative B averages 14 counties, counting Burlington's area three times: $1,273 versus the PR's $1,209 in 2025, a $64 difference. The department's 2025 one-bedroom credit of $1,269 matches the 12-area calculation ($1,269.30 before final rounding); the 14-county calculation gives $1,341. The parameter comment now discloses the historical departures.
WI earned income Scholarship concern refuted; pretax error fixed. Non-W-2 grants stay excluded as the worksheet requires. Gross pretax wages were a separate implementation error, now corrected in the shared helper and pinned by YAML.

Not modeled (listed, not implemented)

  • RI individual health-coverage mandate (filing condition: "You cannot be claimed as a dependent by another taxpayer").
  • SC special-needs adopted-child deduction and identity-protection deduction (higher cap for returns claiming dependents).
  • VT homestead property tax adjustment (same claimant exclusion as the renter credit).
  • WI private-school and college tuition deductions (dependent branches).
  • WV surviving spouse's additional exemption (11-21-16(c)); family size excludes it anyway.
  • WI homestead: the dependent's six-month residence test (71.52(5)); the model treats tax-unit dependents as household members.
  • VT CTC identification rules by year (the waiver starts in 2023; the model applies no identification test in any year).

Other findings (not fixed here)

  • vt_renter_credit never checks that the unit paid rent or prorates by months rented (6066(b)(1)(E)); any low-income Vermont unit gets the full-year credit.
  • ut_total_dependents counts every dependent of the return; 59-10-1018(1)(c) counts only those for whom an IRC 24 credit is allowed (for example, not a dependent without a taxpayer identification number).

Invariants and test scope

The property test checks head/spouse swaps, claimability monotonicity and the statutory identities (including zero dependent-based amounts and WV $500), using Hypothesis and seeded populations for 2021, 2023, 2025 and 2026. Pension/IRA inputs now reach both generated populations. It does not compare nobody-claimable outputs with a base checkout. YAML controls establish the unchanged scenarios; the disclosed VT CTC correction excludes a young member who is not a dependent even when nobody is claimable.

Validation from review r2

Final head: 71b1238d026fefca0f5c208846af75a8f14202f0.

File Before r2 (failed / passed) Final passed
contrib/states/sc/dependent_exemption_reform_test.yaml 3 / 7 10
contrib/states/vt/dependent_exemption_reform_test.yaml 3 / 10 13
contrib/states/wv/dependent_exemption_reform_test.yaml 4 / 9 13
contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml 3 / 7 10
baseline/gov/states/wi/tax/income/wi_standard_deduction.yaml 1 / 19 20
baseline/gov/states/wi/tax/income/wi_retirement_income_exclusion_tax.yaml — 11
baseline/gov/states/vt/tax/income/credits/rent/vt_renter_credit.yaml 6 / 40 46
baseline/gov/states/ri/tax/income/credits/property_tax/ri_property_tax_credit.yaml — 7
baseline/gov/states/ri/tax/income/credits/property_tax/ri_property_tax_credit_eligible.yaml — 16
baseline/gov/states/ri/tax/income/credits/rebates/ri_child_tax_rebate.yaml — 14
baseline/gov/states/sc/tax/income/deductions/sc_young_child_deduction.yaml — 9
baseline/gov/states/sc/tax/income/exemptions/sc_dependent_exemption.yaml — 11
baseline/gov/states/ut/tax/income/credits/ut_at_home_parent_credit_potential.yaml — 8
baseline/gov/states/ut/tax/income/credits/ut_personal_exemption.yaml — 9
baseline/gov/states/ut/tax/income/credits/ut_total_dependents.yaml — 6
baseline/gov/states/vt/tax/income/credits/vt_ctc.yaml — 15
baseline/gov/states/vt/tax/income/exemptions/vt_personal_exemptions.yaml — 20
baseline/gov/states/wi/tax/income/wi_additional_exemption.yaml — 13
baseline/gov/states/wi/tax/income/wi_childcare_expense_credit_potential.yaml — 3
baseline/gov/states/wi/tax/income/wi_childcare_expense_subtraction.yaml — 9
baseline/gov/states/wi/tax/income/wi_exemption.yaml — 2
baseline/gov/states/wi/tax/income/wi_homestead_income.yaml — 11
baseline/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_eligible.yaml — 7
baseline/gov/states/wv/tax/income/exemptions/wv_personal_exemption.yaml — 13
contrib/states/ut/dependent_exemption/ut_dependent_exemption.yaml — 10
core/test_claimable_filer_ri_sc_ut_vt_wv_wi_invariants.py — 5

Total: 311 passed across 26 files (306 YAML cases and five property tests).

Before r2 refers to the reviewed formulas at 0891442052d6106142275e48436675f15b908a1a, using the added regressions. Controls that already passed were retained. Vermont helper assertions expose the disallowed dependent count before the amount assertion. The original property generator also passed all five cases.

Additional clean-main comparison: copied the eight coverage files into f9b55fc4dd05f1bed921a4dd06cb8c81f6ceb2c7, without changing base formulas.

Coverage file Base failed Base passed
ri_child_tax_rebate.yaml 4 10
ut_at_home_parent_credit_potential.yaml 5 3
vt_ctc.yaml 5 10
wi_homestead_income.yaml 4 7
wi_retirement_income_exclusion_tax.yaml 1 10
wi_childcare_expense_subtraction.yaml 1 8
wi_childcare_expense_credit_potential.yaml 1 2
ut_dependent_exemption.yaml 3 7

Every policy file ran individually in a foreground process with OMP/OpenBLAS/MKL/vecLib/NumExpr capped at 4 and OMP_WAIT_POLICY=PASSIVE. No folder suite, parallel heavy process, or microsimulation was run; the hub owns microsimulation impact. make format (Ruff format/check) and git diff --check passed. Local property-generator runtime/peak memory measurements are recorded below; these are macOS measurements, not Linux CI estimates. Existing Python case count and model-construction count stay unchanged; CI placement remains the existing Core/Python group.

Local macOS property measurement, including setup: original generator 44.12s, original peak RSS 2.008 GiB; expanded pension/IRA generator 55.68s, expanded peak RSS 2.026 GiB. Both generators ran on the same repaired model using child-process getrusage; these measurements include host load and are not Linux CI estimates.

Existing CI context was inspected without triggering a run: successful fallback run 39190151231 on another branch measured Core group wall 43:01.45 and 9.875 GiB peak RSS. The latest #10044 run was skipped and had no artifacts; the fallback has no per-file timing for this new property module. The generator expansion adds positive retirement inputs to existing populations and catches label/monotonicity errors there; the exact $194.25 policy case lives in YAML. The property module keeps five pytest cases and the existing model-construction/routing counts in Rest Python Core (shard 2). No new runners or parallel processes were added.

Merge context

The prior merge with main retained main's reviewed federal content and later fixes in the NM/CA/VA/HI paths, and combined Vermont's exemption/actual-claim changes with main's precision and half-up rounding fixes. This r2 response introduces no additional merge conflict or resolution and never rebases the draft branch.

axiom: TheAxiomFoundation/rulespec-us#1807 queued (RI: 44-33-3, 44-30-103) | TheAxiomFoundation/rulespec-us#1808 queued (SC: 12-6-1140(13), 12-6-1160) | TheAxiomFoundation/rulespec-us#1809 queued (UT: 59-10-1018, 59-10-1005 lawful dependents) | TheAxiomFoundation/rulespec-us#1810 queued (VT: 5811(21)(C), 5830f, 6066 claimant/FMR) | TheAxiomFoundation/rulespec-us#1811 queued (WV: 11-21-16, 11-21-22a) | TheAxiomFoundation/rulespec-us#1812 queued (WI: 71.05(22)(f), age-65 $250, lawful care/homestead counts)

🤖 Generated with Claude Code

MaxGhenis and others added 27 commits October 8, 2026 11:03
The federal standard deduction and 17 state formulas read only whether the
tax-unit head is claimed elsewhere, so a joint return where one spouse can be
claimed was taxed differently depending on which spouse was labelled head.
Each formula now applies its jurisdiction's rule for that case (either spouse,
single filers only, per spouse, or only when every filer is claimed), using
two new label-independent helpers. Adds swap-pair YAML cases and a Hypothesis
property test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… barred

The New Mexico, Maine and Hawaii renters gates counted filers who are not
claimed elsewhere, so a tax unit with neither a head nor a spouse (252 in
the default dataset) looked like one whose every filer was claimed. A new
helper, every_filer_is_dependent_elsewhere, requires a claimed filer and no
unclaimed one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ss EITC

- Hawaii's dependent standard deduction uses earned income net of the
  deductible part of self-employment tax, as the N-11 worksheet does.
- New Mexico's medical care credit needs a filer who is both 65 or older
  and not a dependent when a filer is a dependent elsewhere (NMSA 7-2-18.13).
- The federal EITC without a qualifying child requires that no filer can be
  claimed as a dependent (IRC 32(c)(1)(A)(ii)(III), Publication 596), so
  Missouri's working family credit no longer reaches such a couple.
- Hawaii's food/excise credit keeps minor children receiving public support
  (HRS 235-55.85(c)) on a joint return where one spouse can be claimed.
- Comments label the readings the law does not settle, and the property
  test covers the EITC and the food/excise exemption amount.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… meaning

- The federal and Oregon dependent worksheets use earned income net of the
  deductible part of self-employment tax, as Hawaii's now does.
- Hawaii's food/excise minor-child count excludes children who can be
  claimed by another taxpayer and the filers themselves (Form N-311 line 3).
- claimed_as_dependent_on_another_return documents what it stands for: a
  §151 deduction for the person is allowable to another taxpayer, so a
  person whose would-be claimer files only for a refund is not one
  (Publications 501 and 596); rules on actually being claimed read it too.
- Hawaii's renters comment labels the mixed joint reading as an inference;
  the Hawaii dependent threshold cites HRS 235-2.4(a)(3) on its page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A filer who can be claimed on another return is treated as having no
dependents (IRC 152(b)(1); on a joint return either spouse counts) and has no
personal exemption (IRC 151(d)(2)); one who is claimed gets no education
credits (25A(g)(3)), student loan interest deduction (221(c)) or recovery
rebate (6428(d)(2), 6428A(d)(2), 6428B(c)(2)). The model read none of these.
Now the child tax credit and credit for other dependents, the under-13 child
and dependent care qualifying person, exemptions_count and its RI, DE, OH, OR,
WI, HI and NM readers, the recovery rebates, the education credits and the
student loan interest deduction apply them symmetrically for joint returns.
Georgia keeps its own counts; the HI, WI and Treasury exemption reforms
follow the corrected count.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Property tax relief (R.I. Gen. Laws 44-33-3): the claimant is a filer aged
  65 or older or disabled who is not claimed as a dependent; household members
  choose the claimant, so either spouse qualifies, but the age or disability
  and the dependency test belong to the same person.
- 2021-return child rebate (44-30-103(b)(1)): only children the taxpayer
  "validly claims as a dependent", and a return with a claimable filer has
  none (IRC 152(b)(1)).

The exemptions, EITC and care credit already follow the federal fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ndent

The dependent exemption (S.C. Code 12-6-1140(13): dependents must meet IRC
151 and 152) and the under-six deduction (12-6-1160) are zero on a return
where the filer, or either joint spouse, can be claimed (IRC 152(b)(1)).
The EITC and care credit already follow the federal fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The taxpayer credit's qualifying dependents (Utah Code 59-10-1018(1)(c):
those for whom the claimant is allowed an IRC 24 credit), its birth-year
additional dependent and the at-home parent credit's qualifying child
(59-10-1005) are zero on a return where the filer, or either joint spouse,
can be claimed (IRC 152(b)(1)). The child tax credit and EITC already follow
the federal fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Personal exemptions (32 V.S.A. 5811(21)(C)): no dependents on a return where
  the filer, or either joint spouse, can be claimed (IRC 152(b)(1)); the own
  and spouse exemptions already excluded a claimable filer.
- Child tax credit (5830f): requires federal child tax credit entitlement for
  an IRC 152(c) qualifying child; the identification-number waiver does not
  reach 152(b)(1), so a return with a claimable filer gets none, and a young
  member who is not a dependent no longer counts.
- Renter credit (6066): the claimant may not be claimed as a dependent, but an
  unclaimed spouse can be the claimant; fair market rent is for a number of
  bedrooms equal to the personal exemptions (6066(b)(2)).
- Student loan interest (5811(21)(B)(vi), (29); IN-112 line 16): from 2022
  Vermont subtracts the qualified interest paid less the federal deduction,
  for AGI up to $200,000 joint or $120,000 otherwise. The model subtracted the
  raw interest from 2021, deducting it twice for filers who took the federal
  deduction; a claimed filer, who gets no federal deduction (IRC 221(c)), now
  subtracts the whole amount.

The EITC and care credit already follow the federal fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…dent

- Personal exemptions (W. Va. Code 11-21-16): $2,000 per exemption a filer may
  claim (none for a claimable filer, no dependents on a return where either
  joint spouse can be claimed), and a single $500 when the return has none
  (IT-140: "If box e is zero, enter $500"). The model counted every member.
- Low-income family credit (11-21-22a): family size is the number of
  exemptions that may be legally claimed, and a return with zero exemptions
  cannot claim the credit.

The care credit already follows the federal fix.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Standard deduction (Wis. Stat. 71.05(22)(f)): when the filer, or either joint
  spouse, can be claimed, the lesser of the ordinary deduction and the greater
  of $1,350 or earned income plus $450 (2025; indexed as the federal amounts),
  on both the regular and the retirement-exclusion paths.
- $250 exemption (Form 1 line 10b): only for a filer aged 65 or older who is
  allowed the $700 exemption, so each spouse is tested separately.
- Homestead credit (71.53; Schedule H): the claimant is the spouse who is 18
  or older, has earned income or is 62 or older or disabled, and is not
  claimed as a dependent unless 62 or older; the $500 household-income
  deduction counts no dependents on a return with a claimable filer.

The $700 exemption and care credits already follow the federal fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Swap invariance, monotonicity and identities (dependent-based amounts are
zero on a return with a claimable filer; a return whose every filer is
claimed gets no RI relief or VT renter credit and West Virginia's single
$500 exemption), plus the changelog fragment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Utah Code 59-10-1005(2) allows $100 "for each qualifying child if ... the
claimant or another claimant filing a joint individual income tax return with
the claimant is an at-home parent". The model multiplied the credit by the
number of spouses earning $3,000 or less, doubling it for such couples; the
existing two-parent test asserted $400 for two children and now expects $200.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
32 V.S.A. 5830f(b) reduces "the amount of the credit per child" by $20 for
each $1,000 of AGI over $125,000; the model reduced the total once, so a
family with two young children at $150,000 got $1,500 instead of $1,000. The
existing phase-out and age cases used the filer as the child; they now have a
parent and a child, since 5830f counts IRC 152(c) qualifying children.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nt exemption reform

When in effect, the contributed reform recounts is_tax_unit_dependent itself;
it now applies the same IRC 152(b)(1) gate as the baseline
ut_total_dependents, as the federal branch did for the HI, WI and Treasury
reforms.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Child and dependent care: childcare expenses do not count on a return with a
  claimable filer unless a child under 13 still qualifies (IRC 21(b)(2)(A)(ii)).
- Tuition and fees deduction: not allowed to a filer who can be claimed (IRC
  222(c)(3)), so the education credit bar no longer makes such a filer eligible.
- Recovery rebates: the Armed Forces exception waives the identification rule
  only, not the exclusion of a spouse who is another taxpayer's dependent.
- Georgia: the contributed refundable credit and SB 520 reforms count the same
  children as ga_ctc_potential through a new ga_ctc_eligible_child.
- Education credits and student loan interest read the claimed input directly,
  since IRC 25A(g)(3) and 221(c) turn on an actual claim.
- One reference per source document; quote IRC 24(h)(4)(A) exactly.
- Tests: mixed-recipient care, tuition deduction, military rebates, Georgia
  refund cap, and the swapped New Mexico rebate case; the property test now
  covers the state readers of the exemption count.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/exemptions/personal/oh_personal_exemptions_eligible.yaml
#10024 now separates three facts: is claimed, can be claimed, and the would-be
claimant's filing exception.

- IRC 152(b)(1) gates (child tax credit, credit for other dependents, under-13
  care child and its expenses, dependents in exemptions_count, ARPA dependents,
  Ohio dependents, the Hawaii and Wisconsin reforms) read
  head_or_spouse_is_dependent_elsewhere_without_filing_exception, so a filer
  within the Publication 501 exception keeps their dependents.
- Own exemptions, recovery rebates and the tuition deduction read claimability.
- Education credits and student loan interest keep reading the claimed input.
- Tests: the filing exception and a filer who can be claimed but is not.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#10024's food/excise credit, Act 115 rebate and renters credit took claimable
filers off exemptions_count themselves. exemptions_count now leaves them out
(and, outside the filing exception, the return's dependents), so those credits
read it as it is; the filing-exception cases were one exemption short.

The renters credit also leaves out a dependent who can be claimed by another
taxpayer (Schedule X counts only people who cannot be), as the food/excise
credit already did.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Education credits: a dependent student is not eligible on a return whose
  filer can be claimed outside the filing exception (IRC 25A(f)(1)(A)(iii),
  152(b)(1)); the filer's own eligibility still turns on an actual claim.
- Recovery rebates: no credit when every filer is a dependent of another
  taxpayer (IRC 6428B(a)); the CARES and CAA child prerequisite is a spouse
  with a valid SSN, whether or not that spouse is an eligible individual.
- Child and dependent care: cdcc_qualifying_childcare_expenses holds the
  expense rule, and the single-parent work requirement reform and California's
  expenses read it.
- References: Georgia HB 136 page 3; one entry per recovery rebate statute;
  quote IRC 24(h)(4)(A) exactly in the test comment.
- Tests: dependent students, the two rebate cases, the reform and California
  expenses, and the Hawaii, Wisconsin and Treasury reforms with a claimable
  filer under both labellings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Note from the US + core hub for this PR's owner (2026-10-10).

#10024 now has an approved head, c7f969f872, that splits one input into three facts:

  • claimed_as_dependent_on_another_return: actually or expectedly claimed on another return (main's meaning, restored);
  • claimable_as_dependent_on_another_return: can be claimed, whether or not it is; defaults to the input above when unspecified;
  • dependent_claimant_filing_exception: the would-be claimant isn't required to file and files no return or only for a refund.

A reviewer of the claimable-filer-federal branch found that this PR's wi_additional_exemption change reads the actual claim where the rule turns on claimability. When you rebase onto the settled stack, point it at claimable_as_dependent_on_another_return, or at the helper head_or_spouse_is_dependent_elsewhere (which now means claimability), and add a case for a filer who can be claimed but is not.

Two related points from the same branch:

MaxGhenis and others added 2 commits October 10, 2026 15:51
- Education credits: is_barred_from_education_credits_by_dependency holds the
  claimed-filer and dependent-student rules; both eligibility formulas and the
  reconciliation SSN reform's Lifetime Learning Credit read it, so the reform
  no longer turns a barred student's tuition into that credit.
- Child and dependent care: childcare counts when any child under 18 is still a
  qualifying individual, so an incapacitated child aged 13 to 17 keeps it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Setting meets_eitc_identification_requirements on one person made it an input
for every person, so the other spouse lost their SSN too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 2 commits October 11, 2026 12:03
#10024 now separates claimability (claimable_as_dependent_on_another_return,
read by head_or_spouse_is_dependent_elsewhere) from an actual claim
(claimed_as_dependent_on_another_return), and the federal branch applies the
Dependent Taxpayer Test (IRC 152(b)(1)) through
head_or_spouse_is_dependent_elsewhere_without_filing_exception. So:

- Dependent counts (RI rebate, SC exemption and under-six deduction, UT
  dependents, birth-year dependent, at-home parent child and contributed
  reform, VT dependent exemptions and CTC, WI homestead $500 deduction) use the
  Dependent Taxpayer Test helper, keeping dependents when the would-be
  claimant meets the filing exception.
- Wisconsin's $250 exemption reads claimability: a filer who can be claimed
  is not "allowed the $700 exemption" even when no one claims them.
- Vermont's renter credit bars a claimant actually claimed (6066(c)(2)).
- Wisconsin's care subtraction and credit read cdcc_qualifying_childcare_expenses,
  so a claimable filer's childcare for a nonqualifying child drops out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 2 commits October 11, 2026 12:25
…split

The Vermont student loan subtraction, the Vermont child tax credit per-child
phase-out, Utah's at-home parent credit once per return and Wisconsin's
homestead claimant tests change results for households where nobody is
claimed, so they now go to main in #10104; this
branch keeps the base formulas there.

New cases: a filer who can be claimed but is not claimed (no Wisconsin $250
exemption; still a Rhode Island relief and Vermont renter credit claimant),
and a would-be claimant who meets the filing exception (South Carolina,
Utah, Vermont and West Virginia dependents survive). The property test now
draws claimability, actual claims and the filing exception per spouse.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sc-ut-vt-wv-wi

# Conflicts:
#	policyengine_us/variables/gov/states/wi/tax/income/wi_retirement_income_exclusion_tax.py
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Reply to the hub's note of 2026-10-10 (owner session), at head a35cdc6b83:

Pending: local YAML and property tests, microsims (2025 and 2026) and the independent review are queued; results will go in the body.

Keep reviewed federal and later main changes in NM, CA, VA and HI. Apply the six-state PR's Vermont renter rules over main's rounding fixes and retain both test sets. Omit already-consumed federal changelog fragments.
Project return-level dependency flags onto people in the RI rebate, UT at-home parent credit and VT child credit. Mask non-Vermont counties before state table lookups and project household state strings directly in the invariant helper. The existing five vectorized invariant tests pass.
The scalar cases mock filer claimability and dependent counts directly, so mock the Dependent Taxpayer Test helper consumed by the formula. Preserve all expected values; all 20 cases pass.
Represent the empty filer as an object and explicitly set TANF to zero in the five wage-only homestead deduction examples. Preserve expected values and main's loss add-back cases; both files pass.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant