Repository navigation
Cap Kentucky qualified residence interest at principal-residence interest from 2026 - #10003
Conversation
Adds two Person-level leaf inputs, home_mortgage_points and mortgage_insurance_premiums, so datasets no longer need to route them through investment_interest_expense (d1054). - Points join the home mortgage interest pool and take the same qualified-loan-limit fraction (Pub. 936, Table 1, line 13). - Premiums are deducted under 26 U.S.C. 163(h)(3)(E) with the AGI phase-out, for 2007-2021 and again from 2026 (P.L. 119-21, sec. 70108), and flow into interest_deduction. Empty inputs leave every output unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cover mortgage loan caps, person allocation, premium availability and AGI phase-out boundaries, and itemized taxable-income integration with hand-calculated IRS worksheet amounts. Co-Authored-By: GPT-6.1 Sol (subfleet lane) <noreply@openai.com>
Use one simulation for 360 tax units in 2021, 2025, and 2026 to check conservation, bounds, interest-points transfers, an independent integer-cents premiums worksheet, AGI monotonicity, and zero-input compatibility. Reuse read-only calculation arrays instead of constructing models per property. Co-Authored-By: GPT-6.1 Sol (subfleet lane) <noreply@openai.com>
…e from 2026 KRS 141.019(2)(j), added by 2026 Ky. Acts ch. 161 (HB 757) sec. 7 and amended by ch. 198 (HB 869) sec. 48, limits the section 163(h)(3) deduction from TY2026 to interest on the principal residence and bars claiming it for more than one qualified residence. Kentucky itemized deductions inherit the federal interest deduction, which pools a second residence. Add three Person leaf inputs, disjoint from the principal-residence inputs: second_residence_mortgage_interest, second_residence_mortgage_points and second_residence_mortgage_insurance_premiums. They join the federal pool (interest and points under the acquisition-debt share, premiums under the AGI phase-out), so federal results do not depend on the split. second_residence_interest_deduction attributes the federal deduction to the second residence, and Kentucky subtracts it from 2026. Empty inputs change nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
P.L. 119-21 inserted the passenger-vehicle loan interest rule as section 163(h)(4), so the qualified residence and qualified mortgage insurance definitions are now in 163(h)(5)(A) and (E). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rest Review found that a pro-rata second-residence share understates Kentucky's deduction whenever combined debt exceeds the federal limit. KRS 141.019(2)(j) limits the federal deduction "to the amount of interest paid or accrued ... on the ... indebtedness of the principal residence", which is a ceiling. Kentucky now allows the lesser of the federal deductible interest and points and the principal residence's interest and points. It still drops second-residence premiums after the federal phase-out. With equal loan rates this matches a recomputation on the principal residence alone, and a property test checks that against the statutory limit. The deprecated structured interest inputs now stand in for principal-residence interest only, and second-residence interest is always added. Previously, reporting any second-residence interest dropped the structured amount. Drop the pro-rata second_residence_interest_deduction. Move the federal pooling cases to interest_deduction, home_mortgage_interest_tax_unit and home_mortgage_interest_share. Add Kentucky cases for a joint return, spouses filing separately, the structured fallback, and debt above the limit. Fix the Pub 936 page anchors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The cap equals a principal-residence-only recomputation when combined debt is within the federal limit, or when both loans carry the same rate, fall under the same debt limit and carry points in proportion to their debt. Equal rates alone are not enough. Restore the YAML case with legacy structured interest and second-residence points but no second-residence interest, which was lost when the federal cases moved. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Also add a Kentucky case with debt over the federal limit that shows legacy structured interest counting toward the principal-residence cap: the federal 6,000 stays within the structured 8,000, so nothing is disallowed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Hand-off to the US + core hub (session
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Admin-merged by the US + core hub at
|
Summary
From TY2026, Kentucky caps the qualified residence interest deduction at the interest paid on the principal residence. PolicyEngine-US inherited the federal interest deduction, which pools a second home's mortgage interest, points and (from 2026) mortgage insurance premiums. This PR adds leaf inputs for those second-residence amounts and applies Kentucky's cap from 2026. Empty inputs change nothing.
The law
KRS 141.019(2)(j) is the codified text. In full: "For taxable years beginning on or after January 1, 2026, any deduction allowed by 26 U.S.C. sec. 163(h)(3) as qualified residence interest shall be limited to the amount of interest paid or accrued during the taxable year on the acquisition and home equity indebtedness of the principal residence of the taxpayer and shall not be claimed for more than one (1) qualified residence".
2026 Ky. Acts ch. 161 (HB 757), sec. 7 added it with "acquisition indebtedness". The act was vetoed in part, and the veto was overridden April 14, 2026.
2026 Ky. Acts ch. 198 (HB 869), sec. 48 amended it to "acquisition and home equity indebtedness". The LRC codified the two together, effective July 15, 2026.
The LRC fiscal note describes the provision as decoupling from the "Deduction for interest paid on mortgage & home equity loans for more than the primary residence".
Federal home equity interest has been disallowed since 2018. P.L. 119-21 sec. 70108 made 26 U.S.C. 163(h)(3)(F)(i)(I) permanent. The federal deduction Kentucky starts from therefore already excludes home equity interest, and HB 869's wording changes nothing here. The binding rule is principal residence only.
Points are prepaid interest. Premiums are "treated ... as interest which is qualified residence interest" (163(h)(3)(E)). So Kentucky keeps principal-residence points and premiums (premiums after the federal phase-out) and drops second-residence ones. Max confirmed this treatment in decision d1070 on October 8: keep principal-residence mortgage-insurance premiums in the Kentucky deduction.
KRS 141.010(21) adopts the IRC in effect December 31, 2025 for TY2026. KRS 141.019(2) starts from federal deductions; (2)(j) adds the 2026 principal-residence ceiling and specifies no separate dollar or loan-vintage limit. The federal debt limits remain the starting point.
Design
Loan structure.
first_/second_home_mortgage_*balances and origination years describe two loans, not two residences: a second mortgage can sit on the main home. Main has merged #9605, removing the deprecated per-loan interest inputs; this PR uses only person-level interest, points, and premiums. Main's #10025 supplies_debt_by_vintageand_qualified_loan_limitfor the federal debt limits.Inputs. Three new Person inputs, disjoint from the existing ones. This follows the leaf-input rule: inputs are the granular facts, and the model derives the totals.
second_residence_mortgage_interesthome_mortgage_interestsecond_residence_mortgage_pointshome_mortgage_pointssecond_residence_mortgage_insurance_premiumsmortgage_insurance_premiumsAmounts whose residence is unknown stay in the existing inputs and count as principal-residence amounts. Datasets and API callers that don't split them get exactly today's results, in Kentucky too.
Federal. 163(h)(5)(A) pools both qualified residences, so the new inputs join the federal pool:
home_mortgage_interest_tax_unit;deductible_andnon_deductible_mortgage_interest_tax_unit;home_mortgage_interest_share;deductible_mortgage_insurance_premiums.The person-level principal- and second-residence interest inputs are summed directly; no deprecated structured-interest fallback remains.
Kentucky.
gov.states.ky.tax.income.deductions.itemized.principal_residence_interest_onlyis false before 2026 and true from 2026.ky_disallowed_second_residence_interestis the sum of two parts:ky_itemized_deductions_unit'ssubtracts, so it reaches both the joint and combined-separate paths.Accuracy. The cap equals a recomputation on the principal residence alone in either of these cases:
A property test checks the second case against the statutory limit. Otherwise it can differ in either direction, because the model doesn't record which loan secures which residence.
Also fixed: P.L. 119-21 inserted the vehicle-loan rule as 163(h)(4), so the qualified residence and qualified mortgage insurance definitions now sit in (h)(5)(A) and (E). The citations follow.
Invariants
These are stated and executed in
tests/core/test_second_residence_mortgage_properties.py. The test uses seeded draws over 48 Kentucky tax units, 5 paired scenarios, and TY2025 and TY2026.interest_deduction,itemized_deductions_less_saltand each person's allocation unchanged.interest_deduction.These mutations were run and caught:
Cost. I measured locally on macOS under host load, not on CI, running the points-branch property file and the uprating test with and without this file, twice each:
The file lands in the existing
coreRest group, and no runner was added.Tests before the merge
The following records describe verification before merging main. Current per-file results and migrated coverage are recorded in "Merge with main" below.
itemizing/interest_deduction.yaml, 4 cases:household/expense/tax_unit/home_mortgage_interest_tax_unit.yaml, 3 cases on pooling and the structured fallback.household/expense/person/home_mortgage_interest_share.yaml, 1 case on spouse allocation.ky_disallowed_second_residence_interest.yaml, 8 cases:ky_itemized_deductions_unit.yaml, 6 new cases:ky_itemized_deductions_indiv.yaml, 1 new case: spouses filing separately.test_uprating_series.pyregisters the three CPI-U inputs.test_batched.py;cf2d1f2338: the ceiling reading, citations, the fallback, test gaps, and anchors. Round 2 approved, served by GPT-6.1 Sol through Subfleet because the Claude lanes were closed. It recomputed all 27 YAML cases and found no blocker or major issue. Its four minor items are addressed: the qualified equality claim, the restored fallback case, cost before and after, and an anchor. An Opus check of those two follow-up commits (c42e0e7bf8,f734479be8) approved them at the current head.Microsimulation (2026, default dataset)
These figures describe
cf2d1f2338. The hub reran the impact at this PR's head,6f9480b4a8(basef9b55fc4dd, 2026, default dataset), with the same result: all 14 Kentucky and mortgage-interest variables it compared are unchanged on every record.I ran two real microsimulations for 2026 on the default dataset,
populace_us_2024.h5@populace-us-2024-spm-20260909, throughlockrun.sh:07227ea252, which wasmainwhen the points branch was cut;cf2d1f2338.I compared them record by record with
compare.py. Every compared variable is unchanged on every record, and the maximum absolute change is 0:income_tax($2.590T);state_income_tax($580.0B);household_net_income;ky_income_tax($5.097B);ky_itemized_deductions_unit($5.656B);ky_taxable_income_jointand_indiv;ky_tax_unit_itemizes;interest_deduction;itemized_deductions_less_saltanditemized_taxable_income_deductions;home_mortgage_interest_tax_unit;deductible_,non_deductible_and plainmortgage_interest;home_mortgage_interest_share;tax_unit_itemizes.On the branch,
ky_disallowed_second_residence_interestanddeductible_mortgage_insurance_premiumsare 0 for all 79,729 tax units: the dataset supplies none of the new inputs. Each run took about 4.5 minutes, with a 14 GB peak footprint.Related
Merge with main
Merged
gh/mainf9b55fc4dd05f1bed921a4dd06cb8c81f6ceb2c7in merge commit3adfb231812004be356ff7a0d8c575a6ed218e1b; the separate helper-migration commit is1453ef98f2a2f53af9d600fb98984cab8ad70c34. The original PR head wasf734479be8cb754353256c5dccb48f86c9fa231a; no commits were rebased or rewritten. The points/MIP input commits9b76c8b,869c0bf, andfe25c52are part of this PR and land with it.Conflict resolutions
variables/household/expense/tax_unit/mortgage_interest_structure.py: kept main's Apply federal mortgage debt limits by loan vintage, including grandfathered pre-1987 debt #10025 vintage grouping, qualified-loan-limit computation, origination-year conventions, and citations; kept this PR's points and second-residence pooling. Kept Remove the deprecated structured mortgage-interest inputs #9605's removal of per-loan interest inputs and replaced the fallback formula with the sum of the canonical person-level principal- and second-residence interest inputs. This preserves both main's corrected federal debt treatment and the PR's residence split.variables/household/expense/person/home_mortgage_interest_share.py: combined the documentation for main's filer-only allocation and dependent-only equal-share fallback with this PR's interest and points on both residences. The merged formula masks the combined reported amounts to head/spouse before allocating, preserving conservation and keeping dependent allocations at zero.tests/policy/baseline/gov/irs/income/taxable_income/deductions/deductible_mortgage_interest.yaml: kept all main cases and outputs, including spouse/dependent allocation and debt limits, plus all five points cases from the PR. The file now has 16 passing cases.The associated #9605 compatibility updates remove the obsolete legacy fixture scenario and removed tax-unit interest inputs from both property files. Three Kentucky fallback examples now supply canonical principal-residence interest, preserving their economic assertions. The pooling YAML now tests second-residence-only interest and spouse aggregation. The Kentucky variable documentation no longer claims that removed inputs are accepted.
Helper migration and Kentucky treatment
Every use of
_mortgage_balance_capand_limited_mortgage_balancehas been migrated. The points/premiums property fixture now groups both loans with_debt_by_vintage, then calls_qualified_loan_limitwith the grandfathered, pre-TCJA and post-TCJA debt totals and the corresponding federal filing-status limits. Its zero-balance share remains one. Seeded draws now cover unknown years and the 1987/1988 and 2017/2018 boundaries; the reference share is namedbaseline_deductible_share.Kentucky's parameter and principal-residence ceiling remain unchanged: the restriction starts in TY2026. KRS 141.019(2)(j) supplies no independent dollar or loan-vintage limit; its federal starting point follows the IRC conformity in KRS 141.010(21). New Kentucky cases pin uncapped pre-1987 interest/points and mixed-vintage federal limits before the residence ceiling.
Decision d1070 is preserved. Existing YAML already retains principal-residence mortgage-insurance premiums. The phase-out case now additionally asserts
ky_itemized_deductions_unit: 810: $900 principal premiums × 90%, after removing only the second residence's $270 deduction from the $1,080 federal premium deduction.Verification at the merged head
265 tests passed across 15 distinct files: 143 Python tests and 122 YAML cases. This covers every added/changed PR test file, every #10025 test file on main, and all four Kentucky mortgage-related YAML files found with
rgundertests/policy/baseline/gov/states/ky/tax/income/(deduplicated in the table).Each file ran separately, sequentially, in the foreground, with this checkout on
PYTHONPATHandOMP_NUM_THREADS=4 OPENBLAS_NUM_THREADS=4 MKL_NUM_THREADS=4 VECLIB_MAXIMUM_THREADS=4 NUMEXPR_NUM_THREADS=4 OMP_WAIT_POLICY=PASSIVE. YAML files usedpython -m policyengine_core.scripts.policyengine_command test <file> -c policyengine_us; Python files usedpython -m pytest -q <file>.policyengine_us/tests/core/test_mortgage_points_and_premiums_properties.pypolicyengine_us/tests/core/test_second_residence_mortgage_properties.pypolicyengine_us/tests/core/test_uprating_series.pypolicyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/deductible_mortgage_interest.yamlpolicyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/itemizing/deductible_mortgage_insurance_premiums.yamlpolicyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/itemizing/interest_deduction.yamlpolicyengine_us/tests/policy/baseline/gov/states/ky/tax/income/deductions/ky_disallowed_second_residence_interest.yamlpolicyengine_us/tests/policy/baseline/gov/states/ky/tax/income/deductions/ky_itemized_deductions_indiv.yamlpolicyengine_us/tests/policy/baseline/gov/states/ky/tax/income/deductions/ky_itemized_deductions_unit.yamlpolicyengine_us/tests/policy/baseline/household/expense/person/home_mortgage_interest_share.yamlpolicyengine_us/tests/policy/baseline/household/expense/tax_unit/home_mortgage_interest_tax_unit.yamlpolicyengine_us/tests/core/test_mortgage_debt_limit_invariants.pypolicyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/deductible_mortgage_interest_tax_unit.yamlpolicyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_itemized_deductions_joint.yamlpolicyengine_us/tests/policy/baseline/gov/states/ky/tax/income/integration.yamlmake formatpassed before both commits; the final run left 7,326 files unchanged and all lint checks passed. The hub reran the impact at the head (see Microsimulation).Review r1: responses
Confirmed the reviewed branch head
1453ef98f2a2f53af9d600fb98984cab8ad70c34.gh/mainremainsf9b55fc4dd05f1bed921a4dd06cb8c81f6ceb2c7;git merge gh/mainreported “Already up to date,” so this round has no new merge resolutions. The earlier main-merge resolutions and the Kentucky cap remain intact.The audit follows every direct federal interest reader, aggregate itemized reader, parameter source list, dynamic state route, and federal-taxable-income reader. It covers 32 affected jurisdictions, including DC and Vermont's indirect capital-gain cap. The other 19 states have no affected reader. Existing Louisiana medical-only treatment from 2022 and South Carolina's removal of federal itemization from 2026 already prevent premiums from entering those deductions.
New YAML examples use both residences, phased-out premiums, payer allocation, relevant year boundaries, and North Carolina's overall cap. All corrections have recorded failures against the reviewed source before applying the fixes. Iowa's fixtures explicitly suppress unrelated computed SALT. The initial case-sensitive Montana filter selected no cases; corrected runs reproduced both new failures in every sibling formula.
Methodology
Decision d1693 (2026-10-19) accepted all four open readings as built: the three in this table, and New York's continued exclusion of 2026 premiums (an inference, since New York has no 2026 forms yet; see the notes below). New York gets rechecked when its 2026 IT-196 is published.
Decision d1070 settled the premiums question: keep principal-residence premiums after the federal phase-out; remove the second residence's share. The phase-out witness retains $810. Equal rates establish equivalence only with the same federal debt-limit regime and debt-proportional points (or no points); fully deductible combined debt is the other equivalence case.
Refreshed the rulespec methodology in rulespec-us#1543.
State premium audit
Qualified federal premiums are deductible through 2021, zero in 2022–2025, and restored from 2026. Retained amounts are after the federal phase-out and remain subject to state limits. Hawaii uses its own AGI phase-out.
al_interest_deductionseparate calculationar_itemized_deductions_joint/ar_itemized_deductions_indivuse source lists containinginterest_deductionaz_itemized_deductionsdynamically sums federal itemized components, retaininginterest_deductionca_itemized_deductions_pre_limitationsums federal components, includinginterest_deductionco_taxable_incomestarts from federaltaxable_income;co_federal_deduction_addbackalso reads federal itemized amountdc_itemized_deductionsreadsitemized_deductions_less_saltde_itemized_deductions_unitsource list containsinterest_deduction; separate-filing formula allocates componentsga_deductionsreads federalitemized_taxable_income_deductions; sharedstate_itemized_deductionsfederal branchhi_interest_deductionseparate calculationia_itemized_deductions_unit: pre 2023itemized_deductions_less_salt; from 2023 sum federal components; consolidated taxable-income route also uses federal taxable incomeid_itemized_deductionsreads claimed/total federal itemized deductionsks_itemized_deductionsreadsitemized_deductions_less_saltky_itemized_deductions_unitstartsitemized_deductions_less_saltand principal-residence interest capla_itemized_deductionssource list containsitemized_taxable_income_deductionsthrough 2021; medical-only list from 2022md_itemized_deductionsreadsitemized_deductions_less_saltme_itemized_deductions_pre_phaseoutreadsitemized_deductions_less_saltmn_itemized_deductionsreadsitemized_deductions_less_saltbefore state reductionmo_itemized_deductionsparameter startsitemized_taxable_income_deductions; additional indirect federal-taxable-income cap inmo_qualified_health_insurance_premiumsms_itemized_deductions_unitreadsitemized_deductions_less_saltnc_mortgage_and_property_tax_before_limitationseparate mortgage-interest calculationnd_taxable_incomeuses federaltaxable_income_deductions; shared federal state-itemized branchne_itemized_deductionsreadsitemized_deductions_less_saltnm_itemized_deductionsreadstotal_itemized_taxable_income_deductions;nm_salt_add_backuses less-SALT totalny_itemized_deductions_maxdirectly addsinterest_deductionok_itemized_deductionsreadsitemized_deductions_less_saltor_itemized_deductionsreadsitemized_deductions_less_saltsc_taxable_incomefederal taxable income through 2025;sc_state_tax_addbackalso reads federal itemized amountsciad.in_effecttrue from 2026 andsc_taxable_incomestarts from AGI. No premium deduction or new adjustment needed 2026.ut_federal_deductions_for_taxpayer_creditreads federal claimed/derived itemized totals; shared state-itemized branchva_itemized_deductionsreadsitemized_deductions_less_salt;va_reduced_itemized_deductionssumsinterest_deductionvia parameter listvt_capital_gains_exclusioncaps exclusion usingtaxable_incomewi_itemized_deduction_credit_potentialreadsitemized_deductions_less_saltThe NC 2026 conclusion follows enacted law; its 2026 forms are not yet published. NM/ND 2026 carry-through is a conformity inference from their federal bases. NY’s continued 2026 exclusion is also an inference from the restoration’s placement in §163(h)(3)(F) and the state’s pre-TCJA computation, pending 2026 forms. The archived Utah 2021 and Montana 2021 instructions were checked through official indexed text where PDF endpoints were unavailable; current Utah law independently confirms the credit base. Vermont's current statute separately states the federal-income cap for pre-2026 and 2026 periods.
Verification
Verified the final source at
b5ab1fb4cb3a3b0d04fe1e861b5db7ef57836064: 401 tests passed across 30 distinct files: 143 Python tests and 258 YAML cases. This includes every changed test file and the complete main-merge report table, deduplicated. The changes add 62 YAML cases. Targeted fail-before runs at1453ef98f2produced 36 expected failures and 28 passes across 15 files. The table distinguishes targeted before runs from full-file after runs.Every test ran separately, sequentially, in the foreground, using the prescribed interpreter with this checkout on
PYTHONPATHandOMP_NUM_THREADS=4 OPENBLAS_NUM_THREADS=4 MKL_NUM_THREADS=4 VECLIB_MAXIMUM_THREADS=4 NUMEXPR_NUM_THREADS=4 OMP_WAIT_POLICY=PASSIVE. Python files used-m pytest -q -p no:cacheprovider; YAML files used-m policyengine_core.scripts.policyengine_command test <file> -c policyengine_us.policyengine_us/tests/core/test_mortgage_points_and_premiums_properties.pypolicyengine_us/tests/core/test_second_residence_mortgage_properties.pypolicyengine_us/tests/core/test_uprating_series.pypolicyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/deductible_mortgage_interest.yamlpolicyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/itemizing/deductible_mortgage_insurance_premiums.yamlpolicyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/itemizing/interest_deduction.yamlpolicyengine_us/tests/policy/baseline/gov/states/ky/tax/income/deductions/ky_disallowed_second_residence_interest.yamlpolicyengine_us/tests/policy/baseline/gov/states/ky/tax/income/deductions/ky_itemized_deductions_indiv.yamlpolicyengine_us/tests/policy/baseline/gov/states/ky/tax/income/deductions/ky_itemized_deductions_unit.yamlpolicyengine_us/tests/policy/baseline/household/expense/person/home_mortgage_interest_share.yamlpolicyengine_us/tests/policy/baseline/household/expense/tax_unit/home_mortgage_interest_tax_unit.yamlpolicyengine_us/tests/core/test_mortgage_debt_limit_invariants.pypolicyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/deductible_mortgage_interest_tax_unit.yamlpolicyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_itemized_deductions_joint.yamlpolicyengine_us/tests/policy/baseline/gov/states/ky/tax/income/integration.yamlpolicyengine_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions_indiv.yamlpolicyengine_us/tests/policy/baseline/gov/states/ar/tax/income/deductions/itemized/ar_itemized_deductions_joint.yamlpolicyengine_us/tests/policy/baseline/gov/states/ca/tax/income/deductions/itemized/ca_itemized_deductions_pre_limitation.yamlpolicyengine_us/tests/policy/baseline/gov/states/de/tax/income/deductions/itemized/de_itemized_deductions_indv.yamlpolicyengine_us/tests/policy/baseline/gov/states/ia/tax/income/ia_itemized_deductions_unit.yamlpolicyengine_us/tests/policy/baseline/gov/states/mn/tax/income/mn_itemized_deductions.yamlpolicyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_itemized_deductions_for_federal_itemization_indiv.yamlpolicyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/federal_itemization/mt_itemized_deductions_for_federal_itemization_joint.yamlpolicyengine_us/tests/policy/baseline/gov/states/mt/tax/income/deductions/itemized/mt_itemized_deductions_indiv.yamlpolicyengine_us/tests/policy/baseline/gov/states/wi/tax/income/wi_itemized_deduction_credit.yamlpolicyengine_us/tests/policy/baseline/gov/states/al/tax/income/deductions/itemized/al_interest_deduction.yamlpolicyengine_us/tests/policy/baseline/gov/states/hi/tax/income/deductions/itemized/hi_interest_deduction.yamlpolicyengine_us/tests/policy/baseline/gov/states/ny/tax/income/taxable_income/deductions/itemized/ny_itemized_deductions_max.yamlpolicyengine_us/tests/policy/baseline/household/expense/person/deductible_mortgage_insurance_premiums_indiv.yamlpolicyengine_us/tests/policy/baseline/gov/states/nc/tax/income/deductions/nc_mortgage_and_property_tax_before_limitation.yamlFull-file verification also caught Core's empty-list
add()result in Iowa; empty dated exclusion lists now skip subtraction in Iowa, Arkansas, and Minnesota. Iowa's ordinary conforming-year cases and all changed state files pass.make formatpassed before each of the three commits; the final run left 7,331 files unchanged and lint passed.git diff --checkpassed. No microsimulation was run in this sandbox; the impact rerun remains with the hub.Round 2 follow-up verification at
6f9480b4a8efdad21cbe1f3a4a85125988d9b843: 35 YAML cases passed across five files (NY 5; AR individual 8 and joint 9; WI 6; HI 7). Each file ran separately, sequentially, in the foreground with this checkout onPYTHONPATHandOMP_NUM_THREADS=4 OPENBLAS_NUM_THREADS=4 MKL_NUM_THREADS=4 VECLIB_MAXIMUM_THREADS=4 NUMEXPR_NUM_THREADS=4 OMP_WAIT_POLICY=PASSIVE.make formatpassed (7,331 files unchanged; lint passed), andgit diff --checkpassed.The existing uncapped
mortgage_interestcalculations inal_investment_interest.py,nc_mortgage_and_property_tax_before_limitation.py, andhi_interest_deduction.pypredate this PR and remain for a separate follow-up PR.Axiom
axiom: TheAxiomFoundation/rulespec-us#1543 queued. The signed encoder run is OpenAI-billed and needs its own approval, and nothing encodes §163(h)(3) to import yet. The issue is dispatch-ready: it has the corpus citation
us-ky/statute/krs/141.019/document-1, the verbatim law, the required outputs, areview_finding, and companion tests matching this PR's YAML.🤖 Generated with Claude Code