Skip to content

Apply Iowa, Kansas, Louisiana and Maryland rules for a filer who can be claimed as a dependent - #10045

Merged
MaxGhenis merged 48 commits into
mainfrom
claimable-filer-ia-ks-ky-la-md
Nov 10, 2026
Merged

MaxGhenis merged 48 commits into
mainfrom
claimable-filer-ia-ks-ky-la-md

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Iowa, Kansas, Louisiana and Maryland each have rules, which the model never applied, for a filer whom another taxpayer can claim as a dependent. A return on which another taxpayer can claim the filer (or, if joint, either spouse) has no dependents unless the would-be claimant meets the filing exception. IRC 152(b)(1) sets that rule; Publication 501 says "you and your spouse can't claim any dependents on your joint return". 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 treats head and spouse alike and reads the fact its law names, using #10024's split inputs:

  • IRC 152(b)(1) "no dependents" rules read head_or_spouse_is_dependent_elsewhere_without_filing_exception, as the federal formulas do.
  • Rules whose text says "claimed" read the claim (claimed_as_dependent_on_another_return). Iowa's also reads the claiming person's income. Maryland's poverty line credit reads a claim on another Maryland return, an input that defaults to the federal claim.
  • Rules that count federal exemptions (Kansas's 2021-2023 exemptions and food sales tax credit) read claimability, filer by filer (IRC 151(d)(2)).
  • Maryland's own exemption goes to every filer, claimable or not. Tax-General 10-211(a)(1) allows one for "the taxpayer" with no dependency condition, so the booklet's filing status 6 ("You do not get an exemption for yourself") gives way, as on main.

It also fixes one related error in the same formulas (last row of the table). Kentucky claimable-filer coverage follows the federal fixes.

Stacked on the federal claimable-filer PR #10087 (claimable-filer-federal, merged in at 35a2cbc) and on #10024. The 2026-10-09 audit predates those changes. The list below gives the rows they already fix, with the YAML cases that now pin them.

Formula Rule now (fact read) Source
ia_exemption_credit No $40 dependent credits on a return with a claimable filer, outside the filing exception; each filer keeps the personal credit Iowa Code 422.12(1)(a), (2)(a)(3): "Dependent" has its Internal Revenue Code meaning. 2025 IA 1040 instructions: "You may claim a $40 personal exemption credit even if you are claimed as a dependent", and the dependents "you are claiming for federal income tax purposes"
ia_is_tax_exempt, ia_reduced_tax, ia_alternate_tax_eligible (+ new ia_claimed_filer_income_disqualified and claimant inputs ia_dependent_claimant_net_income, ia_dependent_claimant_spouse_net_income, ia_dependent_claimant_filing_status) A filer claimed on another return loses the low-income exemption, the single-filer tax reduction and the alternate tax only when the claiming person's net income exceeds the subsection's limit. The limits are $9,000, or $13,500 for a joint, head of household or surviving spouse claimant, and $24,000/$32,000 when either filer here is 65 or older; a married claimant's combined income also counts against the larger limit. Strictly greater than. The claimant inputs default to no disqualification Iowa Code 422.5(3)(a) (2022) and 422.5(2)(a)-(b) (2024): the dependent "shall not receive the benefit of this subsection if the person claiming the dependent has net income exceeding" the limit
ks_count_exemptions (2021-2023) Each filer whom no other taxpayer may claim (IRC 151(d)(2)), plus dependents only outside a claimable filer, unless the claimant meets the filing exception (152(b)(1)); a head of household counts only the head K.S.A. 79-32,121(a): $2,250 "for each exemption for which such individual is entitled to a deduction" federally; 2022 HB 2239 § 40
ks_exemptions (2024+) The filing-status allowance stays; no $2,320 dependent exemptions on a return with a claimable filer, outside the filing exception K.S.A. 79-32,121b: "for each dependent for which such taxpayer is entitled to a deduction ... for federal income tax purposes". 2024 K-40 p.6: "enter '0' in the number of dependents box". KDOR FAQ: a claimable taxpayer "will qualify for the personal exemption allowance of $9,160"
ks_fstc (2021-2024) $125 for each federal exemption: each unclaimable filer plus dependent children under 18 (children only outside a claimable filer, unless the claimant meets the filing exception); the same child count drives the child route K.S.A. 79-32,271(d): "$125 for every exemption claimed on the taxpayer's federal income tax return"; 2022 HB 2106 § 4
la_dependents_exemption (2021-2024) No dependent exemption on a return with a claimable filer, outside the filing exception; own exemptions unchanged IT-540 instructions: Line 6C "dependents claimed on your federal return"; Line 6A "even if someone else claimed you"
md_personal_exemptions_count (new), md_total_personal_exemptions An exemption for each filer, claimable or not, plus dependents only outside a claimable filer (152(b)(1), with the exception); counted locally, not from federal exemptions_count Tax-General 10-211(a)-(b): an exemption for "(1) the taxpayer". 2018 ch. 575, PDF p.1-2 struck (b)(1)'s § 151 reference. 2025 Resident Booklet p.13, Instruction 8: "Each spouse must claim their own personal exemption" and the dependents may not "exceed the overall number of dependents"
md_aged_dependent_exemption None on a return with a claimable filer, outside the filing exception 10-211(b)(2): "each dependent, as defined in § 152" who is 65 or older
federal_eitc_without_age_minimum The childless route also needs no claimable filer outside the filing exception, as in eitc_demographic_eligible 10-704(c)(3)(i) drops "the minimum age requirement" and the § 32(m) limitation for a childless individual; the formula drops only the age (see Other findings); booklet p.22: "otherwise eligible for the federal credit"; IRC 32(c)(1)(A)(ii)(III); Publication 596
md_ctc, md_ctc_eligible No qualified child on a return with a claimable filer, outside the filing exception 10-751(a)(2)(i): "a dependent for purposes of § 152"
is_eligible_md_poverty_line_credit (+ new input md_claimed_as_exemption_on_another_return, which defaults to claimed_as_dependent_on_another_return; md_poverty_line_credit_income_level) No credit when a filer is actually claimed as an exemption on another Maryland return; claimability alone does not exclude. Earned income is the ordinary § 32(c)(2) eitc_earned_income. The poverty level uses the exemptions the individual "is allowed and claims", which include every filer's own 10-709(a)(3)(iii): "who is not claimed as an exemption on another individual's tax return under § 10-211"; (a)(2) for the poverty level
md_aged_dependent_exemption (related fix) Limited by federal AGI like every other (b)(1)-(2) exemption: $1,600/$800/$0 above $100,000 ($150,000 joint) 10-211(c): "the amount allowed for each exemption under subsection (b)(1) or (2)"; booklet chart: "This reduction applies to the additional dependency exemptions as well"

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.py this PR changes only the Kansas entry; the Maryland entry keeps main's text, which already counts every filer. #10043 and #10044 also edit that file.

Audit rows already fixed by #10024 or the federal branch (not changed here)

  • IA: EITC (federal eitc) and care credit (cdcc_potential). Pinned in ia_eitc.yaml and ia_cdcc.yaml.
  • KS: EITC (eitc) and care credit (cdcc). Pinned in ks_total_eitc.yaml and ks_cdcc.yaml.
  • KY: care credit and tuition credit.
    • The care credit matches the federal credit: pre_obbba_cdcc through 2025 and, from 2026, the live cdcc (Use the OBBBA federal credit for Kentucky's 2026 dependent care credit #10267). Both use the federal qualifying-expense dependency gates, pinned in ky_cdcc_potential.yaml.
    • The tuition credit reads the federal AOC/LLC, which a claim on either filer bars.
    • The family size credit already keeps qualifying children under 152(c) ("even if you are claimed as a dependent").
  • LA: EITC (eitc), refundable and nonrefundable care credits (cdcc_potential, cdcc), and through them the school readiness credit. Pinned in la_eitc.yaml and la_refundable_cdcc.yaml.
  • MD: care credit (cdcc), dependent care subtraction (count_cdcc_eligible, cdcc_relevant_expenses) and local EITC (eitc). agi/subtractions/md_dependent_care_subtraction.yaml pins the subtraction.

No tax formula in these five states reads raw childcare expenses; the child care assistance and cash assistance programs read them.

Maryland's separate returns: how far this models them

Maryland requires a married filer whom another taxpayer can claim to file separate Maryland returns (filing status 6 for that spouse). The model keeps the federal joint tax unit and applies each per-filer rule filer by filer:

  • Exemptions: each filer gets their own; the spouses split the federal return's dependents, of which it has none outside the filing exception.
  • Poverty line credit: no credit when someone claims either filer as an exemption on another Maryland return; otherwise the joint unit's § 32(c)(2) earnings and the 10-709(a)(2) poverty level.
  • EITC and CTC: no childless EITC and no qualified child.

It does not compute two separate Maryland returns. These still use the joint unit:

  • filing status;
  • the standard deduction;
  • the Schedule I rates;
  • each spouse's own AGI for the exemption phase-down;
  • the poverty line credit's level and tax limit (its AGI test expressly uses joint federal AGI after a joint federal return, even when the spouses file separate Maryland returns);
  • the EITC split ("a combined total of up to one-half the federal credit").

Another taxpayer can claim a spouse on a joint return only if the couple files that return "only to claim a refund of income tax withheld or estimated tax paid" (Publication 501), so these couples have low incomes. 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.

DTrim99's review at 0a28338: responses

Finding Response
C1. A claimable Maryland filer lost the own exemption that Tax-General 10-211(a)(1) allows, and with it the poverty level Fixed. md_personal_exemptions_count gives every filer an exemption and keeps the 152(b)(1) dependent gate. The zero-exemption poverty branch is gone, and the Maryland reform and repeal return to main's filer counts. Cases re-derived; new candidate us-md:dependent-taxpayer-own-exemption (reading 12)
S1. The Maryland CTC gate acts alone in 2021-2024 and no test pinned it Fixed. 2024 and 2022 claimable cases expect $0, and a 2024 filing-exception control expects $500 (md_ctc.yaml)
S2. Eight candidates naming this PR still described main Fixed. Each now records follows: statute, the deciding files, the years the code applies and a refreshed note
S3. The Kansas 2021-2023 head-of-household change was unrecorded Fixed. New candidate us-ks:2021-2023-head-of-household-exemption (reading 13); the changelog names the change
S4. Stale axiom issues and invalid n/a items Fixed. Each of rulespec-us#1799, #1800, #1801, #1802 and #1803 has a comment that re-pins it to b767c36156 and lists the cases added or changed since e0eaf477c9 (none for Kentucky or Louisiana). The #1801 comment also folds in the own-exemption outcome. Two new issues, TheAxiomFoundation/rulespec-us#2157 and TheAxiomFoundation/rulespec-us#2158, queue the 2021-2024 Kansas food sales tax credit and the 2021-2024 Louisiana dependent exemption in place of the two n/a items. The line drops rulespec-us#1793, which belongs to #10267
Suggestion 1. Unpinned filing-exception restorations Fixed. One exception case each for ks_fstc, md_aged_dependent_exemption and the Iowa and Maryland reforms
Suggestion 2. The Maryland claim input defaulted to false Done. It defaults to the federal claim; an explicit false covers a claimant who files no Maryland return
Suggestion 3. Stale Kentucky text Done. #10267 moved the 2026 reader to cdcc; the Kentucky limitation and proposed separate PR are removed
Suggestion 4. "§ 10-704 waives only the minimum age" Comment corrected: (c)(3)(i) also waives § 32(m), which the formula still applies. Follow-ups listed under Other findings
Suggestion 5. Stale ks_fstc.yaml comment Fixed
Suggestion 6. Duplicate test location Fixed. The six cases moved to agi/subtractions/md_dependent_care_subtraction.yaml
Suggestion 7. CI cost figures Done. CI cost cites run 41948195035's shard 4 artifacts
Conflict with main Merged main at 13d4d12de5, keeping both appended blocks in repeal_state_dependent_exemptions.yaml

Readings

This round (2026-11-09)

Item What changed What was kept Why
Maryland own exemption (reading 12, new) md_personal_exemptions_count counts every member and drops dependents only when 152(b)(1) leaves the return none. A claimable single filer has 1 exemption ($3,200) and the $15,650 level (was 0 and no level). A joint return with one claimable spouse has 2 ($6,400) and $21,150 (was 1, $3,200 and $15,650). The zero-exemption poverty branch is gone. Main's results return for these filers The 152(b)(1) dependent gate with the filing exception 10-211(a)(1) allows an exemption for "the taxpayer" with no dependency condition; 2018 ch. 575 struck (b)(1)'s reference to the exemptions deductible under § 151
Maryland claim on another return md_claimed_as_exemption_on_another_return defaults to the federal claim; an input of false still models a claimant who files no Maryland return The actual-claim test (reading 10) A Maryland claimant takes an exemption for each IRC 152 dependent (10-211(a)(3))
Kansas 2021-2023 head of household (reading 13, recorded) No code change this round; recorded as a source conflict One filer exemption for a head of household 79-32,121's head-of-household allowance was "for tax year 1998"; 2022 HB 2239 § 40 deleted it

Statute-first changes (2026-11-03)

Following the 2026-10-19 rule (statute over forms and instructions; forms fill gaps) and the 2026-10-20 ruling on the food sales credit, that round changed five readings.

Item What changed What was kept Why
Iowa alternate tax, claimed spouse (reading 4) ia_alternate_tax_eligible now also requires ~ia_claimed_filer_income_disqualified. A 2024 joint return with a claimed spouse whose claimant has $9,001 keeps its $500 regular tax instead of $370.50 2024 deductions $13,500/$32,000 and rate 5.7% 422.5(2)(a)'s dependent bar covers the whole subsection, including (b)'s alternate tax; the worksheet is silent, not contrary
Iowa low-income exemption and tax reduction (reading 3) Exemption and single-filer reduction depend on the claimant's net income (new inputs and helper), not the dependent's $5,000 test. A claimed filer with $6,000 and an $8,000 claimant is exempt; with a $9,001 claimant, tax stays $100 and the reduction no longer erases it Ordinary exemption thresholds; actual claim (not claimability); no Iowa-return restriction 422.5(3)(a)/(2)(a) test the claimant's income; the instructions' $5,000 test departs from it
Kansas 2021-2023 exemptions (reading 1) Count = unclaimable filers + allowable dependents; no whole-return zero; head of household counts 1. Same count in the repeal and Kansas dependent-exemption reforms. Joint, one claimed spouse: $2,250 (was $0); claimable but unclaimed single: $0 (was $2,250) $2,250 per exemption; disabled-veteran allowance 79-32,121(a) incorporates federal entitlement, which IRC 151(d)(2) denies per person on claimability
Kansas food sales tax credit (reading 2) $125 × (unclaimable filers + dependent children under 18), replacing tax-unit size and Line E. 2024 joint with one claimable spouse: $125 (was $250); claimable single: $0 (was $125); head of household with one child: $250 AGI, age/disability and liability limits; $125 through 2024, $0 from 2025 79-32,271(d) counts federal exemptions (ruled 2026-10-20)
Maryland poverty line credit (reading 10) Excludes only a filer actually claimed on another Maryland return (new input); the claimability exclusion and its earned-income wrapper are removed. Since the 2026-11-09 round, a claimable but unclaimed single filer at $10,000 also has the one-person level, so a $500 potential credit The 10-709(a)(2) poverty-level count (reading 11) 10-709(a)(3)(iii) requires an actual claim; filing status 6 departs from it

All readings

These preserve the PR's choices. Items 3 and 6 identify missing inputs or return representation rather than discretion to ignore an explicit legal requirement. Amounts below illustrate the rule at issue, before unrelated tax limits unless stated.

  1. Kansas 2021–2023 exemptions (statute since 2026-11-03). The K-40 instructions zero the total count when someone claims either spouse (2022 K-40 instructions, PDF p.6). 2023 K.S.A. 79-32,121(a) with IRC 151(d)(2) works per person, on claimability. Worked 2023 joint return, one claimed spouse, other spouse unclaimable, no dependents: statute 1 × $2,250 = $2,250; instructions $0. A claimable but unclaimed single filer: statute $0; instructions $2,250.
  2. Kansas food sales tax credit, 2021–2024 (statute since 2026-11-03). K-40 Line E counts the 2024 filing-status allowance (2024 instructions, "Exemptions and Dependents" and "Lines E through H"). K.S.A. 79-32,271(d) counts federal exemptions. Worked otherwise-eligible 2024 joint return with one claimable spouse and no dependents: statute 1 × $125 = $125; Line E 2 × $125 = $250. An otherwise-eligible claimable single filer: $0 versus $125, before the general tax-liability cap. Not modeled lists the inherited disabled-veteran omission.
  3. Iowa low-income exemption: claimant income (statute since 2026-11-03). 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: statute exempt, tax $0; instructions not exempt. A non-Iowa claimant raises the analogous jurisdiction-input choice; the model has no Iowa-return restriction.
  4. Iowa alternate tax (statute since 2026-11-03). The 2024 alternate worksheet repeats no dependent bar; 2024 Code 422.5(2)(a)–(b), PDF p.7 applies the dependent exclusion to the whole subsection. Worked 2024 joint return, one claimed spouse, modified income $20,000, ordinary tax $500, claimant income $30,000: statute $500; worksheet min($500, ($20,000 − $13,500) × 5.7%) = $370.50.
  5. Maryland dependents on separate returns. Keep Instruction 8's overall dependent pool as the federal joint return's, which has none when someone can claim either filer 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 $6,400 of exemptions and $0 CTC; alternative $9,600 and $500 CTC, under 10-211(a)(3), (b) and 10-751(a)(2)(i).
  6. Maryland separate returns — model limitation. Keep the 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 require separate Maryland returns. Worked 2025 example: no children, claimable spouse earnings $10,000, other spouse earnings $5,000, no adjustments. Aggregate taxable income now comes to $15,000 − $6,700 − $6,400 = $1,900; separate taxable incomes total max(0, $10,000 − $3,350 − $3,200) + max(0, $5,000 − $3,350 − $3,200) = $3,450. The poverty-credit AGI test still uses joint federal AGI for separate Maryland filers after a joint federal return (booklet, PDF p.23).
  7. Louisiana school readiness credit, incapable child. Keep the inherited 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". 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 $0.
  8. Maryland filing exception and the dependent-taxpayer chart. Keep the statutory reading: 10-211(a)(3), (b)(1) allows an actual IRC 152 dependent when the claimant filing exception preserves that dependent. Chart 10A's dependent-taxpayer "Each Exemption" column shows $0 (2025 booklet, PDF p.12). Worked low-AGI 2025 single claimable filer, claimant filing exception true, one qualifying child: PR 2 × $3,200 = $6,400 (the child's, plus the filer's own under reading 12); chart $0.
  9. Kansas 2024+ actual claims versus federal dependent entitlement. Keep the federal-entitlement reading in K.S.A. 79-32,121b(a)(3), which preserves an eligible dependent under the claimant filing exception. The alternative follows the 2024 K-40 instructions, PDF p.6: a taxpayer whom someone else claims enters zero dependents. Worked 2024 single filer whom another taxpayer claims, claimant filing exception true, one eligible child: PR $9,160 + $2,320 = $11,480; instructions $9,160. The Kansas dependent-exemption reform applies the same 152(b)(1) gate.
  10. Maryland poverty credit: actual claim versus claimability (statute since 2026-11-03). The 2025 booklet, PDF pp.12 and 23 bars every filing status 6 filer; Tax-General 10-709(a)(3)(iii) excludes only a filer whom another individual claims as an exemption. Worked 2025 claimable single filer whom no one claims on a Maryland return, $10,000 of earnings, $600 of State tax, no EITC: statute min($600, 5% × $10,000) = $500; booklet $0. The Maryland claim input defaults to the federal claim, so the credit excludes a filer claimed federally unless the input says otherwise.
  11. 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 2025 worksheet, PDF p.23 uses "the number of persons in family/household on your federal tax return". Since every filer now keeps an exemption (reading 12), both counts agree for every unit the model builds. A 2025 joint return with one claimable spouse counts 2 and uses $21,150 either way. They part only on a separate Maryland return, which the model does not compute: 1 exemption and $15,650 versus 2 persons and $21,150.
  12. Maryland own exemption (new this round). Keep Tax-General 10-211(a)(1): an exemption for "the taxpayer", with no dependency condition since 2018 ch. 575. The 2025 booklet, PDF p.12 tells a filing status 6 filer "You do not get an exemption for yourself". Worked 2025 claimable single filer, $10,000 of earnings, $600 of State tax, no Maryland claim: statute 1 × $3,200 and the $15,650 level, so a $500 potential poverty credit; booklet $0 and no credit. A joint return with one claimable spouse: 2 × $3,200 = $6,400 versus $3,200.
  13. Kansas 2021–2023 head of household (recorded this round). Keep K.S.A. 79-32,121: its head-of-household exemption applied "for tax year 1998", and 2022 HB 2239 § 40 removed the sentence. The 2021, 2022 and 2023 K-40 instructions say "you are allowed an additional Kansas exemption". Worked 2022 head of household with one child: statute 2 × $2,250 = $4,500; instructions 3 × $2,250 = $6,750.

Not modeled (listed, not implemented)

  • IA: early childhood development credit and tuition/textbook credit (per dependent, 422.12(2)(b), 422.12C(2)); rent reimbursement program ("not ... claimed as a dependent").
  • KS: 2025+ additional newborn allowance and stillbirth exemption; the homestead refund's dependent-child route; the inherited omission of disabled-veteran exemptions from the food-credit Line E count (2024 instructions, PDF p.6). An otherwise eligible single disabled veteran has $125 in the current model versus 2 × $125 = $250 under the Line E reading, before the tax-liability cap.
  • LA: school tuition, homeschool and public-school expense deductions (claimed dependents, current or preceding year).
  • MD: 2021 RELIEF Act payment (excluded "Persons claimed as a dependent").

Other findings (not fixed here)

Invariants

  1. Swap invariance. Every changed output, and each of the five states' income taxes, stays the same under either head/spouse labelling.

  2. Monotonicity. Marking another filer as claimed never raises:

    • the dependent-based amounts;
    • the Kansas exemptions and food sales tax credit;
    • the Maryland exemption count and amount, CTC and pro forma EITC.

    Left out by design:

    • Taxes and the Iowa exemption: the Iowa exemption turns on an actual claim and the claimant's income, not on claimability, so it can newly exempt.
    • Maryland's poverty line credit amounts: they rise when lost exemptions raise the tax they offset.
  3. 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. Every Maryland filer keeps an exemption, so the count covers both spouses and the poverty level exceeds zero.

  4. Differential. Wherever the federal EITC's eligibility holds, Maryland's federal_eitc_without_age_minimum equals the federal credit before take-up and filing.

  5. Unchanged when no other taxpayer can claim a filer. The Maryland count equals tax_unit_size. The poverty level equals tax_unit_fpg. The tested la_dependents_exemption gives $1,000 per dependent. Two changes can still move results: the aged dependent AGI fix and the 2021-2023 Kansas head-of-household count. On the default dataset for 2026, no output under Microsimulation impact changes.

  6. 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 line credit exclusion (an actual Maryland claim).

Tests

  • YAML. Variable-named cases cover every changed formula and the inherited state readers above:

    • a single claimable filer, with an unclaimed single control where it differs;
    • a joint return with one claimable spouse, under both head/spouse labellings;
    • a joint return with both spouses claimable;
    • a joint return with nobody claimable;
    • claimable-but-unclaimed cases for the actual-claim rules;
    • filing-exception cases for the 152(b)(1) rules, now including the Kansas food sales credit, the Maryland aged dependent exemption and the Iowa and Maryland reforms.

    Expected values come from the law and the repository parameters, with the arithmetic in each case's comments.

  • This round's cases (at 994d9fab52):

    • md_personal_exemptions_count.yaml: every claimable-filer case re-derived under 10-211(a)(1) (single 1, joint 2, joint with the filing exception 3), plus a 2022 claimable single filer (1, $3,200).
    • md_total_personal_exemptions.yaml, dependent_exemption_reform_test.yaml (Maryland) and repeal_state_dependent_exemptions.yaml: a claimable single filer $3,200; a joint return with a claimable spouse 2 × $3,200 = $6,400.
    • is_eligible_md_poverty_line_credit.yaml: a claimable single filer at $10,000 has 1 exemption, the $15,650 level and a $500 potential credit; at $12,000, $600. By default, a federal claim also counts as a Maryland claim ($0). Joint returns with one or both spouses claimable use $21,150 (credits $900 and $50); with the filing exception and a child, $26,650.
    • md_poverty_line_credit_income_level.yaml: under the federal exemption repeal, a joint return with a claimable spouse, the filing exception and a child counts 3 and uses $26,650.
    • md_ctc.yaml: 2024 and 2022 claimable filers get $0 although md_ctc_eligible holds; a 2024 filing-exception control gets $500.
    • Filing-exception cases: ks_fstc.yaml ($125 for the child), md_aged_dependent_exemption.yaml ($3,200), the Iowa reform ($80 + $100 = $180) and the Maryland reform (2 × $3,200 + $1,000 = $7,400).
  • Property test. policyengine_us/tests/core/test_claimable_filer_ia_ks_ky_la_md_invariants.py checks 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. Every Hypothesis batch now also includes the Maryland couple with both spouses claimable and no dependents, which had no Maryland exemption before this round.

  • Results at 994d9fab52, one file per process: 17 files, 320 cases passed, no failures; every file this round changes, plus test_source_conflicts.py, test_md_poverty_line_credit_invariants.py and federal_eitc_without_age_minimum.yaml (whose formula's comment changed).

CI cost

The property test runs in the existing Rest Python "core-2" group (shard 4). In run 41948195035 at 0a28338641, its six cases took 10.34 s of test time, and the group ran 266 tests in 19:45 wall with 6.45 GiB peak RSS (6,763,476 kB), from the shard's timing and resource artifacts. This round adds one couple to each Hypothesis batch, in the same simulation. It builds no new simulation. I ran the file locally (Linux, 4 vCPU), alone and back to back. At the merged head 13d4d12de5 it took 102 s wall (33.14 s in pytest) with 2,144 MiB peak RSS; at 994d9fab52, 93 s (28.91 s) with 2,140 MiB. The difference falls within run-to-run noise. These figures come from local runs, not from Linux CI. In run 42642815203 at 994d9fab52, the planner put the file in group core-1 (shard 4): its six cases took 14.58 s, and that group ran 588 tests in 27:34.30 wall with 7.05 GiB peak RSS. The groups differ between the two runs, so the group figures don't compare directly. Pull request run 42860038956 at b767c36156 passed all 37 jobs on GitHub's merge with main 00f30857a6.

Microsimulation impact

We estimate that this PR changes no measured tax or benefit total in 2026 on the default dataset. We compared main at ba9bfdea75 with this branch at b767c36156.

No sampled tax unit or household changes in any output below. Maryland's exemptions, poverty line credit, CTC and income tax match main, as do the other four states' income taxes, federal income tax, household net income and household benefits. The default dataset's records start in 2024, and a 2022 run on it returns $0 for every total on main and on this branch. So the comparison can't measure reading 13, under which a 2021-2023 Kansas head-of-household return has one $2,250 exemption fewer than on main.

Output 2026 main 2026 change 2026 records changed (weighted)
md_total_personal_exemptions $14.82bn $0 0 (0)
md_poverty_line_credit $2.09m $0 0 (0)
md_ctc $47.98m $0 0 (0)
md_income_tax $15.14bn $0 0 (0)
ks_exemptions $21.93bn $0 0 (0)
ks_income_tax $5.56bn $0 0 (0)
ia_is_tax_exempt 0.57 (weighted tax units) 0 0 (0)
ia_income_tax $3.40bn $0 0 (0)
la_dependents_exemption $1.40bn $0 0 (0)
la_income_tax $4.12bn $0 0 (0)
ky_income_tax $5.16bn $0 0 (0)
state_income_tax $577.3bn $0 0 (0)
income_tax $2,595.3bn $0 0 (0)
household_net_income $17,198.7bn $0 0 (0)
household_benefits $2,060.5bn $0 0 (0)

This PR adds md_personal_exemptions_count, so main has no total to compare. From 2025 Louisiana's flat tax doesn't use exemptions, so the 2026 la_dependents_exemption total reaches no tax.

impact: no measured output changes in 2026 on the default dataset (0 sampled records change in the Iowa, Kansas, Kentucky, Louisiana or Maryland income tax, federal income tax or household net income; household benefits don't change). The dataset's records start in 2024, so the 2021-2023 Kansas head-of-household change has no estimate.

axiom: TheAxiomFoundation/rulespec-us#1799 queued (IA: dependent credits, claimant-income low-income exemption, tax reduction and alternate tax, EITC/CDCC), extended with a comment | TheAxiomFoundation/rulespec-us#1800 queued (KS: 2021-2023 exemptions and head of household, 2024-2025 dependent allowance, EITC/CDCC), extended with a comment | TheAxiomFoundation/rulespec-us#2157 queued (KS: 2021-2024 food sales tax credit) | TheAxiomFoundation/rulespec-us#1801 queued (MD: own and dependent exemptions, aged AGI limits, CTC, pro forma EITC, poverty credit actual claim and level, care), extended with a comment | TheAxiomFoundation/rulespec-us#1802 queued (KY: 2024 care and tuition composition), extended with a comment | TheAxiomFoundation/rulespec-us#1803 queued (LA: EITC, ordinary care/school readiness), extended with a comment | TheAxiomFoundation/rulespec-us#2158 queued (LA: 2021-2024 dependent exemption) | 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.

Review history

  • r1 (at 704a604). Maryland counts its own exemptions, so the federal repeal_dependent_exemptions reform no longer reaches it. The changelog names the aged-dependent AGI limit. The property test checks the nobody-claimable identities. The round also fixed Iowa wording and anchors and a Louisiana 2023 reference.
  • r2 (at 5e4bd89). The round fixed the Kansas contrib reform's eligible-dependent count and the Kansas food-credit narrative. It added readings 9-11, swapped counterparts for four joint cases in ks_fstc.yaml, an Iowa page-span comment and the property-test cost figures. Round 4 later reversed its earned-income source change, and Use the OBBBA federal credit for Kentucky's 2026 dependent care credit #10267 fixed Kentucky's 2026 reader.
  • 2026-11-03. The statute-first round above (readings 1-4 and 10).
  • Rounds 4-5 (at c9e4bf3, 0a28338). These rounds restored main's poverty earned-income cases and added mixed-spouse poverty cases. The 2026-11-09 round removed round 4's zero-exemption poverty level, since every filer now has an exemption.
  • DTrim99's review (at 0a28338). Answered on 2026-11-09; see the responses above. b767c36156 then marked the two candidates that round added as ruled, statute first.

🤖 Generated with Claude Code

MaxGhenis and others added 19 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>
…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>
MaxGhenis and others added 3 commits October 11, 2026 12:03
#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>
DTrim99
DTrim99 previously requested changes Nov 7, 2026

@DTrim99 DTrim99 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes per the review above: 1 critical (MD personal exemption count drops a claimable filer's own exemption, which Tax-General 10-211(a)(1) has allowed unconditionally since 2018; main was right), 4 should (unpinned MD CTC gate for 2021-24; 8 stale candidates; unrecorded KS 2021-23 head-of-household choice; stale axiom issues and invalid n/a items), 7 suggestions.

@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Picking this up for the US hub. I'll post a hand-off comment here when it's ready.


Generated by Claude Code

Main's #10053 and this branch both appended cases to the state dependent
exemption repeal test. Keep both: main's three California cases first,
then this branch's Maryland and Kansas cases, so the branch's diff
against main stays a pure append.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…1(a)(1)

Section 10-211(a)(1) allows an exemption for "the taxpayer" with no
dependency condition. 2018 ch. 575 struck (b)(1)'s reference to the
exemptions deductible under IRC 151, so 151(d)(2)'s denial for a
dependent no longer reaches Maryland. The booklet's filing status 6
still gives a claimable filer none; the statute governs, as main did.

The count now takes every member and drops the dependents only when
IRC 152(b)(1) leaves the return none, so a claimable single filer keeps
one exemption and the one-person poverty level. With every filer
counted, the zero-exemption poverty branch can no longer arise, so it
goes. The Maryland dependent-exemption and repeal reforms return to
main's filer counts.

The claim on another Maryland return now defaults to the federal claim,
since a Maryland claimant takes an exemption for each IRC 152 dependent;
an input of false still covers a claimant who files no Maryland return.

The property test's Hypothesis batches always include the couple that
had no Maryland exemption (both spouses claimable, no dependents), and
its identity now checks that every filer keeps an exemption. A
filing-exception case pins the Maryland reform's dependent gate.

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

Before 2025 md_ctc_eligible tests only AGI, so md_ctc's own IRC
152(b)(1) gate is the one that removes a claimable filer's child, and
every claimable-filer case was from 2025. Add 2024 and 2022 claimable
cases expecting no credit and a 2024 filing-exception control at $500.

No case set the claimant filing exception for the Kansas food sales
credit, the Maryland aged dependent exemption or the Iowa reform, so
swapping their helper for the plain claimability one passed every test.
Add one exception case each. Also replace a Kansas food credit comment
that still gave the K-40 Line E rationale the formula no longer uses.

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

The six claimable-filer cases sat in a new agi/md_dependent_care_subtraction.yaml
beside the existing agi/subtractions/md_dependent_care_subtraction.yaml. Both
paths run in the same Maryland shard, so one file keeps the cases together.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CONTRIBUTING's step 1 updates a backlog item that already lists a
conflict. Eight items naming this PR still described main: set their
follows, code and years to the readings the branch now implements, and
refresh their notes.

Add two items. us-md:dependent-taxpayer-own-exemption records
Tax-General 10-211(a)(1), as amended by 2018 ch. 575, against the
booklet's filing status 6. us-ks:2021-2023-head-of-household-exemption
records K.S.A. 79-32,121, whose head-of-household allowance was for tax
year 1998 only and which 2022 HB 2239 removed, against the 2021-2023
K-40 instructions' extra exemption. The changelog now names that Kansas
change and the Maryland own exemption.

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

The comment said section 10-704 waives only the minimum age. For an
individual without a qualifying child, (c)(3)(i) waives both the minimum
age and the section 32(m) identification limitation. The formula drops
only the minimum age and still applies 32(m), and unlike
eitc_demographic_eligible from 2021 it counts only children with a
valid identification number. Say so; the code is unchanged.

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

Copy link
Copy Markdown
Contributor Author

Ready for hub review

Head: 994d9fab5230220a07e47c70f751b7147dd00006

This round answers DTrim99's review (review 5813540259, comment 6709676325) at 0a28338641. I checked each finding before changing code, and C1, S1-S3 and all seven suggestions held as stated. I can't read the rulespec-us issues behind S4, so its drafts rely on the review's account. No commit landed on the branch after 0a28338641 while I worked.

1. Main

  • GitHub reported a conflict. I merged origin/main (ba9bfdea75) with a merge commit, 13d4d12de5.
  • The one conflict was policyengine_us/tests/policy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml, where Apply Arizona, Arkansas and California rules for a filer who can be claimed as a dependent #10053 and this PR both appended cases. I kept both blocks: main's three California cases first (lines 497-537), then this PR's Maryland and Kansas cases, so the PR's diff against main stays a pure append. repeal_state_dependent_exemptions.py auto-merged.
  • Tests on the merged head (13d4d12de5), one file per process:
File (under policyengine_us/tests/) Result Wall
policy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml 29 passed in 27.22s 168 s
code_health/test_source_conflicts.py 103 passed in 23.63s 61 s
policy/baseline/gov/states/ks/tax/income/ks_num_exemptions.yaml 3 passed in 5.59s 93 s
policy/baseline/gov/states/ks/tax/income/ks_fstc_sunset.yaml 8 passed in 6.93s 96 s
policy/baseline/gov/irs/credits/earned_income/eitc_demographic_eligible_child_without_ssn.yaml 6 passed in 6.56s 95 s
policy/baseline/gov/irs/credits/earned_income/eitc_earned_income.yaml 18 passed in 12.89s 115 s
policy/baseline/gov/states/ia/tax/income/ia_net_income.yaml 8 passed in 10.98s 105 s
policy/baseline/gov/states/ia/tax/income/ia_is_tax_exempt.yaml 17 passed in 7.16s 97 s
policy/baseline/gov/states/ia/tax/income/ia_income_tax_before_refundable_credits.yaml 14 passed in 7.17s 95 s
policy/baseline/gov/states/ia/tax/income/alternate_tax/ia_alternate_tax_eligible.yaml 4 passed in 5.86s 92 s
policy/baseline/gov/states/md/tax/income/credits/eitc/federal_eitc_without_age_minimum.yaml 13 passed in 13.29s 110 s
policy/baseline/gov/states/md/tax/income/credits/poverty_line/md_poverty_line_credit_earned_income.yaml 14 passed in 34.76s 157 s
core/test_claimable_filer_ia_ks_ky_la_md_invariants.py 6 passed in 38.28s 114 s

The property file first failed to import because uv sync had skipped the dev extras; I installed the locked hypothesis==6.168.3 and reran it (the line above). Main's changes to eitc_earned_income, eitc_demographic_eligible and Iowa net income move none of this PR's assertions, as the review said.

2. Findings

C1. Maryland own exemption. Reproduced. The reviewer's witness is a 2025 claimable single filer with AGI and earnings of $10,000, $600 of tax, no EITC and no Maryland claim. At 0a28338641 the PR's own case for it asserted 0 exemptions, a level of 0 and no credit, and run 41948195035 passed it. Mutant M1, which restores that count, gives 0 again. I read Tax-General 10-211 (whole section), 2018 Md. Laws ch. 575 (PDF pp.1-2), the 2025 booklet pp.12-13 and COMAR 03.04.02.01, .02 and .07. Section 10-211(a)(1) has no dependency condition, and ch. 575 struck (b)(1)'s § 151 reference. No COMAR rule addresses the resident exemption. So the statute governs, as on main.

  • md_personal_exemptions_count.py:46 now returns tax_unit_size minus the dependents when IRC 152(b)(1) leaves the return none. That gives every filer an exemption and keeps the filing-exception dependent gate. With nobody claimable it is exactly main's tax_unit_size.
  • The zero-exemption poverty branch and has_exemption gate are removed (md_poverty_line_credit_income_level.py:29, is_eligible_md_poverty_line_credit.py:66). The count is now at least 1 for any unit, so neither could fire.
  • The Maryland reform's personal count (md_dependent_exemption_reform.py:130) and the repeal's Maryland entry (repeal_state_dependent_exemptions.py:54) are back to main's text, which counts every filer.
  • Re-derived cases: md_personal_exemptions_count.yaml:3,59,248 (new 2022 case at 248), md_total_personal_exemptions.yaml, is_eligible_md_poverty_line_credit.yaml:189 (the reviewer's witness: 1 exemption, 15,650, eligible, $500), :323 and :384, md_poverty_line_credit_income_level.yaml, dependent_exemption_reform_test.yaml:161,176, repeal_state_dependent_exemptions.yaml:539,554.
  • Candidate us-md:dependent-taxpayer-own-exemption (candidates.yaml:4821, state open).

S1. Maryland CTC gate, 2021-2024. Reproduced statically: before 2025 md_ctc_eligible tests only the AGI cap, and every claimable case was 2025. New cases at md_ctc.yaml:762 (2024 claimable, 0), :790 (2024 filing-exception control, $500) and :818 (2022 claimable, disabled child, 0).

S2. Stale candidates. All eight items now record follows: statute, the deciding files, the years the code applies and refreshed notes:

  • candidates.yaml:3192, IA alternate tax, now from 2021;
  • :3305, IA low-income exemption, now also listing ia_reduced_tax.py;
  • :3929, KS 2021-2023 exemptions;
  • :4033, KS food credit;
  • :4473, LA school readiness, with its deciding files;
  • :4792, MD chart 10A, revisited after C1;
  • :5112, MD actual claim, now from 2021;
  • :5143, MD poverty count, revisited after C1.

us-ks:dependent-exemption-of-a-claimed-filer already matched and is unchanged.

S3. Kansas 2021-2023 head of household. Candidate us-ks:2021-2023-head-of-household-exemption (candidates.yaml:3962, state open), with the 2 vs 3 example. The changelog names the change (changelog.d/claimable-filer-ia-ks-ky-la-md.fixed.md:1).

S4. The axiom line. Kept as it was, per the brief. Drafts for the hub are under Axiom drafts.

Suggestions.

  1. Filing-exception cases added: ks_fstc.yaml:677 ($125), md_aged_dependent_exemption.yaml:264 ($3,200), contrib/states/ia/dependent_credit_reform_test.yaml:120 ($180) and contrib/states/md/dependent_exemption_reform_test.yaml:189 ($7,400).
  2. Done: md_claimed_as_exemption_on_another_return.py:23 defaults to claimed_as_dependent_on_another_return. The "federal claim alone" case is now an explicit override (is_eligible_md_poverty_line_credit.yaml:119), and :221 pins the default.
  3. Done in the body. I confirmed that Use the OBBBA federal credit for Kentucky's 2026 dependent care credit #10267 merged on 2026-10-19 and that ky_cdcc_potential reads the live cdcc from 2026 (irc_conformity/obbba.yaml).
  4. Comment corrected (federal_eitc_without_age_minimum.py:31) after reading 10-704(c)(3)(i). The code is unchanged; two follow-ups below.
  5. Fixed: the case at ks_fstc.yaml:59 now gives the federal-exemption rationale (:78).
  6. Moved: the six cases now sit in md/tax/income/agi/subtractions/md_dependent_care_subtraction.yaml from line 78; the new file is gone. Both paths sit under states/md, which the Makefile's test-yaml-no-structural-states target runs per state subdirectory.
  7. Done: I read run 41948195035's shard 4 artifact. core-2: 266 tests, 19:45.24 wall, 6,763,476 kB peak RSS (6.45 GiB); the property file's six cases sum to 10.34 s. The body cites these.

3. Rulings for the hub

The hub confirms each call before the PR lands.

  1. Maryland own exemption: new candidate us-md:dependent-taxpayer-own-exemption (state open).
    • Call: follow Tax-General 10-211(a)(1) as amended by 2018 ch. 575, so every filer keeps an own exemption, as main did.
    • Sources read: 10-211's current text (mgaleg.maryland.gov); 2018 Md. Laws ch. 575 (SB 184), PDF pp.1-2, applicable to tax years after December 31, 2017; the 2025 Resident Booklet, pp.12-13; COMAR 03.04.02.01, .02 and .07.
    • Texts: (a)(1) allows an exemption for "the taxpayer"; the booklet's filing status 6 says "You do not get an exemption for yourself. Put a zero in Exemption Box A."
    • Counter-reading: ch. 575's purpose clause ("altering the determination of the number of exemptions") might be read as keeping the pre-2018 federal count, which carried IRC 151(d)(2). I did not adopt it, because (a)(2)(ii)'s spouse rule is the section's only dependency condition. If the hub prefers that reading, it goes to the project lead.
    • Reverses: the PR body's "Maryland's filing status 6 reads claimability for the personal exemption"; round 4's zero-exemption poverty level (reading 11); round 5's mixed-spouse values (1 exemption, $15,650); and the premise of us-md:dependent-exemption-chart-10a and us-md:poverty-threshold-exemption-count.
  2. Kansas 2021-2023 head of household: new candidate us-ks:2021-2023-head-of-household-exemption (state open).
    • Call: follow K.S.A. 79-32,121, so a head of household has one filer exemption.
    • Sources read:
      • the 2021 edition ("an additional Kansas exemption of $2,250 for tax year 1998");
      • the 2023 edition, with no such sentence and history "L. 2022, ch. 63, § 40";
      • 2022 HB 2239 § 40, PDF p.38;
      • the 2021, 2022 and 2023 K-40 instructions, p.6 ("you are allowed an additional Kansas exemption");
      • the Form K-40 in each booklet (2021 p.17, 2022 p.17, 2023 p.19).
    • Text extraction can't show HB 2239's strike-through, so the 2023 edition is my evidence that § 40 removed the sentence.
    • Not a reversal: the November 3 round coded it; this round records it.
  3. Maryland claim default (Suggestion 2), a modeling default rather than a source conflict. md_claimed_as_exemption_on_another_return now defaults to the federal claim. Reverses the variable's documented behavior ("a claim on a federal return alone does not establish it") and the PR body's description. A filer claimed federally now loses the poverty credit unless the input says there is no Maryland claim.
  4. us-md:poverty-threshold-exemption-count, revisited. After C1 the statutory count equals the federal return's person count for every unit the model builds. Reverses the recorded example (1 exemption and $15,650 versus 2 persons and $21,150 for a joint return with one claimable spouse). I kept the item with a separate-return example, which the model does not compute. The hub may drop it.
  5. us-md:dependent-exemption-chart-10a, revisited. The statute reading no longer says the filer's own exemption is denied; the example isolates the child's $3,200 (with the own exemption, $6,400 versus $0).
  6. Years. The Iowa alternate-tax item now starts in 2021. The bar sits in 422.5(3) and (3B) in 2022 (Code PDF p.3) and in 422.5(2) and (3) in 2024 (PDF pp.1-2). The three Maryland statute items start in 2021, since the code applies in every year; their notes say I read only the 2025 booklet.

4. Axiom drafts

I can't read the rulespec-us issues from this session (outside its repository access), so these drafts rely on the review's account of them. Module paths are for the hub to confirm on rulespec-us main.

Comment for #1799 (IA1). Re-pin to 994d9fab5230220a07e47c70f751b7147dd00006. Since e0eaf477:

  • The low-income exemption (ia_is_tax_exempt) and single-filer tax reduction (ia_reduced_tax) follow Iowa Code 422.5's claimant test, not the instructions' $5,000 test. A claimed dependent loses them only when "the person claiming the dependent has net income exceeding" the limit: $9,000, or $13,500 for a joint, head-of-household or surviving-spouse claimant, and $24,000/$32,000 when either filer is 65 or older. A married claimant's combined income is also tested against the larger limit.
  • The alternate tax in 422.5(2)(b) carries the same bar (reading 4), through ia_alternate_tax_eligible. Citations: 422.5(3)(a) and (3B) for 2021-2022; 422.5(2) and (3) from 2023.
  • Add companions:
    • ia_is_tax_exempt.yaml: "2022 claimant income exactly at the statutory limit preserves the exemption", "2022 claimant income over the statutory limit removes the exemption", "2024 a head-of-household claimant uses the larger limit".
    • Also there: "2024 a married claimant's combined income is tested against the larger limit", "2024 an elderly return uses the elderly limits for the claimant test".
    • ia_alternate_tax_eligible.yaml: "A claimed spouse with a high-income claimant prevents alternate tax", "Claimant income equal to its limit preserves alternate tax".
    • ia_income_tax_before_refundable_credits.yaml: "2022 claimed single filer with a low-income claimant has tax reduced to income above $9,000".
  • Drop the companions "2022 single filer who can be claimed as a dependent with $5,000 of net income is not exempt" and "2022 single filer who can be claimed as a dependent gets no tax reduction". Both existed at e0eaf477 and are gone. Also drop the note that reading 4 is not dispatched.

Comment for #1800 (KS1). Re-pin to 994d9fab5230220a07e47c70f751b7147dd00006 and add the readings it excluded, now ruled and coded:

  • 2021-2023 exemptions (K.S.A. 79-32,121(a), IRC 151(d)(2), 152(b)(1)): ks_count_exemptions counts each filer whom no other taxpayer may claim, plus dependents only outside a claimable filer, with the claimant filing exception. Companions in ks_count_exemptions.yaml: "A claimed spouse does not remove the other spouse's exemption", "A claimable but unclaimed 2021 filer has no personal exemption".
  • 2021-2023 head of household: one filer exemption, since L. 2022, ch. 63, § 40 removed the 1998-only allowance. Companion: "A 2022 head of household receives no additional adult exemption" (ks_count_exemptions.yaml).
  • 2024 actually claimed filer with the filing exception (79-32,121b(a)(3)): companion "2024 actually claimed single filer whose claimant meets the filing exception keeps the dependent exemption" (ks_exemptions.yaml, $11,480).

Comment for #1801 (MD1). Re-pin to 994d9fab5230220a07e47c70f751b7147dd00006 and update:

  • Own exemption: Tax-General 10-211(a)(1) allows one for "the taxpayer" with no dependency condition, since 2018 ch. 575 struck (b)(1)'s § 151 reference. The PR now counts every filer. The review reports that this issue flags the rulespec-us 10-211 module for adding one taxpayer exemption unconditionally; that module now agrees with the PR. Withdraw the request to derive own-exemption eligibility; the project lead rules on us-md:dependent-taxpayer-own-exemption.
  • Poverty credit: earned income is the joint § 32(c)(2) eitc_earned_income. The (a)(3)(iii) exclusion reads an actual claim on another Maryland return, an input that defaults to the federal claim. The (a)(2) level counts allowed exemptions, every filer's own included.
  • Readings 8, 10, 11 and 12 are pinned. Companions:
    • is_eligible_md_poverty_line_credit.yaml: "2025 claimable but unclaimed single filer at 10,000 gets the one-exemption level and the credit" ($500).
    • Also there: "2025 joint return with a claimable head uses the two-exemption level and qualifies at 18,000" ($900).
    • Also there: "2025 joint return with both spouses claimable and no filing exception gets the two-exemption level and the credit" ($50).
    • md_personal_exemptions_count.yaml: "2025 single filer whose claimant meets the filing exception has exemptions for the filer and the child" (2, $6,400).
    • md_ctc.yaml: the 2024 and 2022 claimable cases (0) and the 2024 filing-exception control ($500).

Comments for #1802 (KY1) and #1803 (LA1). Re-pin to 994d9fab5230220a07e47c70f751b7147dd00006; content unchanged.

#1793. It belongs to #10267 (merged 2026-10-19). Drop it from this PR's axiom line, or relabel it "#10267's Kentucky 2026 reader".

New issue: Kansas food sales tax credit, 2021-2024. Title: "KS: count federal exemptions for the food sales tax credit with a claimable filer (K.S.A. 79-32,271(d))".

  • Module: the us-ks module for 79-32,271 (path to confirm). Corpus citation: K.S.A. 79-32,271(d), 2025-26 edition.
  • Law: (d) allows "$125 for every exemption claimed on the taxpayer's federal income tax return", counting a dependent only if a child under 18. Credits apply to tax years ending before January 1, 2025.
  • Required output: the credit per return. Companions from ks_fstc.yaml:
    • the 2022 and 2024 claimable single filers ($0);
    • "The 2024 joint credit counts only the unclaimable spouse" ($125);
    • "An unclaimable head of household and one child count twice" ($250);
    • "2024 claimable single filer whose claimant meets the filing exception gets the credit for the child" ($125).
  • Label pe-parity; blocker: the signed encoder run.

New issue: Louisiana dependent exemption, 2021-2024. Title: "LA: no dependent exemption on a return with a claimable filer (R.S. 47:294(B), 2021-2024)".

  • Module: the us-la module for 47:294 (path to confirm). Corpus citation: R.S. 47:294, as reprinted in 2019 HB 416, PDF pp.10-11.
  • Law: taxpayers "claim the same exemptions on their return ... as they used on their federal income tax return", with $1,000 "for each allowable exemption in excess of those required to qualify". IRC 152(b)(1) leaves a claimable filer no dependents.
  • Required output: the dependent exemption per return. Companions: the seven 2024 cases in la_dependents_exemption.yaml, including "2024 single filer whose claimant meets the filing exception gets the dependent exemption" ($1,000).
  • Label pe-parity; blocker: the signed encoder run.

Proposed axiom line, for the hub to finalize with the new issue numbers:

5. Mutants

Each mutant ran in its own git worktree at the final head, in its own test process; the main checkout was never edited. M2's first attempt was killed for memory while two other test processes ran, so I reran it alone. M1's first property-test run failed to import hypothesis, so I reran it after installing the locked version.

Mutant What it undoes File run Result Killing case
M1 C1: a claimable filer loses the own exemption (head_spouse_count_not_dependent_elsewhere, as at 0a28338641) md_personal_exemptions_count.yaml killed, 8 of 9 failed "2025 single filer who can be claimed keeps their own exemption but no dependents" (0 vs 1), and every other claimable case
M1 same test_claimable_filer_ia_ks_ky_la_md_invariants.py killed, 4 of 6 failed the Hypothesis test, through EVERY_FILER_CLAIMABLE (counts [0, 0] against [2, 2]), and the three seeded populations
M2 C1 in the Maryland reform's personal count contrib/states/md/dependent_exemption_reform_test.yaml killed, 3 of 13 failed both "MD dependent exemption reform - joint return with a claimable spouse keeps both spouses' exemptions but no dependent exemption" labellings (3,200 vs 6,400) and the filing-exception case (4,200 vs 7,400)
M3 C1 in the repeal's Maryland entry contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml killed, 2 of 29 failed both "Joint filers with a claimable spouse in Maryland keep both spouses' exemptions" labellings (3,200 vs 6,400)
M4 S1: drop the 152(b)(1) gate in md_ctc's formula_2020 md_ctc.yaml killed, 2 of 33 failed "2024 single filer who can be claimed as a dependent gets no child tax credit although income-eligible" and "2022 single filer who can be claimed as a dependent gets no child tax credit for a disabled child" (500 vs 0 each). The 31 older cases all pass under this mutant, which is the gap S1 named
M5 Suggestion 1: ks_fstc reads plain claimability, without the filing exception ks_fstc.yaml killed, 1 of 29 failed "2024 claimable single filer whose claimant meets the filing exception gets the credit for the child" (0 vs 125)
M6 Suggestion 1: the same swap in md_aged_dependent_exemption md_aged_dependent_exemption.yaml killed, 1 of 11 failed "2025 claimable single filer whose claimant meets the filing exception gets the aged dependent exemption" (0 vs 3,200)
M7 Suggestion 1: the same swap in the Iowa reform contrib/states/ia/dependent_credit_reform_test.yaml killed, 1 of 9 failed "IA dependent credit reform - joint return whose claimable spouse's claimant meets the filing exception keeps the dependent credit" (80 vs 180)
M8 Suggestion 1: the same swap in the Maryland reform's eligible-dependent count contrib/states/md/dependent_exemption_reform_test.yaml killed, 1 of 13 failed "MD dependent exemption reform - joint return whose claimable spouse's claimant meets the filing exception keeps the dependent exemption" (9,600 vs 7,400)
M9 Suggestion 2: no default for the Maryland claim is_eligible_md_poverty_line_credit.yaml killed, 1 of 16 failed "2025 claimable single filer claimed on another federal return is by default claimed in Maryland and gets no credit" (eligible vs not)

No mutant for the removed zero-exemption branch: restoring it changes no value, since every count is at least 1. The candidate, changelog, comment and file-move changes have no code to mutate; test_source_conflicts.py checks the candidates.

6. Tests at the final head and CI

Local runs at 994d9fab52, one file per process (the working tree matched the head). 17 files, 320 cases passed, none failed, covering every file this round changes plus test_source_conflicts.py:

File (under policyengine_us/tests/) Result Wall Peak RSS
policy/baseline/gov/states/md/tax/income/exemptions/md_personal_exemptions_count.yaml 9 passed in 6.06s 95 s 2,211 MiB
policy/baseline/gov/states/md/tax/income/exemptions/md_total_personal_exemptions.yaml 7 passed in 18.25s 140 s 3,813 MiB
policy/baseline/gov/states/md/tax/income/credits/poverty_line/is_eligible_md_poverty_line_credit.yaml 16 passed in 6.53s 99 s 2,231 MiB
policy/baseline/gov/states/md/tax/income/credits/poverty_line/md_poverty_line_credit_income_level.yaml 2 passed in 10.34s 125 s 3,212 MiB
policy/baseline/gov/states/md/tax/income/credits/poverty_line/md_poverty_line_credit_earned_income.yaml 14 passed in 45.25s 174 s 3,809 MiB
policy/baseline/gov/states/md/tax/income/credits/poverty_line/md_poverty_line_credit.yaml 2 passed in 10.55s 107 s 2,480 MiB
policy/baseline/gov/states/md/tax/income/credits/ctc/md_ctc.yaml 33 passed in 8.91s 100 s 2,351 MiB
policy/baseline/gov/states/md/tax/income/exemptions/md_aged_dependent_exemption.yaml 11 passed in 10.50s 102 s 2,521 MiB
policy/baseline/gov/states/md/tax/income/agi/subtractions/md_dependent_care_subtraction.yaml 8 passed in 13.93s 113 s 2,812 MiB
policy/baseline/gov/states/md/tax/income/credits/eitc/federal_eitc_without_age_minimum.yaml 13 passed in 13.45s 110 s 2,607 MiB
policy/baseline/gov/states/ks/tax/income/ks_fstc.yaml 29 passed in 8.13s 98 s 2,296 MiB
policy/contrib/states/ia/dependent_credit_reform_test.yaml 9 passed in 67.03s 279 s 8,150 MiB
policy/contrib/states/md/dependent_exemption_reform_test.yaml 13 passed in 68.40s 283 s 8,165 MiB
policy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml 29 passed in 27.48s 166 s 4,760 MiB
code_health/test_source_conflicts.py 103 passed in 23.53s 60 s 931 MiB
test_md_poverty_line_credit_invariants.py 16 passed in 65.07s 114 s 2,493 MiB
core/test_claimable_filer_ia_ks_ky_la_md_invariants.py 6 passed in 30.82s 92 s 2,140 MiB

Wall times include model start-up; some runs overlapped with one other test process.

CI. The latest Pull request run at 994d9fab52 is 42642815203. At 16:15 UTC, 60 minutes after the push, it was still in progress, so I'm handing off with it running.

  • 32 of 36 jobs had passed: every Baseline shard, all nine Rest Python shards, Microsimulation, Household API Partners, PR validation, Package and compatibility, Quick Feedback and five Contrib shards.
  • Four Contrib shards were still running: other-shard-1, other-shard-3, states-shard-1 and states-shard-2.
  • No job had failed, been cancelled or been skipped.
  • In this run the planner put the property file in group core-1 (shard 4). Its six cases took 14.58 s, and the group ran 588 tests in 27:34.30 wall with 7,394,368 kB (7.05 GiB) peak RSS and no failures. The groups differ from run 41948195035's, so the group figures don't compare directly.

7. Body

Every section now describes the final head. The Maryland rows, readings 5-6, 8 and 10-11, the invariants and the tests reflect C1; readings 12 and 13 are new. The Kentucky limitation and its proposed separate PR are gone (Suggestion 3), and CI cost cites run 41948195035 (Suggestion 7). I condensed the validation tables for older heads into a short review history and dropped the internal ids and local paths they carried. The impact: line reads impact: pending a comparison at the final head.; the axiom line is unchanged.

Hand computations

2025 Maryland amounts use $3,200 per exemption (AGI at most $100,000) and the contiguous guideline of $15,650 plus $5,500 per extra person.

  • Exemption count = members − dependents when IRC 152(b)(1) applies. Single claimable filer with a child: 2 − 1 = 1, $3,200. With the filing exception: 2, $6,400. Joint, one claimable spouse, a child: 3 − 1 = 2, $6,400. Same with the exception: 3, $9,600. Both spouses claimable, a child: 3 − 1 = 2, $6,400. 2022 claimable single filer: 1, $3,200.
  • Poverty levels: 1 → 15,650; 2 → 21,150; 3 → 26,650.
  • Poverty credits are min(tax − nonrefundable EITC, 5% × earnings).
    • Single claimable filer: at 12,000, min(600, 600) = 600; at 10,000, min(600, 500) = 500.
    • Joint at 18,000: min(1,000, 900) = 900. Both claimable at 1,000: min(200, 50) = 50.
  • Maryland reform: 2 × 3,200 = 6,400; with the exception and a flat $1,000 dependent amount, 6,400 + 1,000 = 7,400. Repeal: 2 × 3,200 = 6,400.
  • Maryland CTC.
    • 2024, one child under 6, AGI 1,000 ≤ 15,000: $500 for the exception control, $0 when claimable.
    • 2022, a disabled child under 17, AGI ≤ 6,000, no federal CTC to offset it: $0 when claimable, $500 under the mutant.
  • Aged dependent with the exception: 1 × $3,200. Kansas food credit with the exception: 0 filers + 1 child = 1 × $125. Iowa reform with the exception: 2 × $40 + 1 × $100 = $180.
  • Kansas head of household, 2022, one child: statute 2 × $2,250 = $4,500; instructions 3 × $2,250 = $6,750.
  • Reading 5: $6,400 and $0 CTC versus $9,600 and $500. Reading 6: aggregate $15,000 − $6,700 − $6,400 = $1,900; separate ($10,000 − $3,350 − $3,200) + max(0, $5,000 − $3,350 − $3,200) = $3,450.

Judgment calls

  1. The hub's follow-up ("a zero-exemption unit in the property generator"). After C1 no unit can have zero Maryland exemptions, so the old zero-exemption identity was vacuous. Every Hypothesis batch now includes EVERY_FILER_CLAIMABLE (test_claimable_filer_ia_ks_ky_la_md_invariants.py:113,197): the Maryland couple that had zero exemptions at 0a28338641. The identity at :156 checks that every filer keeps an exemption and that the level is positive.
  2. Dead code. I removed the zero-exemption poverty branch and the has_exemption gate rather than keep code no unit can reach.
  3. Main's text in the reforms. The Maryland repeal entry and the Maryland reform's personal count are main's text again, which gives the C1 result and a smaller diff for Apply New Jersey, North Dakota, Ohio, Oklahoma and Pennsylvania rules for a filer who can be claimed as a dependent #10043.
  4. Count formula. tax_unit_size − (dependents when 152(b)(1) applies) equals main's tax_unit_size whenever nobody is claimable, even for inputs where filing_status and membership disagree. head_spouse_count + dependents would not.
  5. us-md:poverty-threshold-exemption-count. Kept with a separate-return example rather than deleted (ruling 4).
  6. Suggestion 2. Implemented, since the codebase already defaults claimable_as_dependent_on_another_return to the claim input.
  7. Suggestion 4. Comment only. Waiving § 32(m) or counting SSN-less children would change values for filers nobody can claim, beyond this PR; follow-ups 1 and 2.
  8. Candidate states. The two new items are open, since only the hub rules.
  9. Candidate years. Extended to 2021 where the code applies in every year; each note names the source years I read.
  10. Louisiana. I added no school-readiness YAML case (not requested); the candidate note and follow-up 3 record the gap.
  11. PR body. Rewritten to the final head. I folded the stale validation tables for older heads into a short review history and removed internal ids and local paths that were in it. The axiom line is unchanged.
  12. Commit trailers. They end with the Co-Authored-By line only, without a session URL, following the brief's rule on internal ids.
  13. Merge order. Main's California block comes before this PR's block in the repeal test, so the PR's diff against main is a pure append.
  14. Session branch. I also pushed the same commits to this session's designated branch, claude/pr-10045-review-65wd6i; no workflow runs on pushes outside main.
  15. Whitespace. git diff --check flags a trailing blank line in ia_alternate_tax_eligible.yaml and ia_income_tax_before_refundable_credits.yaml, both from the November 3 round. I left them, since no finding names them.

Proposed follow-up issues

  1. Waive § 32(m) in Maryland's childless pro forma EITC (Tax-General 10-704(c)(3)(i)).
    federal_eitc_without_age_minimum still applies the identification test to a childless filer. Section 10-704(c)(3)(i) waives it, and the 2025 booklet (p.22) lets an ITIN filer claim the credit "disregarding the SSN requirement"; verify the enactment years first.
  2. Match Maryland's pro forma EITC to the federal eligibility fixes in Let a qualifying child without an SSN establish EITC eligibility from 2021 #10583 and Compare completed years in the childless EITC age ceiling #10585.
    Its has_child counts only children with a valid identification number, and its age ceiling compares fractional ages. eitc_demographic_eligible counts an SSN-less qualifying child from 2021 and compares completed years.
  3. Pin Louisiana's school readiness credit for a claimable filer's incapable child.
    us-la:school-readiness-incapable-child has no YAML case for the credit itself. Add reading 7's 2023 five-star case ($350) so the register entry can pin it.

DISMISSAL MAP

Paths are under policyengine_us/ unless they start with source_conflicts/ or changelog.d/; tests are under tests/policy/baseline/gov/states/ unless shown in full.

  • C1 (Maryland own exemption) — FIXED. variables/gov/states/md/tax/income/exemptions/md_personal_exemptions_count.py:46; zero branch removed at .../poverty_line/md_poverty_line_credit_income_level.py:29 and .../is_eligible_md_poverty_line_credit.py:66; reforms on main's text at reforms/states/md/dependent_exemption/md_dependent_exemption_reform.py:130 and reforms/state_dependent_exemptions/repeal_state_dependent_exemptions.py:54. Pinned by md/.../md_personal_exemptions_count.yaml:3,59,248 and md/.../is_eligible_md_poverty_line_credit.yaml:189,323,384. Candidate source_conflicts/candidates.yaml:4821. Mutant M1 killed.
  • S1 (Maryland CTC gate, 2021-2024) — FIXED. md/tax/income/credits/ctc/md_ctc.yaml:762,790,818. Mutant M4 killed by :762 and :818.
  • S2 (eight stale candidates) — FIXED. source_conflicts/candidates.yaml:3192,3305,3929,4033,4473,4792,5112,5143.
  • S3 (Kansas head of household unrecorded) — FIXED. source_conflicts/candidates.yaml:3962; changelog.d/claimable-filer-ia-ks-ky-la-md.fixed.md:1.
  • S4 (axiom line) — DRAFTED. The body's line is unchanged, per the brief; section 4 drafts the Add DC EITC #1799-Colorado Works (TANF) pregnancy allowance #1803 and Simplify MO pension and social security deduction variables #1793 updates and two new queued issues for the hub to file.
  • Suggestion 1 (unpinned filing-exception restorations) — FIXED. ks/tax/income/ks_fstc.yaml:677; md/tax/income/exemptions/md_aged_dependent_exemption.yaml:264; tests/policy/contrib/states/ia/dependent_credit_reform_test.yaml:120; tests/policy/contrib/states/md/dependent_exemption_reform_test.yaml:189. Mutants M5-M8 killed.
  • Suggestion 2 (Maryland claim default) — FIXED. variables/gov/states/md/tax/income/credits/poverty_line/md_claimed_as_exemption_on_another_return.py:23; default pinned by md/.../is_eligible_md_poverty_line_credit.yaml:221, override by :119. Mutant M9 killed.
  • Suggestion 3 (stale Kentucky text) — FIXED in the PR body; Simplify MO pension and social security deduction variables #1793 handled in the axiom drafts.
  • Suggestion 4 (10-704 comment) — FIXED. variables/gov/states/md/tax/income/credits/eitc/federal_eitc_without_age_minimum.py:31; follow-ups 1 and 2.
  • Suggestion 5 (stale ks_fstc.yaml comment) — FIXED. ks/tax/income/ks_fstc.yaml:78.
  • Suggestion 6 (duplicate test location) — FIXED. md/tax/income/agi/subtractions/md_dependent_care_subtraction.yaml:78; the new file is deleted.
  • Suggestion 7 (CI cost figures) — FIXED in the PR body's CI cost section, from run 41948195035's shard 4 artifacts.
  • Branch conflict with main — FIXED. Merge 13d4d12de5; tests/policy/contrib/state_dependent_exemptions/repeal_state_dependent_exemptions.yaml keeps both blocks.

Generated by Claude Code

PolicyEngine follows the statute for Maryland's own exemption (Tax-General 10-211(a)(1), as 2018 ch. 575 amended it) and for Kansas's 2021-2023 head-of-household add-on (K.S.A. 79-32,121 limits it to tax year 1998). Both candidates move from open to ruled.

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

Copy link
Copy Markdown
Contributor Author

Here's where each item stands at b767c36156:

  • C1: in adea55894d, md_personal_exemptions_count gives every filer an exemption under Tax-General 10-211(a)(1) and keeps the 152(b)(1) dependent gate with the filing exception (md_personal_exemptions_count.py:46). I removed the zero-exemption poverty branch and the has_exemption gate, put the Maryland reform and the repeal back on main's filer counts, and re-derived the cases. Your witness now gets 1 exemption, the $15,650 level and a $500 potential credit (is_eligible_md_poverty_line_credit.yaml:189). 983bad7842 records the booklet conflict as us-md:dependent-taxpayer-own-exemption (candidates.yaml:4822), and b767c36156 marks it ruled, statute first.
  • S1: a6b85c2e98 adds three md_ctc.yaml cases. A 2024 claimable filer gets $0 although md_ctc_eligible holds (:762), a 2024 filing-exception control gets $500 (:790), and a 2022 claimable filer with a disabled child gets $0 (:818).
  • S2: 983bad7842 updates all eight items (candidates.yaml:3192, 3305, 3929, 4034, 4474, 4793, 5114, 5145). Five move to follows: statute. The Louisiana school readiness item, chart 10A and the poverty-threshold count already followed the statute. All eight now list the deciding files, the years the code applies and refreshed notes. I left us-ks:dependent-exemption-of-a-claimed-filer unchanged, since it already matched the head.
  • S3: 983bad7842 adds us-ks:2021-2023-head-of-household-exemption (candidates.yaml:3962). It cites the 2021 and 2023 statute, 2022 HB 2239 § 40, the K-40 p.6 instruction and the form, gives the 2022 example ($4,500 against $6,750) and follows the statute for 2021-2023. The changelog fragment names the change, and b767c36156 marks the item ruled.
  • S4: I added a comment to each of rulespec-us#1799, #1800, #1801, #1802 and #1803. Each re-pins its issue to b767c36156 and lists the cases added or changed since e0eaf477c9 (none for Kentucky or Louisiana), and the #1801 comment folds in the C1 outcome. I also opened [pe-parity] KS2: count federal exemptions for Kansas's 2021-2024 food sales tax credit (K.S.A. 79-32,271) TheAxiomFoundation/rulespec-us#2157 and [pe-parity] LA2: apply IRC 152(b)(1) to Louisiana's 2021-2024 dependent exemption (R.S. 47:294(B)) TheAxiomFoundation/rulespec-us#2158, which queue the 2021-2024 Kansas food sales tax credit and the 2021-2024 Louisiana dependent exemption, so the axiom line has no n/a item left for them. The line drops rulespec-us#1793, which belongs to Use the OBBBA federal credit for Kentucky's 2026 dependent care credit #10267.
  • Suggestion 1: a6b85c2e98 adds a filing-exception case each for ks_fstc ($125, ks_fstc.yaml:677), md_aged_dependent_exemption ($3,200, md_aged_dependent_exemption.yaml:264) and the Iowa reform ($180, contrib/states/ia/dependent_credit_reform_test.yaml:120). adea55894d adds the Maryland reform's ($7,400, contrib/states/md/dependent_exemption_reform_test.yaml:189).
  • Suggestion 2: adea55894d defaults md_claimed_as_exemption_on_another_return to claimed_as_dependent_on_another_return (md_claimed_as_exemption_on_another_return.py:23-24). An explicit false still models a claimant who files no Maryland return (is_eligible_md_poverty_line_credit.yaml:119), and :221 pins the default.
  • Suggestion 3: I updated the description. From 2026 ky_cdcc_potential reads the live cdcc (Use the OBBBA federal credit for Kentucky's 2026 dependent care credit #10267), and I removed the Kentucky limitation and the proposed separate PR; S4 covers rulespec-us#1793.
  • Suggestion 4: 994d9fab52 corrects the comment at federal_eitc_without_age_minimum.py:31-41. It quotes both waivers in 10-704(c)(3)(i) and says the formula still applies § 32(m) through filer_has_ssn. I've recorded follow-ups for the childless ITIN case and for matching Let a qualifying child without an SSN establish EITC eligibility from 2021 #10583 and Compare completed years in the childless EITC age ceiling #10585, and haven't filed them yet.
  • Suggestion 5: a6b85c2e98 replaces the Line E rationale with the federal-exemption count (ks_fstc.yaml:78-80).
  • Suggestion 6: 9c98e1132b moves the six cases unchanged into agi/subtractions/md_dependent_care_subtraction.yaml (from line 78) and deletes the stray file.
  • Suggestion 7: the description's CI cost section cites run 41948195035. There the property file's six cases took 10.34 s in Rest Python core-2 (shard 4), and that group ran 266 tests in 19:45 wall with 6.45 GiB peak RSS.
  • Branch conflict: merge 13d4d12de5 keeps main's California cases and this PR's block in repeal_state_dependent_exemptions.yaml, and GitHub now reports the branch mergeable.

An independent review agreed with each of these code changes at b767c36156 and recomputed every new expected value from the parameter files.

🤖 Generated with Claude Code

@MaxGhenis
MaxGhenis dismissed DTrim99’s stale review November 10, 2026 19:30

The commits since 0a28338, the description, and the comments and two new issues in rulespec-us answer each item in this review. The reply above maps every item to the commit, file or text that answers it.

@MaxGhenis
MaxGhenis merged commit 4df7c40 into main Nov 10, 2026
155 of 167 checks passed
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

US + core hub merge audit, us#10045 at b767c36156dc5a02f61aa5fb0b6f3ed72db55d8b (squash): Apply Iowa, Kansas, Louisiana and Maryland rules for a filer who can be claimed as a dependent.

  • Reviews:
    • Independent reviews requested changes at 704a604a29 and 5e4bd89dda and approved e0eaf477c9. After the statute-first commits of 2026-11-03, a review requested changes at 6d5a3cbfdd, and the next approved c9e4bf30f8.
    • DTrim99 requested changes at 0a28338641: Maryland's own exemption under Tax-General 10-211(a)(1), the Maryland CTC gate before 2025, eight stale source-conflict items, the unrecorded Kansas head-of-household conflict, the axiom: line and seven suggestions. Merge 13d4d12de5 and commits adea55894d through b767c36156 answer the code, test and record items, and the rulespec-us comments and new issues below answer the axiom item. I dismissed DTrim99's change request with a reply that maps each item to its commit and file.
    • An independent review of the changes since c9e4bf30f8 agreed with the code at b767c36156. It checked the own-exemption fix against 10-211, 2018 Md. Laws ch. 575 and the 2025 booklet, recomputed each new expected value from the parameter files and found the merge of main correct. It left two text items open, the axiom line and the impact line. The rulespec-us comments and new issues now answer the first, and the description's impact section the second.
  • Gates checked live at merge:
    • gh pr checks exits 0;
    • the latest Pull request run at the head, 42860038956, passed and tested this head merged into main at 00f30857a6;
    • MERGEABLE;
    • not a draft;
    • no reviewer's latest review requests changes;
    • the semantic-overlap guard: main has changed no area this PR touches since 00f30857a6;
    • the merge pins the head.
  • Impact (default dataset, b767c36156 against main at ba9bfdea75): we estimate that the change moves no measured total in 2026. No sampled record changes in the Iowa, Kansas, Kentucky, Louisiana or Maryland income tax, federal income tax or household net income. The default dataset's records start in 2024, so the 2021-2023 Kansas head-of-household count goes unmeasured.
  • Next: six follow-ups remain unfiled:
  • Axiom: TheAxiomFoundation/rulespec-us#1799, #1800, #1801, #1802 and #1803 queued, each extended with a comment that re-pins it to b767c36156 and lists the cases added or changed since e0eaf477c9 (none for Kentucky or Louisiana). Two new issues, [pe-parity] KS2: count federal exemptions for Kansas's 2021-2024 food sales tax credit (K.S.A. 79-32,271) TheAxiomFoundation/rulespec-us#2157 and [pe-parity] LA2: apply IRC 152(b)(1) to Louisiana's 2021-2024 dependent exemption (R.S. 47:294(B)) TheAxiomFoundation/rulespec-us#2158, queue the 2021-2024 Kansas food sales tax credit and the 2021-2024 Louisiana dependent exemption. #1621 and #1684 stay queued as the federal owners.

🤖 Generated with Claude Code

@MaxGhenis
MaxGhenis deleted the claimable-filer-ia-ks-ky-la-md branch November 10, 2026 19:31
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.

3 participants