Skip to content

Add Arkansas's claim of right deduction (Ark. Code § 26-51-457) - #10203

Open
MaxGhenis wants to merge 27 commits into
mainfrom
ar-claim-of-right
Open

MaxGhenis wants to merge 27 commits into
mainfrom
ar-claim-of-right

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Held for Max's ruling on where the deduction sits relative to Arkansas's 2% floor (decision d1477). Do not merge before it.

Summary

Since 2013 Arkansas has allowed a deduction, in the year of repayment, for restoring more than $3,000 of income taxed in an earlier year under a claim of right (Ark. Code § 26-51-457). It adopts 26 U.S.C. § 1341(a)(1)-(3) but not the federal choice of a credit, so the deduction applies whichever federal method governs. PolicyEngine had none of this, so a repayment changed nothing in Arkansas. This PR adds it as an itemized deduction counted toward the 2% floor on miscellaneous itemized deductions, as § 26-51-437(b)'s list reads (reading 1 below).

Stacked on #10038 (branch federal-claim-of-right-1341). Review the commits after dc10cc58ce except the merges of #10038's heads 2d36a76bca (its merge of main), 32b0c13a6a (Montana's miscellaneous itemized list takes the claim of right deduction from 2024, so Montana's tax now changes under the federal deduction method; under the credit method that deduction is zero) 6f34ccde23 (its second merge of main), d1c695b2f7 (itemizing branches inherit the claim of right method under core 3.33) and 17cad4b53b (changelog and docstring) (Arkansas also resolves main's #9585 in ar_misc_deduction_joint.py, keeping both the sources list and main's floor on AGI), which bring in no change of this PR's. Head 71d08b1de1.

  • ar_claim_of_right_deduction (tax unit): the head's and spouse's repayments of income Arkansas taxed, when their total exceeds gov.states.ar.tax.income.deductions.itemized.claim_of_right.threshold ($3,000 from 2013).
  • ar_claim_of_right_repayment_excluded_from_income (person input): the part of claim_of_right_repayment that Arkansas did not include in gross income when received.
  • New list gov.states.ar.tax.income.deductions.itemized.misc.sources (total_misc_deductions, plus the new deduction from 2013), which ar_misc_deduction_joint and ar_misc_deduction_indiv now add before applying the 2% floor. Moving the deduction outside the floor, if d1477 rules that way, is a change to parameter lists only (reading 3, or reading 2 if one treatment is chosen for every repayment).

The law

  • Act 1284 of 2013 (Ark. Code § 26-51-457), PDF p. 1: "(a) Title 26 U.S.C. § 1341(a)(1)-(3) and (b)(2), as they existed on January 1, 2013, ... is adopted for purposes of computing income tax liability under this chapter. (b)(1) Title 26 U.S.C. § 1341(a)(4) and (5), (b)(1), and (b)(3)-(5), concerning the methods of calculating the deduction authorized under 26 U.S.C. § 1341 ..., are not adopted." PDF p. 2: "(A) The tax imposed under this chapter is calculated for the taxable year by allowing a deduction in the tax year the taxpayer restores the amount held under a claim of right"; section 2: "effective for tax years beginning on or after January 1, 2013."
  • DFA's fiscal impact statement (HB1866-DFA2, PDF p. 1): where "the amount repaid is in excess of $3,000.00 and is deductible, then the taxpayer may claim an Arkansas income tax deduction for the amount repaid on the income tax return for the tax year of the repayment." Before the act, it says, the remedy was an amended return for the earlier year.
  • Ark. Code § 26-51-437, enacted by Act 382 of 1987, § 28 (PDF p. 9): itemized deductions other than those listed in (b) are miscellaneous itemized deductions, allowed only above 2% of adjusted gross income. (b) lists trade or business expenses (but not unreimbursed employee expenses), medical expenses, interest, taxes, losses, charitable contributions and donated art. Later amendments: Act 708 of 1991, § 3 (the disabled-child deduction, codified as (c)), Act 1296 of 1995, § 84 (renumbering it (b)(8)) and Act 614 of 2025, § 7 (PDF p. 4) (cross-references in (b)(1)-(2)). None lists § 26-51-457.
  • No AR1000ADJ from 2013 through 2025 has a line for it, and each says "Do not enter amounts from categories that are not printed on this form" (2025); so it is claimed on Form AR3, by itemizers.

The readings for Max (d1477)

No DFA form, instruction or rule names the deduction or a line for it; the 2025 AR3 has an open "list type and amount" line both inside the floor (line 21) and outside it (line 28). Three readings are defensible:

  1. Inside the 2% floor (this PR). § 26-51-437(b) lists no exception for § 26-51-457, and the legislature has written express exceptions when it wanted one (Act 708 of 1991 for the disabled-child deduction). Act 155 of 2017 says gambling losses are "not subject to the two percent (2%) limitation", though losses were arguably already excepted by (b)(5), so it is weaker evidence.
  2. Outside the floor by the character of the repayment. § 1341(a)(2), as adopted, presupposes that a deduction "is allowable" under some other provision, and DFA's fiscal note says the amount must be one that "is deductible". Act 382, § 28(b)(5) (PDF p. 9) excepts "the deduction ... relating to losses" (now § 26-51-424), which is broader than federal § 67(b)(3). A repayment deductible as a loss would sit outside the floor; one deductible as an unreimbursed employee expense would stay inside under (b)(1). claim_of_right_repayment cannot tell the two apart, so this reading would need a new input or a choice of one treatment.
  3. Outside the floor, as DFA treats the closest analog. The volunteer firefighter deduction, enacted in the same 2013 session and also absent from (b), is claimed on AR3 line 26 under "Other miscellaneous deductions", which the form totals as "not subject to the 2% AGI limitation" (2014 booklet, PDF p. 6; 2014 AR3).

