Repository navigation
Conversation
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>
…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>
|
Hand-off to the US + core hub (Arkansas; state claim of right lane, session local_d0c92ac9).
|
|
Update to the hand-off (2026-10-14): main moved, and this PR conflicts in two places.
#10196, #10198, #10195 and #10200 have only the inherited conflict. |
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>
|
Hand-off update (2026-10-14): new head |
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>
…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>
|
Hand-off update (2026-10-14, supersedes the earlier one today): head |
PR Review: Add Arkansas's claim of right deduction (Ark. Code § 26-51-457)PR #10203 (author: MaxGhenis, head SummarySince 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:
The Arkansas work is right:
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 address1. The axiom line isn't valid, and no rulespec-us issue covers § 26-51-457.
Suggestions1. Update the PR body's household table to this head.
2. For the d1477 ruling: two sources weaken reading 3 and support the implemented reading 1.
3. Add a married case that asserts the separate-filing path.
4. (Stack-wide, optional) Use one input for a repayment the state never taxed.
Verified correct
Cross-cutting checks
Inherited from #10038#10038's posted findings (REQUEST_CHANGES) are in this branch unchanged. Fix them in #10038, then merge its new head here.
Axiom line assessmentInvalid (Should 1).
CI statusAll 27 checks pass (
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
left a comment
There was a problem hiding this comment.
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.
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 afterdc10cc58ceexcept the merges of #10038's heads2d36a76bca(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) and17cad4b53b(changelog and docstring) (Arkansas also resolves main's #9585 inar_misc_deduction_joint.py, keeping both the sources list and main's floor on AGI), which bring in no change of this PR's. Head71d08b1de1.ar_claim_of_right_deduction(tax unit): the head's and spouse's repayments of income Arkansas taxed, when their total exceedsgov.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 ofclaim_of_right_repaymentthat Arkansas did not include in gross income when received.gov.states.ar.tax.income.deductions.itemized.misc.sources(total_misc_deductions, plus the new deduction from 2013), whichar_misc_deduction_jointandar_misc_deduction_indivnow 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
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:
claim_of_right_repaymentcannot tell the two apart, so this reading would need a new input or a choice of one treatment.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
ar_itemized_deductions_indivalready 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.Not modeled:
claim_of_right_repaymentexcludes them.Household on
main, #10038 and this branch (2025, single, age 40)Script outside the repository (
~/reviews/us-hub/claim-of-right-states/scripts/households.pyon the author's machine; outputsevidence/households_*.jsonthere).main95eefa51e5; #10038dc10cc58ce; this branch1c2be5a031(the later commit adds a YAML case and changes documentation only).mainTests
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
remainingCI 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.pyon the author's machine; the joint spouse has $10,000 of wages, and only the head has income Arkansas never taxed):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 at1c2be5a031: 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_2024atpopulace-us-2024-spm-20260909), run 2026-10-13 under the shared heavy-run lock: #10038's headdc10cc58ceagainst this branch at5e8fe82759(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_repaymentis $0 on every record (weighted sum $0), soar_claim_of_right_deductionare $0 everywhere.income_tax,state_income_tax,household_net_income,claim_of_right_credit_appliesorar_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-paritydraft 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