Repository navigation
Conversation
…orms Arkansas: leave dependents' casualty losses off the filer's return in ar_casualty_loss_deduction_joint and _indiv. 26 U.S.C. 165(h), as adopted by Ark. Code 26-51-424(b), allows the loss of the individual who sustained it. Status-4 pooling stays: the AR3 and AR4684 apply one $100 per casualty event and one 10% floor per return, then split the total by AGI share. Puerto Rico: P.R. Code 1033.15(a)(10) allows only (A) losses on the principal residence and (B) losses on automobiles and household goods in a declared disaster area, capped at $5,000 ($2,500 for spouses filing separately). The generic casualty_loss input no longer feeds either deduction. New inputs: pr_principal_residence_casualty_loss, pr_personal_property_casualty_loss and pr_personal_property_casualty_loss_carryover. New deduction: pr_personal_property_casualty_loss_deduction. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Arkansas: over a grid of head losses, AGIs and dependent losses, both variants equal the head-only closed form, so a dependent's loss never moves the filer's deduction. Puerto Rico: over losses, carryovers, filing statuses and generic casualty_loss values, the deductions match Section 1033.15(a)(10), stay within the loss and the cap, rise with the loss and carryover, ignore casualty_loss and flow into pr_deductions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 6, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR checks the two casualty-loss copies that #9912 left unchanged, Arkansas and Puerto Rico, against their own forms and statutes. Arkansas gets one fix: dependents' losses no longer count. Its status-4 pooling was checked and stays. Puerto Rico gets an input-semantics fix: the deduction stops reading the generic
casualty_lossinput and models the two items the Code allows.It does not overlap #9912, which touches no Arkansas or Puerto Rico file and not
casualty_loss.py. It usestax_unit_non_dep_add, which is already onmain.Arkansas
Fix: a dependent's loss belongs on the dependent's own return
ar_casualty_loss_deduction_jointandar_casualty_loss_deduction_indivsummedcasualty_lossover every tax-unit member, dependents included. Both now usetax_unit_non_dep_add. The legal basis:No Arkansas source lets a parent report a dependent's income or deductions. Researchers checked the 2017–2025 AR1000F/AR1000NR instructions, the 2025 AR1000F (income columns only for the primary and the spouse) and 26 CAR Part 100 Subpart 1. They found nothing like Form 8814.
ar_agi_jointandar_agi_indivstill move a dependent's net income onto the head, which no Arkansas source supports either. Fixing that is a separate methodology question, raised as a follow-up below. The new tests feedar_agi_*directly, so they don't depend on it.Checked, no change: status 4 (married filing separately on the same return)
A reviewer argued from Pub. 547 (2017, PDF p. 10) that spouses filing separate returns each subtract their own $100, and only the owning spouse claims the loss. That would make the test "2025, losses of both spouses …" 14,800, assigned to the owners. Arkansas's own forms compute it differently, the same way in every year checked (2017, 2018, 2020, 2022–2025):
PolicyEngine already does this, so the formula stays. One gap remains. AR4684 line 17 cites "line 25" without naming a column. We read it as columns A plus B, because AR3 lines 2 and 23 use "line 25A and 25B" for the other AGI floors.
There is a competing statutory reading. § 165(h)(5)(B) merges only joint-return spouses, and Treas. Reg. § 1.165-7(b)(4)(iii) applies the $100 "separately to each individual taxpayer" otherwise. Read that way, status-4 spouses would each get their own $100 and their own 10% floor: (12,000 − 100 − 3,000) + (8,000 − 100 − 2,000) = 14,800. That total would still be split by AGI share, not assigned to owners. No Arkansas form or instruction computes the loss per spouse, so the code follows the forms. The variable's comment now says so, and the choice is queued for Max as decision d1040.
The code comment and references now record all of this. A new
ar_itemized_deductions_indivcase shows a spouse-only loss split 60/40 by AGI.Puerto Rico
What the law allows
P.R. Internal Revenue Code of 2011, Section 1033.15(a)(10) (13 L.P.R.A. § 30135): OGP English compilation, Rev. June 18, 2026, PDF p. 167; Spanish, PDF p. 182. The text is unchanged from Act 1-2011 as enacted (PDF pp. 188–189). It allows only two items:
What PolicyEngine did
pr_casualty_loss_deductiondeducted every member's genericcasualty_loss("Casualty/theft loss"), with no cap. That is the federal Form 4684 input, which Microcosm imputes from PUF E20500. Onmain, a Puerto Rico single filer with a $20,000 theft loss gets a $20,000 deduction.The fix
pr_principal_residence_casualty_lossandpr_personal_property_casualty_loss, summed over the head and spouse. Each input's documentation states the statutory conditions.pr_personal_property_casualty_loss_carryover. Hacienda describes it as the part of the $5,000 ($2,500) allowance not claimed in the loss year.pr_casualty_loss_deduction. This is line 2, and the name is kept for API users: residence loss × (50% if SEPARATE, otherwise 100%).pr_personal_property_casualty_loss_deduction. This is line 5: min(share × loss + carryover, cap). It is added todeductions/sources.yaml.casualty_loss/personal_property_cap: 5,000 for every filing status except SEPARATE, which gets 2,500.separate_percentagestays 0.5, with full statutory references.casualty_lossdocumentation. It now says Puerto Rico uses its own inputs.block_ladder_sources.py), so this changes household and API results only, not any aggregate.Tests
YAML tests that fail on
main(run against a cleanupstream/maincheckout at9eab717e56):maincasualty_loss$20,000pr_deductionswith genericcasualty_loss$8,000The rest of the new Puerto Rico cases also fail on
main, because their inputs don't exist there. They cover:pr_deductionsintegration case.Invariants, with property tests
These are grid property tests in
tests/unit/, each run as one vectorized simulation.test_ar_misc_casualty_deduction_properties.py, newtest_casualty_loss_deduction_ignores_dependents_losses). For every head loss × AGI × dependent loss in the grid (280 units, TY2010 and TY2025), both variants equal the head-only closed form. A dependent's loss never moves the filer's deduction.test_pr_casualty_loss_deduction_properties.py, 1,050 units, TY2025):casualty_losschanges neither deduction norpr_deductions(a differential check, 0 vs 50,000).pr_deductionsequals line 2 plus line 5 when nothing else is entered.Cost. Both files run in the Rest job's "remaining" group, which takes about 239 s. Local measurements on macOS at load about 224, not Linux CI:
Run locally, one file at a time under the hub's test-run rule, all passing:
ar_casualty_loss_deduction_joint(10),_indiv(9) andar_itemized_deductions_indiv(5);pr_casualty_loss_deduction(7),pr_personal_property_casualty_loss_deduction(14),pr_deductions(1) andpr_net_taxable_income(2);test_parameter_files, the code-health reference-URL checks, andruff format --check ..Follow-ups (not in this PR)
ar_agi_jointandar_agi_indivattribute dependents' net income to the head with no Arkansas source. The same pattern appears in MS, DE and MT. Whether to zero it, asirs_gross_incomedoes federally, is a methodology choice.is_separated, which corresponds to PR's "married not living with spouse", who files as an individual taxpayer. That affects every PR variable that halves amounts for SEPARATE.ar_itemized_deductions_indivrounds the AGI share withnp.round, which rounds halves to even. AR3 line 33 says "round to the nearest whole percent" and makes line 35 the remainder. The two differ only at exact half-percent shares.Axiom parity
axiom: Ark. Code § 26-51-424(b) TheAxiomFoundation/rulespec-us#1411 queued
axiom: P.R. Internal Revenue Code of 2011 § 1033.15(a)(10) TheAxiomFoundation/rulespec-us#1526 queued
Review
Independent review (Subfleet job 20261006-180638-pe9944-review, Opus standard tier) is running; its verdict will be added here.
🤖 Generated with Claude Code