Repository navigation
Apply Iowa, Kansas, Louisiana and Maryland rules for a filer who can be claimed as a dependent - #10045
Draft
MaxGhenis wants to merge 32 commits into
Draft
Apply Iowa, Kansas, Louisiana and Maryland rules for a filer who can be claimed as a dependent#10045MaxGhenis wants to merge 32 commits into
MaxGhenis wants to merge 32 commits into
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>
…endent
A return on which the filer (or, if joint, either spouse) can be claimed as a
dependent has no dependents (IRC 152(b)(1)), and these states never applied
that or their own rules for such a filer. Now:
- Iowa: no $40 dependent credits (the personal credits stay, "even if you are
claimed"); a claimed single filer is exempt from tax only with income below
$5,000, a joint return with a claimed spouse is not exempt, and the single
tax reduction worksheet excludes a claimed filer.
- Kansas: a claimed filer has no exemptions in 2021-2023 ("enter '0' in the
Total Kansas exemptions box"); from 2024 the filing-status allowance stays
and dependents are zero; the food sales tax credit counts exemptions the
same way and has no child route.
- Louisiana: no dependent exemption (2021-2024).
- Maryland: no own exemption for a filer who can be claimed (filing status 6)
and no dependent or aged-dependent exemptions; no child tax credit; no
childless EITC on the pro forma federal credit without the minimum age; the
poverty line credit is barred for a claimable filer and, on a joint return,
kept for the other spouse on that spouse's earnings with the poverty level
for the exemptions that spouse may claim (10-709(a)(2)).
The Iowa, Kansas and Maryland dependent-exemption contrib reforms and the
state dependent exemption repeal keep these rules.
Kentucky needs no change: its care and tuition credits read the federal
credits the base branch already corrects; YAML cases pin that.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tax-General 10-211(c) limits "the amount allowed for each exemption under subsection (b)(1) or (2)" once federal AGI exceeds $100,000 ($150,000 joint, head of household or surviving spouse), and the Resident Booklet's chart says "This reduction applies to the additional dependency exemptions as well". The aged dependent exemption ((b)(2)) was a flat $3,200 at any income; it now takes the same per-exemption amount as the personal exemption. 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>
- 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>
…claimable-filer-ia-ks-ky-la-md
#10024 now separates claimability (`claimable_as_dependent_on_another_return`) from an actual claim (`claimed_as_dependent_on_another_return`) and adds the claimant filing exception. Each rule now reads the fact its law names: - IRC 152(b)(1) "no dependents" rules (Iowa dependent credit, Kansas dependents and food sales tax credit child, Louisiana dependent exemption, Maryland dependents, aged dependents and CTC, and the childless pro forma EITC) read `head_or_spouse_is_dependent_elsewhere_without_filing_exception`, as the federal formulas do. - Rules whose text says "claimed" read the claim: Iowa's low-income exemption and tax reduction ("not claimed as a dependent on another person's Iowa return") and Kansas's 2021-2023 zero exemptions ("If you are claimed as a dependent"). - Maryland's filing status 6 ("Any person who can be claimed") keeps reading claimability for the own exemption and the poverty line credit. Maryland now counts its own exemptions in `md_personal_exemptions_count` instead of reading federal `exemptions_count`, so a federal-only reform of that count no longer changes Maryland's exemptions (review r1 finding 1). The changelog names the aged dependent AGI limit (r1 finding 2). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
YAML cases for a filer who can be claimed but is not claimed (Iowa exemption and tax reduction, Kansas 2021-2023 exemptions) and for a claimant who meets the filing exception (Iowa dependent credit, Kansas 2024 dependent exemption, Louisiana dependent exemption, Maryland exemption count, CTC and pro forma EITC, and the poverty line credit, which the exception does not restore). New md_personal_exemptions_count.yaml. The property test now draws claimable, claimed and filing-exception patterns, checks the unchanged-when-nobody-is-claimable identities (review r1 finding 3) and adds a filing-exception scope test. Also: the 2021 Iowa exemption anchor is page 38, not 37; Louisiana's 2023 instructions are cited; 422.13(1)(a) is labelled as the filing requirement. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 19, 2026
This was referenced Oct 21, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Iowa, Kansas, Louisiana and Maryland each have rules for a filer who can be claimed as a dependent on another return that the model never applied. A return on which the filer (or, if joint, either spouse) can be claimed has no dependents unless the would-be claimant meets the filing exception (IRC 152(b)(1); Publication 501: "you and your spouse can't claim any dependents on your joint return"), and these states also have their own rules for the claimable or claimed filer. This PR applies the ones the federal fixes do not already cover. Each rule is symmetric between head and spouse and reads the fact its law names, using #10024's split inputs:
head_or_spouse_is_dependent_elsewhere_without_filing_exception, as the federal formulas do.claimed_as_dependent_on_another_return).It also fixes one related error in the same formulas (last row of the table). Kentucky claimable-filer coverage follows the federal fixes, but the inherited 2026 care-credit reader has a separate conformity limitation described below; this PR does not fix that statewide issue.
Stacked on the federal claimable-filer PR #10087 (
claimable-filer-federal, merged in at 35a2cbc) and on #10024. The 2026-10-09 audit (Subfleet research,sweep_s2) was written before those changes. The rows they already fix are listed below, with the YAML cases that now pin them.ia_exemption_creditia_is_tax_exempt(+ new parameterstax_exempt/dependent/income_limit,income_sources)ia_reduced_taxks_count_exemptions(2021-2023)ks_exemptions(2024+)ks_fstc(2021-2024)la_dependents_exemption(2021-2024)md_personal_exemptions_count(new),md_total_personal_exemptionsexemptions_countmd_aged_dependent_exemptionfederal_eitc_without_age_minimumeitc_demographic_eligiblemd_ctc,md_ctc_eligibleis_eligible_md_poverty_line_credit,md_poverty_line_credit_potential,md_local_poverty_line_credit(+ newmd_poverty_line_credit_earned_income,md_poverty_line_credit_income_level)md_aged_dependent_exemption(related fix)The Iowa, Kansas and Maryland dependent-exemption contrib reforms and the state dependent exemption repeal keep these rules (YAML cases added). In
repeal_state_dependent_exemptions.pythis PR changes only the Maryland and Kansas entries and lands first in that file's order: this PR, then #10043, then #10053.Audit rows already fixed by #10024 or the federal branch (not changed here)
eitc) and care credit (cdcc_potential). Pinned inia_eitc.yamlandia_cdcc.yaml.eitc) and care credit (cdcc). Pinned inks_total_eitc.yamlandks_cdcc.yaml.cdcc, and the inherited 2026 reader usespre_obbba_cdcc. Both use the federal qualifying-expense dependency gates, pinned inky_cdcc_potential.yaml. This establishes claimable-filer coverage only. The frozen 2026 reader is obsolete under KRS 141.010(21), PDF p.3 and 2026 chapter 161 §6, PDF p.9, which advance conformity to December 31, 2025. KRS 141.067 retains the 20% federal match. The statewide conformity correction is deferred to a separate PR.eitc), refundable and nonrefundable care credits (cdcc_potential,cdcc), and through them the school readiness credit. Pinned inla_eitc.yamlandla_refundable_cdcc.yaml.cdcc), dependent care subtraction (count_cdcc_eligible,cdcc_relevant_expenses) and local EITC (eitc). The subtraction is pinned inmd_dependent_care_subtraction.yaml.These dependency-reader statements describe the formulas on this branch, subject to the Kentucky 2026 conformity limitation above. No tax formula in these five states reads raw childcare expenses; the raw-expense readers are the CCAP and TANF benefit programs.
Maryland's separate returns: how far this models them
Maryland requires a married filer who can be claimed to file separate Maryland returns (filing status 6 for that spouse). The model keeps the federal joint tax unit and applies each rule per filer where the rule is per filer:
It does not compute two separate Maryland returns. These still use the joint unit:
A married person can be claimed only if the couple's joint return is "filed only to claim a refund of withheld income tax or estimated tax paid" (Publication 501), so these are low-income couples. From 2025 the two separate flat standard deductions sum to the joint one ($3,350 x 2 = $6,700), but the separate rate schedules can still give a different tax. Computing the two returns needs each spouse's income as on a separate federal return (Instruction 8), a split the Maryland model does not have.
Review r1 (Sol, at 704a604): responses
md_personal_exemptions_count, with the same rule as the federal count, and bothmd_total_personal_exemptionsandmd_poverty_line_credit_income_levelread it. The federalrepeal_dependent_exemptionsreform no longer reaches Maryland.max_exampleswas 2. The property test now checks the nobody-claimable identities: the Maryland count equalstax_unit_size, the poverty earned income equalseitc_earned_income, the poverty level equalstax_unit_fpg, and The testedla_dependents_exemptionamount is $1,000 per dependent.max_examplesis now 3, and a filing-exception scope test is added. The pending hub microsimulation will check the remaining outputs.eitc_earned_income. Round 2 corrects the wage input toirs_employment_income, matching the current federal definition after pretax payroll contributions; retaining a cross-reference alone had not kept the two definitions aligned. The Maryland calculation still needs per-person sources to allocate income between spouses.Response to the independent review
Historical round-1 follow-up record; the round-2 responses and validation appear at the end of this body. The supplied round-1 review examined
704a604a29; the assigned head228b34ad938e9773c1a76bf02ffd0f9e75f948bealready contains the six implementation/documentation responses above. This follow-up independently rereads the cited primary passages and adds the missing reform regression, rather than repeating those fixes.md_personal_exemptions_countin both consumers; add registered federal-repeal cases proving that four Maryland exemptions remain $12,800 and that the filing-exception poverty level remains $21,150 under both spouse labellings.irs_employment_income, net of pretax payroll contributions, alongside the other current federal earned-income sources. A shared tax-unit result cannot supply the per-person allocation required here.Partial validation results from the direct foreground file runs are appended below. No microsimulation is run in this follow-up.
Readings for Max (for the US + core hub to batch)
These preserve the PR's existing choices. Items 3 and 6 identify missing inputs/return representation rather than discretion to ignore an explicit legal requirement. Amounts below illustrate the rule at issue, before unrelated tax limits unless stated.
Kansas 2021–2023 exemptions. Keep the K-40 actual-claim rule: either claimed spouse makes the total count zero (2022 K-40 instructions, PDF p.6). The alternative reads 2023 K.S.A. 79-32,121(a) and IRC 151(d)(2) per person, based on claimability. Worked 2023 joint return, one claimed spouse, other spouse unclaimable, no dependents: PR $0; alternative 1 × $2,250 = $2,250. A claimable but unclaimed single filer receives $2,250 under the PR versus $0 under the alternative.
Kansas food sales tax credit, 2021–2024. Keep K-40 Line E's count, including the 2024 filing-status allowance (2024 instructions, “Exemptions and Dependents” and “Lines E through H”). The alternative follows federal exemptions in K.S.A. 79-32,271(d). Worked otherwise-eligible 2024 joint return with one claimable spouse and no dependents: PR 2 × $125 = $250; alternative 1 × $125 = $125. An otherwise-eligible claimable single filer has $125 versus $0, before the general tax-liability cap. The 2021–2023 instructions already exclude the extra head-of-household exemption (2022 booklet, PDF p.5): an eligible 2022 head of household with one qualifying child has 2 × $125 = $250, not 3 × $125 = $375. The inherited disabled-veteran omission is listed under Not modeled.
Iowa low-income exemption: external claimant income and Iowa return. Keep the instructions-based simplification because the model lacks the claimant's income and return jurisdiction. Iowa Code 422.5(2)(a), PDF p.7 conditions the dependent exclusion on the claimant exceeding the income limit; the 2022 instructions, PDF p.37 use the $5,000 dependent test and an Iowa-return claim. Worked 2022 claimed single filer with $6,000 net income and a single claimant with $8,000 net income: PR not exempt ($6,000 ≥ $5,000); claimant-income alternative exempt (both incomes below the ordinary $9,000 limit), so tax after the exemption is $0. A non-Iowa claimant creates the analogous jurisdiction-input choice.
Iowa alternate tax. Keep the alternate tax for a joint return with a claimed spouse: the 2024 alternate worksheet repeats no dependent bar. The alternative applies the whole-subsection dependent exclusion in 2024 Code 422.5(2)(a)–(b), PDF p.7. Worked 2024 joint return, one claimed spouse, modified income $20,000, ordinary tax $500, external claimant income $30,000: PR min($500, ($20,000 − $13,500) × 5.7%) = $370.50; alternative $500.
Maryland dependents on separate returns. Keep Instruction 8's overall dependent pool as the federal joint return's, which has no dependents when either filer is claimable outside the claimant filing exception (2025 booklet, PDF p.13; Publication 501, PDF p.11). The alternative computes a pro forma separate federal dependent pool for the unclaimable spouse. Worked 2025 couple with one claimable spouse, an otherwise qualifying child age 4 and AGI $2,000: PR $3,200 basic exemptions and $0 CTC; alternative $6,400 and $500 CTC, under 10-211(a)(3), (b) and 10-751(a)(2)(i).
Maryland separate returns — model limitation. Keep the existing per-filer rules on one federal joint unit; a full two-return computation remains outside this PR. Filing status 6 and Instruction 8, PDF pp.12–13 explicitly require separate Maryland returns. Worked 2025, no children, claimable spouse earnings $10,000, other spouse earnings $5,000, no adjustments: current aggregate taxable income $15,000 − $6,700 − $3,200 = $5,100; separate taxable incomes total max(0, $10,000 − $3,350) + max(0, $5,000 − $3,350 − $3,200) = $6,650. The poverty-credit AGI test still expressly uses joint federal AGI for separate Maryland filers following a joint federal return (booklet, PDF p.23).
Louisiana school readiness credit, incapable child. Keep the inherited Louisiana care-credit route: IRC 21(b)(1)(B) disregards 152(b)(1) for an incapable qualifying person; R.S. 47:297.4(A) imports that credit and 47:6104(A) multiplies it by facility rating. The alternative imposes a separate legal-dependent gate from the 2023 instructions, PDF p.16, which use “qualified dependent” (the phrase is not in 47:6104 itself). Worked 2023 claimable filer, incapable child age 4, $1,000 qualifying care, $10,000 AGI/earnings, five-star facility: PR federal credit $350, Louisiana care credit $175, school readiness $175 × 200% = $350; alternative school readiness $0.
Maryland filing exception and the dependent-taxpayer chart. Keep the PR's statutory reading: 10-211(a)(3), (b)(1) allows an actual IRC 152 dependent even when the filer's own exemption is denied, if the claimant filing exception preserves that dependent. An alternative reads Chart 10A's dependent-taxpayer “Each Exemption” $0 column as denying all exemptions on that taxpayer's return (2025 booklet, PDF p.12). Worked low-AGI 2025 single claimable filer, claimant filing exception true, one otherwise qualifying child: PR 1 × $3,200 = $3,200; broad chart reading $0. The existing filing-exception YAML cases pin the retained reading.
Kansas 2024+ actual claims versus federal dependent entitlement. Keep the statutory federal-entitlement reading in K.S.A. 79-32,121b(a)(3), which preserves an otherwise eligible dependent under the claimant filing exception. The alternative follows the 2024 K-40 instructions, PDF p.6, requiring a taxpayer actually claimed on another return to enter zero dependents. Worked 2024 single filer, actually claimed, claimant filing exception true, one eligible child: PR $9,160 + $2,320 = $11,480; instruction-based alternative $9,160. This reading concerns 2024+ baseline exemptions; the round-2 contrib fix follows the actual-claim zero-total rule for 2021–2023.
Maryland poverty credit: actual claim versus claimability. Keep the filing-status-6 claimability rule in the 2025 booklet, PDF pp.12 and 23. The alternative follows the actual-claim exclusion in Tax-General 10-709(a)(3)(iii). Worked claimable-but-unclaimed filer with $10,000 earned income, holding the other income/credit conditions satisfied: PR excludes the filer and gives $0; the actual-claim alternative passes that exclusion and gives an uncapped state amount of 5% × $10,000 = $500, subject to remaining state tax. For a complete low-income fact pattern the exemption-count, earned-income allocation and EITC/tax limits must also be applied; this comparison isolates the actual-claim gate rather than asserting a $500 final credit.
Maryland poverty threshold: allowed exemptions versus persons on the federal return. Keep the allowed-and-claimed exemption count in Tax-General 10-709(a)(2). The alternative follows the federal-return person count in the 2025 poverty-credit worksheet, PDF p.23. Worked 2025 joint federal return with one claimable spouse, one unclaimable spouse and no children: PR counts 1 allowed exemption and uses $15,650; person-count alternative counts 2 and uses $21,150. At $18,000 of relevant AGI/earnings, the PR income test fails while the person-count alternative passes. The code keeps the statutory count.
Not modeled (listed, not implemented)
Other findings (not fixed here)
pre_obbba_cdccreader freezes federal conformity. The enacted December 31, 2025 conformity date and continuing 20% federal match require separate work. For a 2026 single parent with $50,000 AGI/earnings, one eligible five-year-old, $1,000 care expenses and sufficient liability, the current reader gives 20% × $200 = $40, versus 20% × $350 = $70 under the enacted law. This pre-existing issue affects Kentucky filers generally and is outside this claimable-filer patch.federal_eitc_without_age_minimumomits the federal separate-filer and section 911 conditions thateitc_eligibleapplies.repeal_state_dependent_exemptions, the overrides for other states (HI, OH, RI, VT, VA, WV and others) are left to the hub'srepeal-state-dep-exemptions-claimable-filerbranch, Apply New Jersey, North Dakota, Ohio, Oklahoma and Pennsylvania rules for a filer who can be claimed as a dependent #10043 and Apply Arizona, Arkansas and California rules for a filer who can be claimed as a dependent #10053.Invariants
Swap invariance. Every changed output, and each of the five states' income taxes, is the same under either head/spouse labelling.
Monotonicity. Marking another filer as claimed never raises:
Left out by design:
The poverty earned income holds only for non-negative self-employment income. On separate returns a claimable spouse's loss no longer offsets the other's earnings, which is intended.
Identities. With a filer claimable outside the filing exception: no Louisiana dependent exemption, no Maryland aged dependent exemption or CTC, and no pro forma EITC without a child. With every filer claimable: no poverty line credit.
Differential. Wherever the federal EITC's eligibility holds, Maryland's
federal_eitc_without_age_minimumequals the federal credit before take-up and filing.Unchanged when nobody can be claimed. The Maryland count equals
tax_unit_size. The poverty earned income and poverty level equaleitc_earned_incomeandtax_unit_fpg. The testedla_dependents_exemptionamount is $1,000 per dependent. The pending hub microsimulation will check the remaining outputs; the only exception is the aged dependent AGI fix.Filing-exception scope. The exception never lowers the 152(b)(1) amounts. It does not change Iowa's exemption (an actual-claim rule) or Maryland's poverty earned income (a claimability rule).
Tests
YAML. Variable-named cases cover every changed formula and the inherited state readers above:
Expected values are computed from the law and the repository parameters, with the arithmetic in each case's comments. The round-2 results are in Review r2: responses below. Earlier partial-verification results are preserved as historical records and are not presented as current-head validation.
Property test.
policyengine_us/tests/core/test_claimable_filer_ia_ks_ky_la_md_invariants.pychecks invariants 1-6 with Hypothesis (claimable, claimed and filing-exception draws), a seeded population in the five states for 2022, 2024 and 2026, and an exception-scope population for 2022 and 2025. Round 2 also permitsclaimed & exceptionin the generator. Cost in the existing Rest Python core CI group: Both before and after the round-2 generator change, a passing run builds 11 simulations and passes 6 cases. Local macOS timings: before 59.13 s pytest / 202.01 s whole command; after 45.14 s pytest / 97.86 s whole command. Whole-command measurements include process/model startup. These local observations do not establish a performance improvement or the marginal cost on Linux CI. Local peak memory was not measured. The existing successful Linux main run 39163337809 atfab18b7d6ba2eaef0d3eda3f419448d15711eb6emeasured the entire core group at 45:29.90 wall / 10.026 GiB peak RSS / 1,727 tests (zero failures, errors or skips). That main report does not contain this PR's property module. The assigned-head draft-PR run 39161769976 skipped the tests and has no timing/memory artifacts, so no PR-head or marginal Linux CI measurement is available. Current results are in the round-2 section; the earlier 6-case pass below is historical.Microsimulation impact
Pending: default dataset, 2025 and 2026,
claimable-filer-federal(35a2cbc) vs this branch. The dataset sets the dependency flags for nobody, so only the Maryland aged dependent AGI limit can move totals.axiom: TheAxiomFoundation/rulespec-us#1799 queued (IA: dependent credits, bounded low-income exemption/tax reduction, EITC/CDCC) | TheAxiomFoundation/rulespec-us#1800 queued (KS: 2024-2025 lawful dependent allowance, EITC/CDCC) | K.S.A. 79-32,271 n/a: expired after 2024 and unencoded | Louisiana 2021-2024 dependent exemption n/a: expired and unencoded | TheAxiomFoundation/rulespec-us#1801 queued (MD: exemptions/aged AGI limits, CTC, sourced EITC/poverty/care composition) | TheAxiomFoundation/rulespec-us#1802 queued (KY: 2024 care and tuition composition) | TheAxiomFoundation/rulespec-us#1793 queued (KY: 2026 care conformity) | TheAxiomFoundation/rulespec-us#1803 queued (LA: EITC, ordinary care/school readiness) | TheAxiomFoundation/rulespec-us#1621 queued (federal: childless EITC dependency gate/claimant exception) | TheAxiomFoundation/rulespec-us#1684 queued (federal: lawful dependency stack) | contrib reforms n/a: PE-only reform.
Merge with main after #10087
Merged main (
6989afda4698d6c643f5dd0ef7ad19aff9f769b8) after #10087 squash-merged. Resolvednm_medical_expense_credit.py, its YAML test, andca_cdcc_relevant_expenses.yamlwith main verbatim because this PR did not change them against its federal base. Forks_cdcc.yaml, retained main's unrelated 2021 increased federal dependent-care exclusion regression and appended this PR's six 2024 claimable/nonclaimable cases unchanged. Removed two inherited federal/#10024 changelog fragments already consumed by releases on main.The resulting 51-file diff preserves this PR's original changes against
35a2cbcbb9. Only the context around the Kansas test additions differs, because main's new regression case is retained before those additions; no inherited federal changes remain.Verification refresh (2026-10-16): main advanced to
1ef55c1197c6b466912e2f081d548d277e04e360with the North Carolina and Nevada supplementation changes and their release updates. Merged that main into the pushed18240a3755as228b34ad938e9773c1a76bf02ffd0f9e75f948be, without conflicts or history rewriting. Those upstream changes touch none of this PR's 51 paths. The direct diff against the refreshed main still has exactly those 51 paths and identical added/deleted lines to35a2cbcbb9..5459eee8f8; only the Kansas unchanged context differs. All 26 changed test files are unchanged by this refresh.Historical verification at
228b34ad938e9773c1a76bf02ffd0f9e75f948beonly (not validation of the current follow-up head): all 26 changed test files passed (288 cases). Reused the 24 completed files / 267 passes recorded at18240a3755; reran the Kansas (9 passes) and Maryland (12 passes) dependent-exemption contrib files at228b34ad938e9773c1a76bf02ffd0f9e75f948be, one foreground process per file with all requested thread caps. Ruff 0.15.5format --checkandcheckpass on all 23 changed Python files;make formatalso passes with all 6,993 Python files unchanged. No conflict markers or whitespace errors remain. The PR remains a draft.Independent review partial verification (2026-10-16 21:44 UTC)
Historical record at
594045e742dce9567926b96e8e852a4ebb70260c, superseded for current-head validation by Review r2: responses below.RESULT: BLOCKED. The required current-checkout rerun remains unfinished: 12/27 changed files completed successfully, 122 actual passed cases; 15 file runs not completed. The prescribed foreground rerun could not finish within the six-hour job limit; the active test process was stopped and joined before the deadline. This is an incomplete validation result, not an assertion that every changed file passes.
HEAD:
594045e742dce9567926b96e8e852a4ebb70260c. Current main95ac9bd01ce349bd388f3fd77c15f40bcb31d165was merged without history rewriting after confirming the assigned PR head228b34ad938e9773c1a76bf02ffd0f9e75f948be. The PR remains a draft. The historical 288-pass paragraph above describes the old assigned head only; those old runs are not included in the current totals below.Primary passages were independently reread; the existing policy readings are retained and the original eight alternatives with citations and worked numbers remain in Readings for Max above; round 2 adds readings 9–11. Finding dispositions:
irs_employment_incomewage-source update and corrects it.Fail before: temporarily replayed only the two consumer formulas from reviewed commit
704a604a29, then restored the current formulas in afinallyblock. The new exemption case calculated $6,400 instead of $12,800. Both poverty-threshold spouse-label cases calculated $15,650 instead of $21,150. All three failures were calculation failures, not import or collection failures.Pass after: the three new regressions pass in completed direct file runs: the seven-case Maryland total-personal-exemption file and both new poverty-threshold cases. All 12 successful current file runs / 122 passed cases below used the prescribed interpreter and direct single-file CLI (or
python -m pytest -qfor the Python file), one foreground process at a time,PYTHONPATHset to this checkout, all requested numerical thread caps set to four, andOMP_WAIT_POLICY=PASSIVE. No preload/fork alternative was used. No folder runs, full suites, or microsimulations were run in this follow-up.Ruff 0.15.5
formatandcheckandmake formatpassed, as recorded in the evidence logs. These formatting results and the three new regression passes do not substitute for the remaining required file runs.Only full successful records supported by their actual pass logs contribute to the completed count. Expected cases in uncompleted files are planning counts, not passes, and do not contribute to the total.
policyengine_us/tests/)core/test_claimable_filer_ia_ks_ky_la_md_invariants.pypolicy/baseline/gov/states/md/tax/income/exemptions/md_aged_dependent_exemption.yamlpolicy/baseline/gov/states/md/tax/income/credits/poverty_line/md_poverty_line_credit_earned_income.yamlpolicy/baseline/gov/states/md/tax/income/exemptions/md_personal_exemptions_count.yamlpolicy/baseline/gov/states/la/tax/income/exemptions/personal/la_dependents_exemption.yamlpolicy/baseline/gov/states/ia/tax/income/ia_cdcc.yamlpolicy/baseline/gov/states/ia/tax/income/ia_eitc.yamlpolicy/baseline/gov/states/ia/tax/income/ia_exemption_credit.yamlpolicy/baseline/gov/states/ia/tax/income/ia_income_tax_before_refundable_credits.yamlpolicy/baseline/gov/states/ia/tax/income/ia_is_tax_exempt.yamlpolicy/baseline/gov/states/ks/tax/income/exemptions/ks_count_exemptions.yamlpolicy/baseline/gov/states/ks/tax/income/exemptions/ks_exemptions.yamlpolicy/baseline/gov/states/ks/tax/income/ks_cdcc.yamlpolicy/baseline/gov/states/ks/tax/income/ks_fstc.yamlpolicy/baseline/gov/states/ks/tax/income/ks_total_eitc.yamlpolicy/baseline/gov/states/ky/tax/income/credits/dependent_care_service/ky_cdcc_potential.yamlpolicy/baseline/gov/states/la/tax/income/credits/cdcc/la_refundable_cdcc.yamlpolicy/baseline/gov/states/la/tax/income/credits/la_eitc.yamlpolicy/baseline/gov/states/md/tax/income/agi/md_dependent_care_subtraction.yamlpolicy/baseline/gov/states/md/tax/income/credits/ctc/md_ctc.yamlpolicy/baseline/gov/states/md/tax/income/credits/eitc/federal_eitc_without_age_minimum.yamlpolicy/baseline/gov/states/md/tax/income/credits/poverty_line/md_poverty_line_credit_income_level.yamlpolicy/baseline/gov/states/md/tax/income/exemptions/md_total_personal_exemptions.yamlpolicy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yamlpolicy/contrib/states/ia/dependent_credit_reform_test.yamlpolicy/contrib/states/ks/dependent_exemption_reform_test.yamlpolicy/contrib/states/md/dependent_exemption_reform_test.yamlThe property/invariant file completed with 6 actual passed cases.
Historical next step at that head: complete every file marked not completed using the same direct one-file foreground process and thread caps. The round-2 validation record below identifies what was rerun for the new changes.
Review r2: responses
RESULT: FIXED. HEAD:
e0eaf477c973b6133f5b878de0228bf385991b83. All 27 required file runs completed successfully with 301 passed cases.Review:
review-r2.mdat5e4bd89dda4609ffe66922f8a6155d0b684553e8. The PR remains a draft. The previous body is saved as untracked evidence inhub-evidence/10045-body-before-r2.md; all existing sections andaxiom:lines are retained, with earlier verification clearly scoped to its historical head.Confirmed the assigned branch head
5e4bd89dda4609ffe66922f8a6155d0b684553e8, fetched main83e03a92f6e7934b0a4af86d6425c5d272af409a, and merged it without conflicts ase72137ed074ed6d64f5c6d6bed3ee33359150bcb. No history was rewritten.irs_employment_income, matching federaleitc_earned_incomeafter pretax payroll contributions, as required by Tax-General 10-709's IRC 32(c)(2) reference. Correct the source comment and the stale round-1 claims above. Add 2025 mixed-spouse cases: $16,000 gross wages − $2,000 pretax contributions = $14,000, below $15,650, so both state and local earnings tests pass.claimed & exceptionproperty draws. For a 2022 actually claimed single filer with the claimant filing exception and one eligible child, reform amounts $0 and $4,000 both produce $0 total exemptions, replacing −$2,250 and $1,750, respectively.ks_fstc.yaml, including both-claimed and neither-claimed cases in 2022 and 2024.# PDF pages 39-40to the Iowa Code reference inia_exemption_credit.py, keeping the page-39 anchor.Fail before / pass after: The following failures are policy calculation mismatches, not import or collection failures. The new formula regressions fail before the corresponding fixes and pass after them; the extra coverage for existing behavior passes in the initial control runs as expected. These control runs exercised unchanged food-credit and baseline-exemption formulas; they are not a replay of the entire old tree.
md_poverty_line_credit_earned_income.yaml, two pretax-contribution cases under both spouse labelsdependent_exemption_reform_test.yaml, claimed filer with claimant filing exception and one childks_fstc.yaml, four new swapped-label counterpartsks_exemptions.yaml, 2024 claimed-filer filing-exception controlThe Maryland and Kansas before/after runs use the same new policy cases. Whole-command timings include startup; local measurements are distinct from Linux CI reports.
Current round-2 file results: 27/27 files passed, 301 cases. Paths below are relative to
policyengine_us/tests/; these are completed local foreground runs, with setup included in whole-command time.core/test_claimable_filer_ia_ks_ky_la_md_invariants.pypolicy/baseline/gov/states/ia/tax/income/ia_cdcc.yamlpolicy/baseline/gov/states/ia/tax/income/ia_eitc.yamlpolicy/baseline/gov/states/ia/tax/income/ia_exemption_credit.yamlpolicy/baseline/gov/states/ia/tax/income/ia_income_tax_before_refundable_credits.yamlpolicy/baseline/gov/states/ia/tax/income/ia_is_tax_exempt.yamlpolicy/baseline/gov/states/ks/tax/income/exemptions/ks_count_exemptions.yamlpolicy/baseline/gov/states/ks/tax/income/exemptions/ks_exemptions.yamlpolicy/baseline/gov/states/ks/tax/income/ks_cdcc.yamlpolicy/baseline/gov/states/ks/tax/income/ks_fstc.yamlpolicy/baseline/gov/states/ks/tax/income/ks_total_eitc.yamlpolicy/baseline/gov/states/ky/tax/income/credits/dependent_care_service/ky_cdcc_potential.yamlpolicy/baseline/gov/states/la/tax/income/credits/cdcc/la_refundable_cdcc.yamlpolicy/baseline/gov/states/la/tax/income/credits/la_eitc.yamlpolicy/baseline/gov/states/la/tax/income/exemptions/personal/la_dependents_exemption.yamlpolicy/baseline/gov/states/md/tax/income/agi/md_dependent_care_subtraction.yamlpolicy/baseline/gov/states/md/tax/income/credits/ctc/md_ctc.yamlpolicy/baseline/gov/states/md/tax/income/credits/eitc/federal_eitc_without_age_minimum.yamlpolicy/baseline/gov/states/md/tax/income/credits/poverty_line/md_poverty_line_credit_earned_income.yamlpolicy/baseline/gov/states/md/tax/income/credits/poverty_line/md_poverty_line_credit_income_level.yamlpolicy/baseline/gov/states/md/tax/income/exemptions/md_aged_dependent_exemption.yamlpolicy/baseline/gov/states/md/tax/income/exemptions/md_personal_exemptions_count.yamlpolicy/baseline/gov/states/md/tax/income/exemptions/md_total_personal_exemptions.yamlpolicy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yamlpolicy/contrib/states/ia/dependent_credit_reform_test.yamlpolicy/contrib/states/ks/dependent_exemption_reform_test.yamlpolicy/contrib/states/md/dependent_exemption_reform_test.yamlAll round-2 tests run one file per foreground process with the prescribed interpreter, checkout
PYTHONPATH, numerical thread caps of four andOMP_WAIT_POLICY=PASSIVE. No folder runs, full suites, microsimulations or background runners were used. Current round-2 static checks passed:make formatwith Ruff 0.15.0 left 7,312 files unchanged and passed Ruff check;git diff --checkpassed.Separate PR proposed: Update Kentucky's 2026 dependent-care credit for enacted IRC conformity.
Advance the Kentucky care-credit reader to the December 31, 2025 IRC under KRS 141.010(21) and 2026 chapter 161 §6; retain KRS 141.067's 20% match.
Add the $50,000-AGI/$1,000-care regression ($70, not $40) and cover the 2026 rate/eligibility transitions for Kentucky filers generally.
🤖 Generated with Claude Code