Repository navigation
Conversation
MaxGhenis
marked this pull request as ready for review
October 23, 2026 06:30
This was referenced Oct 23, 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.
Michigan currently subtracts military survivor annuities paid to children and other nonspouse beneficiaries because #10182 wired the combined
military_retirement_incomeinto state deductions. A 20-year-old Michigan filer with $40,000 wages and $10,000 survivor benefits from a deceased parent receives a $10,000 subtraction: taxable income is $34,400 and precredit tax $1,462. This fixes those amounts to $44,400 and $1,887, while preserving the subtraction for the retiree's own pay and eligible surviving spouses.The audit also fixes the same recipient eligibility problem in AZ, ID, IN, ND, NM, RI, and VA, plus SC's preexisting survivor deduction. It reuses
military_retirement_pay,military_retirement_pay_survivors, andis_surviving_spouse; the shared federal income definition stays intact.Michigan authority and worksheet treatment
Michigan's retirement worksheets offset other retirement caps using the military amount actually deducted on Schedule 1 line 11. The new eligible subtraction therefore also replaces the combined income in retirement, standard-deduction, and senior investment-income calculations. Taxable nonspouse survivor benefits neither enter the qualifying retirement basket nor reduce another available deduction. See Worksheets 3.1–3.3 in the 2024 booklet and 2025 booklet.
State audit
Reviewed the other 38 jurisdictions reached by #10182 and SC's preexisting survivor implementation (40 total including Michigan). “Keep” means no spouse-only change is warranted in that flow; it does not assert complete coverage of every state retirement provision.
AZ and RI use detailed state tax-agency interpretations of generic statutory pension language. Those instructions identify the surviving-spouse extension; broad federal military-benefits summaries describe SBP annuities collectively and do not resolve recipient eligibility. RI's interpretation is consistent across its 2023, 2024, and 2025 guides. Other states with statutes expressly covering all SBP beneficiaries retain that broader scope.
Invariants and validation
Validation: Incomplete. 177 YAML cases passed across 20/338 requested income-tax YAML files; each file ran in its own foreground process using the prescribed CLI. 3/3 property tests passed; 0 existing Michigan Python tests passed across 0 files. The remaining 318 YAML files are unverified: they have no completed passing result at the job's validation cutoff. Repeated, unusually slow model initialization limited coverage before the cutoff; pytest's reported durations exclude that startup. Ruff formatting/lint (
make format) andgit diff --checkpassed for the committed changes; these checks do not verify unfinished model runs.impact: the hub will measure
axiom: TheAxiomFoundation/rulespec-us#1873 (AZ 43-1022(26)), TheAxiomFoundation/rulespec-us#1874 (ID 63-3022A), TheAxiomFoundation/rulespec-us#1875 (IN 6-3-2-4(a)(2), re-encode: the existing module has no surviving-spouse test), TheAxiomFoundation/rulespec-us#1876 (MI 206.30(1)(e), (8)(c)), TheAxiomFoundation/rulespec-us#1877 (ND 57-38-30.3(2)(r)), TheAxiomFoundation/rulespec-us#1878 (NM 7-2-5.13), TheAxiomFoundation/rulespec-us#1879 (RI 44-30-12(c)(11), (c)(9)), TheAxiomFoundation/rulespec-us#1880 (SC 12-6-1171, 12-6-1170) and TheAxiomFoundation/rulespec-us#1881 (VA 58.1-322.02(18)) queued. They wait on a rulespec-us re-pin to corpus scopes already on axiom-corpus main (AZ, ID, MI, NM, RI, SC, VA), ingestion of sources no corpus scope holds (AZ ITR 11-3; ID 2025 H0479; IN 2021 and 2024 Code; MI Treasury FAQ; ND 2019 and 2025 session laws plus a 57-38-30.3(2)(r) anchor; NM Laws 2024 ch. 67; RI retirement income guides; SC Revenue Rulings 21-13 and 22-11), and signed-encoder approval. The PolicyEngine US hub has logged the AZ, NM, RI and SC readings.