Repository navigation
Conversation
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>
|
Note from the US + core hub for this PR's owner (2026-10-10). #10024 now has an approved head,
A reviewer of the Two related points from the same branch:
|
- 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>
|
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'll post a hand-off comment here when it's ready. Generated by Claude Code |
Taxable disability benefits before minimum retirement age are wages for federal purposes and the federal dependent worksheet counts them; the shared Wisconsin cap left them out, so a claimable 2025 filer with $10,000 of them and $20,000 of interest got $1,350 instead of $10,450. Both Wisconsin deduction paths use this helper. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6FjKTA223kkKGWSie6
|
Ready for hub review Head: P2: WI's dependent standard deduction cap omits disability wages: FIXED
Other sources: the federal dependent worksheet ( New cases in
Mutant: with the code change reverted, the disability case fails at $1,350 against $10,450, the review's $9,100 gap; the file passes 22 of 22 with it. P3: the WV parity hand-offDrafted for the hub to post on TheAxiomFoundation/rulespec-us#1811 (not posted here); it replaces the $2,000/$500 form reading with the statute's per-person $500/$2,500/$1,000 and lists the Tests (local, one file per process)All 26 changed YAML files: 354 cases passed, 0 failed (RI 4 files, SC 3, UT 4, VT 4, WI 7, WV 3, and the repeal file). CI: the PR is a draft, so the Pull request workflow skips it; CI hasn't run. Judgment calls
Generated by Claude Code |
|
Hub review in progress Round-5 delta review of
Generated by Claude Code |
|
Ready for hub review This is a round-5 delta review of P1P1-a. CI fails the reform-combo memory budget because of this PR's RI test additions. This PR adds 16 cases to that file (4 on main, 20 at head). They introduce new reform combos, and the file now exceeds the per-file budget that main's code-health guard enforces. The Pull request run at this head (run 41831766745) fails "Python tests / Full Suite - Rest (Python shard 5)" and "Check Rest Python shards": I reproduced it locally. Fix: move lines 119 to the end (the 16 "young/older dependent", "joint return …" and "filing exception" baseline/reform pairs) into a new file,
The new file sits in the same folder, so the contrib selectors that already collect this one still reach it. P1-b. The "Package and compatibility" job fails at this head. Same run: I couldn't reproduce CI's resolution locally. With uv 0.11.32, P2P2-a. The WI dependent cap still omits farm income and the self-employment-tax subtraction, and the hand-off says disability wages were the only missing source. The helper sums Here is what a claimable 2025 single filer age 22 with $20,000 of interest gets (Simulation runs, year-keyed inputs):
Hand check for the farm row: SE tax ALD = 10,000 × 0.9235 × 0.153 / 2 = 706.48. Earned income = 10,000 − 706.48 = 9,293.52, plus 450 gives 9,743.52. The ordinary deduction is 13,560 − 0.12 × (29,293.52 − 19,550) = 12,390.78, so the cap gives 9,743.52. The PR's $1,350 understates it by $8,393.52. Main gives $12,390.78 because it has no cap at all, so this PR is what makes the farm case worse. The SE row overstates by $706.48. The Form 1 worksheet text was out of reach from this VM (see below), so the SE-tax half of this rests on the helper's own premise that WI mirrors the federal worksheet ("as on the federal worksheet"). Fix, after merging main (needed for P1-b anyway): replace lines 49-60 ( earned_income = tax_unit("standard_deduction_worksheet_earned_income", period)and update the comment above it to say the helper reuses the federal worksheet's earned income. That variable already applies the head/spouse filter, the joint netting and the zero floor. I applied this on a scratch merge with main:
Add a farm-income case (2025, claimable, $10,000 P2-b. WV: children who add no exemption switch off the per-filer $500. The gate tests the raw
Under the PR's own per-person reading, the child rows should be 2,500 and 1,000. The body's caveat ("attribution under a claimable filer's single-exemption limit is unresolved") covers returns where dependents do count, such as the filing-exception case, not these. Fix: in the baseline variable and the contributed reform, gate on lawful dependent exemptions instead of dependent members: exemptions = tax_unit("exemptions_count", period)
lawful_dependent_exemptions = exemptions - own_exemptions
childless_claimable = (lawful_dependent_exemptions == 0) & (
claimable_filers > 0
)In the baseline, this replaces lines 32-36 and the later duplicate P2-c. The PR body is stale and has no
The hub owns the P3P3-a. The new reference WV parity witnesses (for the #1811 correction)These are from
The hand-off says it drafted a #1811 correction but didn't include the text, so there's nothing to check it against. The two-children values it quotes ($2,000 and $500) match these runs as built. Checked and sound
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 |
… pyproject.toml The Package and compatibility job checks the head's lock, which sat 99 commits behind main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The 16 claimable-filer baseline/reform pairs pushed exemption_reform_test.yaml past the per-file reform-combo budget that test_reform_combo_budget.py enforces. Moving them to a sibling file in the same folder keeps the contrib selectors collecting them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The helper summed wages, business income and disability wages itself, so it missed farm income and never subtracted the deductible part of self-employment tax. standard_deduction_worksheet_earned_income already applies those, the head/spouse filter, joint netting and the zero floor. Adds the 2025 farm-income case (9,743.52). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A child on a return whose filer can be claimed adds no exemption under IRC 152(b)(1), so it should not switch off the per-filer amounts. The baseline and contributed reform now test exemptions_count minus own exemptions instead of tax_unit_dependents; the repeal override, whose ordinary amount counts only own exemptions, applies whenever a filer is claimable. Updates the one-claimable-plus-child cases to 2,500 and the both-claimable-plus-children cases to 1,000, adds baseline and repeal cases, and widens the invariant identity to match. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Ready for hub review Head: Commits this round: Items
Expectations that moved (before → after)
Added:
Unchanged:
WV parity witnesses after this changeThese come from a Simulation probe at this head (2025, $8,000 wages each on joint returns). They match the YAML.
Hand computations
Tests (one file per process, local Linux VM)
MutantsEach ran in its own process, and the file was restored with
CIPull request run 41855545317 was still in progress at hand-off, about 60 minutes after the push, so it has no conclusion yet.
Judgment calls
Proposed follow-up
Generated by Claude Code |
|
Hub review in progress Round 6 delta review of Findings so far:
Generated by Claude Code |
|
Ready for hub review This is a round-6 delta review of
All three round-5 blockers are fixed, CI is green, and every mutant the hand-off lists is killed. I found no P1 or P2. The methodology choices are unchanged from round 5:
P3P3-a. The Publication 907 reference is still undated. The hand-off reports that the session couldn't reach irs.gov, and this VM couldn't either (proxy 403). The hub read Publication 907 (2025), PDF page 3: "You must report your taxable disability payments as wages on line 1h of Form 1040 or 1040-SR until you reach minimum retirement age." I couldn't fetch that page myself, so this rests on the hub's reading. Replace "https://www.irs.gov/publications/p907",with "https://www.irs.gov/pub/irs-prior/p907--2025.pdf#page=3",This doesn't block landing. P3-b. No test pins that a dependent's own earnings stay out of WI's cap (surviving mutant M7). The head is correct:
The result does change. A Simulation probe (2025: a claimable filer aged 22 with $20,000 of interest, plus a 16-year-old dependent earning $5,000 in wages) gives - name: Wisconsin leaves a dependent's own wages out of a claimable filer's earned income
period: 2025
input:
people:
filer:
age: 22
taxable_interest_income: 20_000
claimable_as_dependent_on_another_return: true
child:
age: 16
employment_income: 5_000
tax_units:
tax_unit:
members: [filer, child]
households:
household:
members: [filer, child]
state_code: WI
output:
standard_deduction_worksheet_earned_income: 0
# The child's wages belong on the child's own return.
# Dependent limit: max(1,350, 0 + 450) = 1,350.
wi_standard_deduction: 1_350P3-c. The body's CI paragraph is stale, and the
The Checked and soundCI. Pull request run 41855545317 at
The RI split (P1-a).
WI cap (P2-a). I computed the hand values from the parameter tree before reading the cases. The 2025 values are:
The farm case works out as follows:
The disability row is min(12,306, max(1,350, 10,450)) = 10,450, and it still passes. I read Simulation probes (2025, a claimable single filer aged 22 with $20,000 of interest):
So the round-5 farm and SE defects reproduce at WV gate (P2-b). The contributed reform's The repeal's ordinary amount counts only Hand values with $2,000 and $500 (both constant from 2021 through 2026 in the parameter tree):
All six moved expectations and both new cases ( Joint-return Simulation probes (2025, $8,000 wages each), giving
The hand-off's parity table. Every row matches either these probes or a passing case in The widened identity ( LIFTC. The fixture file is untouched this round and passes. Its arithmetic checks out: 16,000 − 2,500 = 13,500; 10,000 × 2.22% + 3,500 × 2.96% = 325.60; 80% of that is 260.48. Tests at head, one file per process (local Linux VM):
Mutants. Each ran in its own process on a scratch worktree that imports its own copy of the package. Each was restored afterwards, and
Readers.
Against the round-5 head, this round's changes only raise the WV exemption and only raise or lower the WI cap toward the worksheet value, in the same direction on each path. I found no reader made worse. Baseline movement. Yes, this round moves baseline outputs.
The population check is the count and weight of:
Scope.
Body. Checked against the code:
All hold, except the CI paragraph (P3-c). Overlaps.
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 |
…ages Cite the 2025 Publication 907 PDF at the page that treats disability payments before minimum retirement age as wages, rather than the undated web page. Add a case where a claimable filer's dependent child earns wages: the child's earnings belong on the child's own return, so the dependent limit stays at 1,350. Without it, a helper that summed every member's earned income would pass both WI files while giving 5,450. 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
MutantM7:
CIPull request run 41944409704 at Judgment calls
Generated by Claude Code |
PR Review: Apply the RI, SC, UT, VT, WV and WI rules for a filer who can be claimed as a dependentSummaryI read each state's statute and the claimed years' forms first, then the code. The PR uses only existing dependency variables, and no variable is reinvented:
Most changed gates match the governing text for the claimed years:
CI is 36/36 green at the head. The branch conflicts with current main in one test file. Two critical items and six should items are open:
Critical (must fix)C1. Wisconsin $250 additional exemption: the new claimability bar follows the instructions, not 71.05(23)(b)3 (
C2. West Virginia family tax credit: family size drops the 11-21-16(d) exemption, and zero-exemption returns are barred, against 11-21-22a(b) (
Should addressS1. Two CONTRIBUTING.md#source-conflicts, step 1: "If the backlog already lists the conflict, it updates that item instead." Neither item is touched by the PR.
S2. Three readings the PR takes are not recorded
S3. The
S4. Rhode Island's new
S5. Utah: the rewritten
S6. A reference title doesn't follow the CLAUDE.md format (
Suggestions
Verified correctThe law, read first.
The code.
Axiom line assessmentThe line lists six queued issues:
CI status
Branch status
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes per the review above: 2 critical (WI age-65 $250 exemption barred for claimable filers against 71.05(23)(b)3; WV family tax credit family size drops the 11-21-16(d) exemption and bars zero-exemption returns against 11-21-22a(b) — both turn main's correct results wrong), 6 should, 6 suggestions.
Summary
Apply RI/SC/UT/VT/WV/WI claimable-filer rules symmetrically between head and spouse. Preserve claimability versus actual-claim gates and the Dependent Taxpayer Test (DTT), including #10024/#10087's filing exception.
Preserve gates in RI/SC/UT/VT/WV contributed reforms and RI/WI/WV repeal overrides. Wisconsin's deduction paths share the federal dependent worksheet's earned income; Vermont uses 2021–2025 HUD efficiency rents for zero exemptions. WV baseline and reform allow $500 per claimable filer when no dependent adds an exemption (
exemptions_countminus own exemptions is zero), so a child who adds no exemption leaves the per-filer $500 alone; the repeal override, which counts only own exemptions, allows it to every claimable filer. Unresolved attribution when dependents do add exemptions intentionally retains the prior behavior.#10104 separately fixes VT student-loan interest/CTC per-child phase-out, UT at-home parent multiplier and WI homestead claimant conditions. HI/VA repeal remains a separate follow-up: preserve baseline own/aged gates (claimable-single repeal wrongly restores $1,144/$930).
Readings
standard_deduction_worksheet_earned_income) on both deduction paths: wages after pretax deductions, taxable disability wages, and business and farm income, less the self-employment tax deduction; non-W-2 grants remain excluded. Witnesses (2025, claimable single, age 22, $20,000 interest): $10,000 of disability wages gives $10,450; $10,000 of farm income gives $9,743.52 (SE tax deduction 10,000 × 0.9235 × 0.153 / 2 = 706.48; 10,000 − 706.48 + 450). The $10,000 wage/$5,000 traditional 401(k) witness gives a $5,450 deduction and $9,550 taxable income; a claimable but unclaimed control retains the $1,450 deduction. A dependent child's own $5,000 of wages stays out of a claimable filer's earned income, so that filer's deduction stays $1,350.d1741/d1742/d1744 remain as built: NIIT/QBI/HSA/education; HI/NY/MA/KS; NM medical/WV senior-disability. d1744's WV 11-21-12(c)(9) income-base choice is distinct from this exemption fix.
Not modeled (listed, not implemented)
Other findings (not fixed here)
vt_renter_creditnever 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_dependentscounts 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
Five property tests check head/spouse swaps, claimability monotonicity and statutory identities in 2021/2023/2025/2026 populations including pension/IRA income. For WV returns with no lawful dependent exemptions (childless, or whose children add none), the exemption identity is $2,000 per nonclaimable filer plus $500 per claimable filer; attribution when dependents add exemptions retains the existing behavior. YAML pins WV witnesses and baseline/reform/repeal, ordinary-dependent and filing-exception controls. Nobody-claimable controls use YAML, without property-test base comparisons. Model-construction counts stay fixed.
Validation and merge
Head:
a527247897fe305ce6747ba783991881e0e1b226. The PR is ready for review (not a draft).Merge commit
382bdbc900importsorigin/mainat25c42534839b2bb60c02730a3ff4152cdd826ee9with a merge commit; it had no conflicts, and no rebase or history rewrite was performed. It brings in main'suv.lockandpyproject.toml; no lock refresh was needed.The 16 claimable-filer RI reform pairs now live in
policy/contrib/states/ri/exemption_reform_claimable_filer_test.yaml, soexemption_reform_test.yamlkeeps its 4 original cases and stays within the reform-combo budget.Local runs, one file per process (Linux VM, not CI). The two WI files and
test_reference_urls.pyran at this head; the other files ran atce5880d884, and the commit since then changes only the WI test file and a WI reference URL:policy/contrib/states/ri/exemption_reform_test.yamlpolicy/contrib/states/ri/exemption_reform_claimable_filer_test.yamlpolicy/baseline/gov/states/wi/tax/income/wi_standard_deduction.yamlwi_retirement_income_exclusion_tax.yamlpolicy/baseline/gov/states/wv/tax/income/exemptions/wv_personal_exemption.yamlpolicy/contrib/states/wv/dependent_exemption_reform_test.yamlpolicy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yamlpolicy/baseline/gov/states/wv/tax/income/credits/liftc/wv_low_income_family_tax_credit_eligible.yamlcode_health/test_reform_combo_budget.pycode_health/test_reference_urls.pycore/test_claimable_filer_ri_sc_ut_vt_wv_wi_invariants.pyruff format --checkandruff checkpass on the changed Python files. No directory suite or microsimulation was run locally.Pull request run 41944409704 passed all 36 jobs at
a527247897.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 by Claude Code