For a filer with $60,000 of wages who repays $10,000, readings 1 and 3 differ by $1,200 of deduction ($8,800 against $10,000), or about $47 of Arkansas tax at 3.9%.

Repayments of $3,000 or less: not modeled; unresolved, and also for Max (d1477). § 26-51-457 reaches only amounts over $3,000, so it does not cover them, and no Arkansas source says whether they are deductible. DFA's fiscal note (DFA2) describes amending the earlier return as the remedy before the act, for repayments of any size; its other note (DFA1) describes the general doctrine as a deduction in the year of repayment. Arkansas never adopted the federal suspension of miscellaneous itemized deductions and adopts 26 U.S.C. § 162 (Act 870 of 2019, § 6, PDF p. 2), so the pre-2018 federal treatment (a miscellaneous deduction above the 2% floor) is a live reading. If Max rules them deductible, they join the same floored pool.

Design notes

  • Independent of the federal method. Arkansas does not adopt § 1341(a)(4)-(5), so the deduction applies under the federal credit as well as under the federal deduction.
  • The threshold. Section 1341(a)(3), as adopted, applies to the total restored on the return, as Model the claim of right repayment deduction and credit (26 U.S.C. 1341) and North Carolina's rules that depend on it #10038 does federally; Arkansas's own parameter holds it, since Arkansas adopts the 2013 text.
  • Income Arkansas never taxed neither counts nor reaches the threshold. This is the PR's reading: § 26-51-457(a) adopts § 1341(a)(1) "for purposes of computing income tax liability under this chapter", which the PR reads as requiring that Arkansas included the item; (a)(3) tests "the amount of such deduction", so the threshold applies after the exclusion.
  • Joint and separate on the same return. The deduction joins the return's miscellaneous pool in both of Arkansas's computations; ar_itemized_deductions_indiv already splits itemized deductions by each spouse's share of Arkansas AGI, as AR3 lines 31-35 do. For married filing separately on the same return (status 4) the PR tests $3,000 against the couple's combined repayment, matching the one combined AR3 with a floor on combined AGI (line 23); the alternative reading applies § 1341(a)(3) to each spouse as a separate taxpayer.
  • Dependents file their own returns, so their repayments are left out.

Not modeled:

  • Repayments deducted in arriving at AGI (repaid business income, for example): claim_of_right_repayment excludes them.
  • The capital loss and net operating loss rules of § 26-51-457(b)(2)(B), and § 1341(b)(2) (adopted), which excludes repayments relating to inventory or property held for sale; the federal input from Model the claim of right repayment deduction and credit (26 U.S.C. 1341) and North Carolina's rules that depend on it #10038 does not separate them.
  • Years before 2021: the threshold and list start in 2013, but the model's Arkansas itemized deductions and standard deduction start in 2021, so the deduction reaches tax from 2021.

Household on main, #10038 and this branch (2025, single, age 40)

Script outside the repository (~/reviews/us-hub/claim-of-right-states/scripts/households.py on the author's machine; outputs evidence/households_*.json there). main 95eefa51e5; #10038 dc10cc58ce; this branch 1c2be5a031 (the later commit adds a YAML case and changes documentation only).

Household main #10038 This branch
Wages $60,000, repays $10,000; earlier-year federal decrease $2,200 Federal $5,071.50; AR $1,794.71 Federal $2,871.50 (credit); AR $1,794.71 AR $1,547.84 ($246.87 less: $10,000 - 2% x $60,000 = $8,800 itemized in place of the $2,470 standard deduction, $6,330 at 3.9%)
Wages $100,000, charity $20,000, repays $10,000; federal decrease $400 Federal $11,677.19; AR $2,671.04 Federal $9,477.19 (deduction); AR $2,671.04 AR $2,359.04 ($312 less: $8,000 at 3.9%)

Tests

gov/states/ar/tax/income/deductions/itemized/claim_of_right/ar_claim_of_right_deduction.yaml, 11 cases, each computed by hand: a $10,000 repayment; exactly $3,000 (nothing) and $3,001 (all of it); the federal credit method (deduction still $10,000, federal credit $2,200); $8,000 of a $10,000 repayment never taxed by Arkansas (nothing, as $2,000 does not exceed $3,000); $2,000 of a $10,000 repayment never taxed by Arkansas ($8,000 deducted, $6,800 after the floor); a joint return where $2,000 and $2,500 together exceed $3,000 and a dependent's $5,000 does not count; another state; $10,000 - 2% x $60,000 = $8,800 of miscellaneous deductions, so the return itemizes and net taxable income is $51,200; $3,001 - $1,200 = $1,801, below the $2,470 standard deduction, which the return keeps; and $8,000 added to $20,000 of charity ($28,000 itemized).

No Python test: YAML exercises each rule, and the remaining CI group is already near its memory limit (as for #10196).

Invariants

Stated and executed locally over a grid of 192 returns for each of 2021 and 2025 (repayment from $0 to $80,000 × wages $20,000, $60,000 or $150,000 × charity $0 or $20,000 × $0 or $4,000 never taxed by Arkansas × single or joint with a spouse repaying $1,500), with a script outside the repository (~/reviews/us-hub/claim-of-right-states/scripts/ar_invariants.py on the author's machine; the joint spouse has $10,000 of wages, and only the head has income Arkansas never taxed):

  1. Exclusive. The deduction is the head's and spouse's restored total when it exceeds $3,000, and zero otherwise.
  2. Differential. Arkansas income tax equals that of a separate simulation with no repayment and the deduction entered as an unreimbursed employee business expense, which shares the 2% pool. This checks where the deduction lands, not its amount, and it builds in reading 1.
  3. Method independence. Arkansas tax is the same with no federal method fixed and with either method fixed.
  4. Never raises; monotone. Arkansas tax is never above its no-repayment value and never rises as the repayment grows.

All four hold in both years; the deduction is positive on 108 returns of each grid. Mutation check against the 11-case YAML at 5e8fe82759: the threshold made inclusive (1 case fails), the deduction gated on the federal deduction method (1), dependents counted (1), the Arkansas exclusion ignored (2), the exclusion applied only to the threshold test (1), and the deduction left out of the 2% pool (4).

The cross-state test from #10038 carries the identical explicit-map commit of #10195, #10196, #10198 and #10200, which already lists Arkansas as ar_claim_of_right_deduction; with this PR the variable exists, so Arkansas's tax must fall under the federal credit method, and it does.

Local runs (macOS): the new YAML file passes 11 cases at 5e8fe82759 (10 at 1c2be5a031: 2.43 GB peak, 49.5 s wall with import); every Arkansas deduction and integration YAML file, the new one included, passes (18 files, 125 cases, 4.00 GB, 93.4 s); the cross-state property file passes 33 tests in 78.7 s (3.04 GB); the invariant script runs both grids in 59.0 s (1.53 GB). Details: evidence/tests.md.

Microsimulation

2025, default dataset (populace_us_2024 at populace-us-2024-spm-20260909), run 2026-10-13 under the shared heavy-run lock: #10038's head dc10cc58ce against this branch at 5e8fe82759 (later commits only merge #10038's later heads and change tests or documentation). Driver and outputs: ~/reviews/us-hub/claim-of-right-states/impact/ (multi.sh; compare.ar.2025.json).

  • claim_of_right_repayment is $0 on every record (weighted sum $0), so ar_claim_of_right_deduction are $0 everywhere.
  • No record changes in income_tax, state_income_tax, household_net_income, claim_of_right_credit_applies or ar_misc_deduction_joint, ar_income_tax.

The change takes effect only for households that enter a repayment; the dataset has none.

Axiom

axiom: Ark. Code § 26-51-457 — not yet queued. A rulespec-us pe-parity draft is held with the others (decision d1459) and waits on d1477 for the floor placement. The corpus has no row for § 26-51-457 or § 26-51-437 (the only Arkansas statute rows are Act 2 of 2026), so an ingest comes first; rulespec-us holds every Arkansas deduction stage as a source hold (us-ar/policies/income_tax/2026_resident_liability_source_hold.yaml).

Review

Independent review r1 (Opus 5.5, as the GPT-6.1 Sol lanes were held; reviews/out-10203.md, REQUEST CHANGES, no code defect): the history of § 26-51-437 is corrected; the readings for Max now include the losses exception in (b)(5) and the unresolved treatment of repayments of $3,000 or less; case 6 tests a partial exclusion; the Arkansas-income and status 4 threshold readings, the 2021 start, § 1341(b)(2) and the invariant script's location are stated.

Review r2 (Opus 5.5, reviews/out-10203-r2.md, APPROVE) found every r1 finding fixed and left three nits, now fixed: the summary calls the floor placement reading 1, the parameter-list remark is limited to readings 3 and 2, and the mutation counts above come from the 11-case file.

🤖 Generated with Claude Code

MaxGhenis and others added 18 commits October 9, 2026 08:50
G.S. 105-153.5(a)(2)d, added by S.L. 2016-5 for 2014 and later, lets North
Carolina itemizers deduct repayments of income included in AGI in an earlier
year under a claim of right (Form D-400 Schedule A line 8). Repayments above
$3,000 are deductible in full; smaller ones are reduced by 2% of federal AGI
less other miscellaneous itemized deductions, which the 2016 and 2025 NCDOR
worksheets both reproduce. PE had no input for these repayments, so it adds
claim_of_right_repayment (person level; only the head's and spouse's count)
and moves North Carolina's uncapped itemized items into a parameter list.

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

Review r1 (subfleet 20261009-090558-nc-itemized-review):
- S.L. 2026-31 section 1.8 rewrites G.S. 105-153.5(a)(2)d for taxable years
  beginning on or after January 1, 2026: the repaid amount must have been
  included in AGI "as modified in G.S. 105-153.5 and G.S. 105-153.6" in the
  earlier year. New person input
  nc_claim_of_right_repayment_excluded_from_income (the part NC deducted when
  received, such as repaid Social Security) and a dated parameter apply it.
- Count only the head's and spouse's other miscellaneous expenses against
  the pre-2018 floor; a dependent's are on the dependent's return.
- The property grid now varies property taxes (so the $20,000 cap binds) and
  adds a 2026 grid for the excluded part.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…h Carolina's 1341(a)(5) bar and G.S. 105-266.2 payment (WIP)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…es that exclude them (AZ, KS, WI, MO, OR, VA); property tests

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…to keep it at two seconds

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…urn-level prior-year inputs, California and Montana flows

- The branches that fix the claim of right method start from inputs only, and
  the itemization branches settle the method in the parent first, so a tax
  liability calculated before the method is known cannot leak into them.
- Ties are compared to the cent, so a one-cent difference picks the credit.
- The prior-year federal decrease and NC increase are return-level inputs
  defined on chapter 1 and Article 4 tax.
- California leaves out the federal deduction (Schedule CA Part II line 16);
  Montana deducts it through 2023 (Form 2 itemized line 18).
- Section 67(g) is now 67(h); document the Arizona and NC coverage limits.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review r2 found that with itemization branching off, tax_liability_if_not_itemizing
used the parent's method when calculated first but chose its own after
income_tax. The itemizing branches now take the method as an input. A branch
keeps its parent's cache when an override equals the value the parent already
holds, so ordinary simulations still share it. Adds the review's Texas
household as an order test under both itemization settings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… branches only when someone qualifies

Review r3 showed that keeping a parent's cache when an override equals the
parent's current value can reuse tax calculated before another input
changed. Branches again drop inherited values whenever the parent knows an
overridden variable. The itemizing branches add the claim of right method as
an override only when some tax unit repays more than $3,000, so simulations
without a qualifying repayment keep sharing the parent's cache. Adds the
review's stale-parent sequence as a test.

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

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

Reviews of #10195, #10196 and #10198 found that reading own-rule states from
variable names weakened the cross-state test: North Carolina and Montana lost
their exact check, nothing asserted that a state's own relief actually lowered
its tax, and any future <state>_claim_of_right_ input would exempt a state.

Now an explicit, sourced map names each state whose relief applies under the
federal credit method and the variable that carries it. Under that method each
listed state whose variable is in the model must lower the household's tax by
more than $1, and every other state's tax must not change. The same commit is
on every state branch, so they still merge in any order.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Act 1284 of 2013 adopts 26 U.S.C. § 1341(a)(1)-(3) but not the federal
choice of a credit, and allows "a deduction in the tax year the taxpayer
restores the amount". A repayment over $3,000 of income Arkansas taxed is
now an itemized deduction whichever federal method applies. Ark. Code
§ 26-51-437(b) does not list it among the deductions that are not
miscellaneous, so it joins a new list of the miscellaneous pool that the
2% floor applies to (statute reading; decision d1477 may move it outside).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Resolves the add/add conflicts with #10028's squash (557b539) by
keeping this branch's 26 U.S.C. 1341(a)(5) bar on the North Carolina
deduction, its added NC cases and the method fixture in the NC property
grid, and keeps both sides' Arizona itemized deduction cases.

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

Review r1 of #10203: case 5 could not tell whether the exclusion reduces the
deduction or only the threshold test. New case 6 repays $10,000 with $2,000
never taxed and expects $8,000.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis marked this pull request as ready for review October 13, 2026 12:09
MaxGhenis and others added 2 commits October 13, 2026 08:59
…rom 2024

From 2024 Montana Form 2 line 2 takes the federal itemized deductions
(2024 instructions, Worksheet A line 1: Form 1040 line 12), which include
Schedule A line 16. The miscellaneous list was empty from 2024, so a
Montana itemizer lost the federal claim of right deduction. Review r5b
(P3-1) found it.

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

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

Copy link
Copy Markdown
Contributor Author

Hand-off to the US + core hub (Arkansas; state claim of right lane, session local_d0c92ac9).

@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Update to the hand-off (2026-10-14): main moved, and this PR conflicts in two places.

  1. Inherited from Model the claim of right repayment deduction and credit (26 U.S.C. 1341) and North Carolina's rules that depend on it #10038: policyengine_us/tools/period_branch.py conflicts with main's Measure a branch's behavioural responses against baseline policy, with its own cache #9913 (5c51e0d). Model the claim of right repayment deduction and credit (26 U.S.C. 1341) and North Carolina's rules that depend on it #10038's owner has been told. This PR doesn't touch that file. Once Model the claim of right repayment deduction and credit (26 U.S.C. 1341) and North Carolina's rules that depend on it #10038 merges main, merge its new head into this branch.
  2. This PR's own: ar_misc_deduction_joint.py conflicts with main's Fix AR, MT and NM income tax gaps found in TAXSIM comparison sweep #9585 (815ba0b). Resolution: keep both changes:
    expenses = add(tax_unit, period, p.sources)
    # A spouse's loss can make the joint AGI total negative; floor it at
    # zero so a negative AGI cannot enlarge the deduction.
    agi = max_(add(tax_unit, period, ["ar_agi_joint"]), 0)
    Then re-run ar_claim_of_right_deduction.yaml (11 cases; every case has positive AGI, so the floor changes no expected value) and the Arkansas deduction files.

#10196, #10198, #10195 and #10200 have only the inherited conflict.

MaxGhenis and others added 2 commits October 14, 2026 02:47
Resolves the period_branch.py conflict with #9913 (5c51e0d) by taking
main's _input_keys docstring, which no longer says whether Core's clone
copies or shares the input-key set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Resolves the conflict in ar_misc_deduction_joint.py with main's #9585:
the miscellaneous pool keeps this branch's sources list, and Arkansas AGI
keeps main's floor at zero.

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

Copy link
Copy Markdown
Contributor Author

Hand-off update (2026-10-14): new head ed83f4ec7d, MERGEABLE. It merges #10038's 6f34ccde23 (its second merge of main). The PR's own changes are unchanged since the approving review, apart from resolving main's #9585 in ar_misc_deduction_joint.py (both changes kept). Local runs at this head: Arkansas deduction and integration files 138, cross-state 33, all passing. Everything else in the hand-off comment above still holds; the hub-file line is re-appended with this head.

MaxGhenis and others added 3 commits October 14, 2026 03:14
From 2026 tax_unit_itemizes opens the itemizing branch for the section 68
limitation (#10136) with only tax_unit_itemizes overridden. From
policyengine-core 3.33 (#560), set_input on a branch drops the values stored
after the overridden variable was first stored anywhere in the simulation,
so that branch lost the inherited section 1341 method and chose its own as a
filer forced to itemize. Its itemized deductions then decided itemization on
a liability tie, or always with itemization branching off: CI failed two 2026
grid points, and a 2026 household with branching off came out at $4,988
instead of $4,100.

get_itemization_branch builds the itemizing and non-itemizing branches for
all three callers, adding the method as an input whenever someone qualifies,
so they share one branch and none chooses a method. A 2026 test covers that
household in every calculation order under both itemization settings; it
fails before this change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… method) into the ar-claim-of-right branch

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

main compiled the North Carolina claim of right fragment into CHANGELOG.md
when #10028 merged, so the copy left on this branch would print it again.
The period_branch module docstring said set_input on a branch clears
nothing, which policyengine-core 3.33 changed (review r8).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…o the ar-claim-of-right branch

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

Copy link
Copy Markdown
Contributor Author

Hand-off update (2026-10-14, supersedes the earlier one today): head 71d08b1de1 merges #10038's final head 17cad4b53b (handed to the hub). Local runs at the d1c695b2f7 merge, under policyengine-core 3.33.3 (the version CI resolves): Arkansas deduction and integration files 138, cross-state 47 (incl. 2026), all passing; 17cad4b53b adds no code. The PR's own changes are unchanged since the approving review. The hub-file line is re-appended with this head.

@DTrim99

DTrim99 commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator

PR Review: Add Arkansas's claim of right deduction (Ark. Code § 26-51-457)

PR #10203 (author: MaxGhenis, head 71d08b1de1, merge-base a2f63c1235). Stacked on #10038 (head 17cad4b53b). I reviewed its incremental diff, 17cad4b53b..71d08b1de1: 9 files (+396/−12) in 3 commits (589d72cd73, 1c2be5a031, 5e8fe82759). Its other commits are merges of #10038's heads. Axiom: "Ark. Code § 26-51-457 — not yet queued".

Summary

Since 2013 Arkansas has allowed a deduction, in the year of repayment, for restoring more than $3,000 of income it taxed in an earlier year under a claim of right (Ark. Code § 26-51-457, Act 1284 of 2013). It adopts 26 U.S.C. 1341(a)(1)–(3) and (b)(2), but not the federal choice of a credit. The PR adds:

  • ar_claim_of_right_deduction (tax unit): the head's and spouse's repayments of income Arkansas taxed, when their total exceeds the new gov.states.ar.tax.income.deductions.itemized.claim_of_right.threshold ($3,000 from 2013).
  • ar_claim_of_right_repayment_excluded_from_income (person input): the part of claim_of_right_repayment that Arkansas never taxed.
  • gov.states.ar.tax.income.deductions.itemized.misc.sources: a new list, total_misc_deductions plus the new deduction from 2013. ar_misc_deduction_joint and ar_misc_deduction_indiv now add it before the 2% floor of § 26-51-437.
  • The cross-state property test: a map of the states whose own relief applies under the federal credit. Arkansas's tax must now fall under the credit method.

The Arkansas work is right:

  • The law checks out. Act 1284 of 2013, § 26-51-437, Act 614 of 2025, the 2025 AR3 and its instructions, the 2025 AR1000ADJ and DFA's 2013 fiscal notes say what the code and PR body quote, at the pages given.
  • It doesn't depend on the federal method, and nothing double counts.
    • Arkansas adopts neither (a)(4)–(5) nor (b)(3), so the deduction applies under both federal methods.
    • The formula reads only the repayment, the Arkansas exclusion and the head-or-spouse flag.
    • Arkansas itemized deductions never read the federal claim of right deduction or the federal itemized total, and Arkansas AGI is unaffected.
  • The arithmetic is right. I hand-checked all 11 YAML cases, the cross-state test's Arkansas household and the PR body's two households.
  • The tests pass.
    • CI ran all 11 cases and the changed property test at this head.
    • Locally, the 11 cases, the 13 cases in the two existing miscellaneous deduction files and the property test pass.

The floor ruling is still open. The PR body holds the merge for the author's ruling (d1477) on where the deduction sits relative to the 2% floor. I checked the sources for all three readings. On the statute's text, the implemented reading (inside the floor) is the strongest. Suggestion 2 adds two sources for the ruling.

One should-fix: the axiom line is not valid. "Not yet queued" isn't one of the allowed forms, and rulespec-us has no issue or module for § 26-51-457.

Four suggestions follow. This branch also inherits #10038's unresolved Should 1, so it can be approved only after #10038 is fixed and this branch merges #10038's new head.

Critical (must fix)

None.

Should address

1. The axiom line isn't valid, and no rulespec-us issue covers § 26-51-457.

Suggestions

1. Update the PR body's household table to this head.

  • The table predates main's Require Arkansas joint filing with a negative spouse income and use tax table bands #9696.

  • At the head (a local run matches my hand computation):

    Household (2025, single) No repayment Repays $10,000 Difference The body
    Wages $60,000; federal decrease $2,200 $1,795 $1,550 −$245 $1,794.71 → $1,547.84 (−$246.87)
    Wages $100,000, gifts $20,000; decrease $400 $2,669 $2,361 −$308 $2,671.04 → $2,359.04 (−$312)
  • The arithmetic. Each line takes 3.9% of the band midpoint, subtracts the $419.96 reduction, rounds, then subtracts the $29 personal credit:

    • 57,530 is in the 57,500 band: 3.9% × 57,549.50 − 419.96 = 1,824.47 → 1,824 → 1,795.
    • 51,200: 3.9% × 51,249.50 − 419.96 = 1,578.77 → 1,579 → 1,550.
    • 80,000 is in the 79,901–80,000 band: 3.9% × 79,950.50 − 419.96 = 2,698.11 → 2,698 → 2,669.
    • 72,000: 3.9% × 72,049.50 − 419.96 = 2,389.97 → 2,390 → 2,361.
  • What hasn't changed.

    • The deductions ($8,800 and $8,000) and the federal figures.
    • The body's "about $47" between readings 1 and 3 still holds: $1,550 against $1,503 with the $1,200 moved outside the floor.

2. For the d1477 ruling: two sources weaken reading 3 and support the implemented reading 1.

  • "In addition to" wording doesn't escape the floor by itself.
    • Act 708 of 1991. § 1 (PDF p. 1) granted the disabled-child deduction "In addition to any other state income tax deduction permitted by law". § 3, which ends on PDF p. 2, still adds: "The deduction allowed under this Act shall not be a miscellaneous itemized deduction as provided in Ark. Code Ann. § 26-51-437".
    • The firefighter statute has that wording but no exception. Act 1452 of 2013, § 2 (PDF p. 1) allows its deduction "in addition to all other deductions allowed by law". It has no exception from § 26-51-437.
      • It was also enacted as "26-51-457" and is codified as § 26-51-458.
      • DFA still put it on AR3 line 26.
    • So reading 3 rests on DFA practice. That practice is for a statute worded more favorably than § 26-51-457, which has neither phrase.
  • DFA's own catalogue doesn't place it.
    • DFA's 2018 task-force exhibit (Exhibit F-1, "Individual Income Tax Section", updated 4-13-18, PDF p. 13) lists: "37. Claim of Right – for a substantial amount held under a claim of right pursuant to IRC § 1341(a)(1)-(3) and (b)(2). Ark. Code Ann. § 26-51-457", "Individual – Less than $1M CY2016".
    • That is a separate item from "1. Miscellaneous Itemized Deductions. Ark. Code Ann. § 26-51-437" (PDF p. 9).
    • The same exhibit gives the firefighter deduction as § 26-51-458 (PDF p. 2).
    • So DFA administers the deduction, but the exhibit doesn't say where it sits relative to the floor.
  • Nothing further in the booklets.
    • The 2013, 2014, 2016, 2017 and 2019–2025 AR1000F/AR1000NR booklets never mention claim of right, section 1341 or a repayment.
    • The 2013 booklet's "Special information for 2013" (PDF p. 6) lists other 2013 acts, but not Act 1284.
    • The unfloored "other miscellaneous deductions" line only ever says to attach a schedule.
  • Fix: add these to "The readings for Max". On the text, reading 1, as implemented, is the strongest.

3. Add a married case that asserts the separate-filing path.

  • The gap.
    • ar_misc_deduction_indiv.py:25 now adds the sources list too, but no case asserts it with a repayment.
    • No case asserts the AGI-share split in ar_itemized_deductions_indiv either.
    • Case 7 asserts only the deduction. The existing ar_misc_deduction_indiv.yaml cases enter total_misc_deductions directly.
  • Why only a suggestion. The joint cases already pin the shared list.
  • Fix: add a 2025 case with head wages of $60,000, spouse wages of $20,000 and a $10,000 repayment by the head. A local run gives:
    • ar_misc_deduction_indiv = 10,000 − 2% × 80,000 = 8,400 (AR3 line 23 floors combined AGI).
    • ar_itemized_deductions_indiv = [6,300, 2,100], a 75% / 25% AGI split (AR3 lines 31–35).
    • This also pins the PR's status 4 reading, which tests the couple's combined repayment against $3,000.

4. (Stack-wide, optional) Use one input for a repayment the state never taxed.

Verified correct

  • Arkansas law. Each citation shows the stated text:

    Source Content
    Act 1284 of 2013, PDF p. 1 § 26-51-457(a): "Title 26 U.S.C. § 1341(a)(1)-(3) and (b)(2), as they existed on January 1, 2013, ... is adopted for purposes of computing income tax liability under this chapter." (b)(1): § 1341(a)(4) and (5), (b)(1) and (b)(3)-(5) "are not adopted".
    Act 1284 of 2013, PDF p. 2 (b)(2)(A): "The tax imposed under this chapter is calculated for the taxable year by allowing a deduction in the tax year the taxpayer restores the amount held under a claim of right". (B): net operating and capital losses under §§ 26-51-427 and 26-51-815. § 2: "effective for tax years beginning on or after January 1, 2013", matching threshold.yaml 2013-01-01: 3_000. The current code text still adopts section 1341 "as they existed on January 1, 2013".
    Act 382 of 1987, § 28, PDF p. 9 (a): miscellaneous itemized deductions are allowed "only to the extent that the aggregate of such deductions exceeds two percent (2%) of adjusted gross income". (b)(1)–(7): business expenses ("employee business expenses which are not reimbursed by the employer are miscellaneous itemized deductions"), medical, interest, taxes, losses, charitable contributions and donated art. § 33 (PDF p. 10): from 1987. The current (b)(8) adds § 26-51-418. Nothing covers § 26-51-457.
    Act 614 of 2025, § 7, PDF p. 4 Updates only the cross-references in (b)(1) and (b)(2).
    2025 Form AR3 Lines 20–25: "MISCELLANEOUS DEDUCTIONS SUBJECT TO 2% AGI LIMIT". Line 21: "Other expenses: (List type and amount)". Line 23: the combined AGI of lines 25A and 25B. Lines 26–29: "NOT SUBJECT TO THE 2% AGI LIMITATION", with line 28, "Other miscellaneous deductions". Lines 31–35: proration for status 4 and 5.
    2025 instructions, PDF pp. 21–22 Line 21: dues, preparation fees, safety equipment, entertainment, tools, employment agency fees and brokerage fees. Line 28: "Enter your other miscellaneous deductions not subject to the two percent (2% or .02) AGI limit. Attach a detailed schedule of each deduction." Neither mentions claim of right.
    2025 AR1000ADJ, PDF p. 1 No line for it, and "Do not enter amounts from categories that are not printed on this form". So only itemizers benefit, as modeled.
    HB1866-DFA2 (as engrossed 3/20/2013), PDF p. 1 "... the amount repaid is in excess of $3,000.00 and is deductible, then the taxpayer may claim an Arkansas income tax deduction for the amount repaid on the income tax return for the tax year of the repayment." Before the act, the remedy was an amended return. DFA1 (3/18/2013) analyzed the bill as introduced, which included the credit.
    2014 booklet, PDF p. 6; 2014 AR3 The firefighter deduction "is claimed on Form AR3, Line 26". Line 28 totals it as "NOT SUBJECT TO THE 2% AGI LIMITATION".
    Act 870 of 2019, § 6, PDF p. 2 Adopts 26 U.S.C. § 162 as in effect on January 1, 2019. This supports the body's point on repayments of $3,000 or less.
  • The federal methods and (b)(3).

    • Both methods. Arkansas adopts neither the lesser-of rule nor (b)(3). So the deduction also applies when federal tax uses the credit and the federal deduction is zero.
    • No branch dependency. ar_claim_of_right_deduction.py:29-41 reads only claim_of_right_repayment, the Arkansas exclusion and is_tax_unit_head_or_spouse. It reads no federal method variable, so there is no circularity.
    • Coverage.
      • Case 4 covers the credit method: a federal credit of $2,200 and an Arkansas deduction of $10,000.
      • The cross-state test covers it too.
      • For that test's household, a local run gives Arkansas tax of $516 under either federal method, against $918 with no repayment.
  • No double count.

    • Itemized deductions. The lists (itemized/sources/joint.yaml and individual.yaml) hold Arkansas components: tuition, medical, miscellaneous, gambling, real estate taxes, charitable_deduction, interest_deduction and casualty losses. None is the federal claim_of_right_deduction or the federal total.
    • The miscellaneous pool. total_misc_deductions adds gov.irs.deductions.itemized.misc.sources, which holds only unreimbursed employee expenses and tax preparation fees. So the repayment enters the pool once.
    • AGI. Arkansas AGI is unaffected. The repayment is below the line federally and for Arkansas, and Arkansas reads federal AGI only in ar_federal_cdcc.
  • Threshold and aggregation.

    • The strict > matches "exceeds" (cases 2 and 3).
    • The head's and spouse's repayments are summed, and a dependent's is left out (case 7).
    • The threshold applies after removing income Arkansas never taxed (cases 5 and 6). In the adopted (a)(3), "such deduction" is the Arkansas deduction.
    • Status 4 uses one combined AR3 with the floor on combined AGI (line 23), as the body describes.
  • Tests: hand checks.

    Expectation By hand
    Cases 1–3 10,000 and 3,001 exceed 3,000 and are deducted in full; 3,000 gives 0
    Case 4 Credit method fixed: federal credit = the 2,200 decrease; Arkansas still 10,000
    Case 5 10,000 − 8,000 = 2,000, not over 3,000: 0
    Case 6 10,000 − 2,000 = 8,000; 8,000 − 2% × 60,000 = 6,800
    Case 7 2,000 + 2,500 = 4,500; the child's 5,000 is left out
    Case 8 Missouri: 0 (defined_for)
    Case 9 10,000 − 1,200 = 8,800, above the 2,470 standard deduction; 60,000 − 8,800 = 51,200
    Case 10 3,001 − 1,200 = 1,801, below 2,470, so the standard deduction applies: 57,530
    Case 11 10,000 − 2,000 = 8,000; 20,000 + 8,000 = 28,000; 100,000 − 28,000 = 72,000
    Cross-state test, Arkansas Net taxable income 35,000: 3.9% × 35,049.50 − 419.96 → 947, less the $29 personal credit = 918. With the repayment, 26,200 falls in the 3.4% row: 3.4% × 26,249.50 − 287.97 → 605. Less the $29 credit and the full $60 additional credit for qualified individuals (net taxable income is below its $26,500 phase-out start) = 516. Relief of 402 clears the test's $1.
    Body households See Suggestion 1
  • Code patterns.

    • Both new variables have defined_for = StateCode.AR.
    • The threshold is a parameter, and the pool is a list parameter read with add.
    • The new input mirrors North Carolina's merged nc_claim_of_right_repayment_excluded_from_income.
    • Labels, units and periods are set.
    • References follow the house rules: one entry per document, #page=1 with "#page 1-2" in a quoted title, and a "PDF pages 1-2" comment above the variable's link.
    • ar_misc_deduction_joint.py keeps both the sources list and main's Fix AR, MT and NM income tax gaps found in TAXSIM comparison sweep #9585 floor on joint AGI.
  • The cross-state test.

  • Changelog. changelog.d/ar-claim-of-right.added.md is top-level and typed added.

  • No partner test file is touched.

  • Local runs (policyengine-core 3.32.29; CI uses 3.33.3), on the head tree:

    • 24 YAML cases pass: 11 in ar_claim_of_right_deduction.yaml, 7 in ar_misc_deduction_joint.yaml and 6 in ar_misc_deduction_indiv.yaml.
    • test_states_under_each_federal_method passes (1 selected of the file's 47).
    • A probe reproduces every figure in Suggestions 1 and 3 and the cross-state row above.

Cross-cutting checks

  1. Law first: verified (table above).
  2. The (a)(4)/(a)(5) choice and (b)(3): independent of the federal method; no double count and no circularity.
  3. Threshold and aggregation: right, with the status 4 reading disclosed.
  4. State conformity:
    • Static adoption of (a)(1)–(3) and (b)(2) as of January 1, 2013.
    • A deduction only, with no credit and no refund.
    • Itemizers only (AR1000ADJ).
    • Arkansas's own AGI and itemized list.
  5. Inputs: one Arkansas input, documented (Suggestion 4 for the stack).
  6. "Other states" corrections: none in this PR.
  7. Tests: 11 cases and 3 households hand-checked.
    • They cover the boundaries, the credit method, the joint return and the state interaction.
    • The separate-filing path isn't asserted (Suggestion 3).
  8. Code patterns: right.
  9. Axiom: invalid (Should 1).
  10. CI and branch: green, and the merge is clean.

Inherited from #10038

#10038's posted findings (REQUEST_CHANGES) are in this branch unchanged. Fix them in #10038, then merge its new head here.

  • Should 1: California leaves the federal deduction out of CA itemized deductions.
  • Suggestions:
    • Gate NC on section 1341 eligibility.
    • Tighten the input docs and add "Federal" to a label.
    • Drop the section 67(b)(9) reference.
    • Add NY IT-196 line 34 to the follow-up.
    • Fix the WI comment and the stale status.

Axiom line assessment

Invalid (Should 1).

CI status

All 27 checks pass (gh pr checks 10203, run 38545556999, attempt 1, on head 71d08b1de1).

  • Core version. CI upgraded policyengine-core from the lock's 3.32.27 to 3.33.3.
  • The YAML cases ran. "Baseline (states-shard-3)" ran ar_claim_of_right_deduction.yaml (11 cases), ar_misc_deduction_indiv.yaml (6) and ar_misc_deduction_joint.yaml (7). All passed, in a group of 805.
  • The property tests ran. "Rest (Python, shard-1 + variables)" ran all 47 tests in the property file, including test_states_under_each_federal_method (PASSED, 14.69 s), in the remaining group (2,340 passed).
  • Partner tests. The PR touches no partner test files, and the Household API Partners job passes.

Branch status

Own findings: 0 critical, 1 should, 4 suggestions. Changes are requested for this PR's Should 1 (the axiom line) and for the inherited #10038 Should 1. Approve once the axiom line is valid, #10038 is fixed, and this branch merges #10038's new head.

Verdict: REQUEST_CHANGES

@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; details in the full report above. This PR's own findings are 0 critical and 1 should. Should 1: the line "axiom: Ark. Code § 26-51-457 — not yet queued" is not a valid axiom form, and rulespec-us has no issue or module for § 26-51-457 (#1411 covers only the § 26-51-437 pool). Please file a dispatch-ready pe-parity issue and switch to a queued line. The deduction amount doesn't depend on the floor ruling (d1477). This branch also contains #10038's unresolved Should 1 (California), so it should merge only after #10038 is fixed and this branch picks up its new head. Approve once both are done. The Arkansas law and arithmetic check out: all 11 YAML expectations were hand-checked, there's no dependence on the federal method and no double count, and CI is green.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants