Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…raction-worksheet
…ndable credits only ORS 316.680(1)(b) and 316.685; Publication OR-17 federal tax worksheet, Part A (2017-2025). The worksheet starts from Form 1040 line 22 plus the other income taxes on Schedule 2, lines 8, 16 and 17, and subtracts only the American Opportunity credit, the premium tax credit, and in 2020-2021 the recovery rebate credit and (2021) the refundable child tax and child care credits. Main used income_tax + eitc, so it subtracted the additional child tax credit in every year, never subtracted the premium tax credit, and kept the net investment income tax. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bounds, independence from the EITC (and the ACTC outside 2021), and 1-Lipschitz responses to listed credits and federal tax, checked with Hypothesis on batches of twin tax units in one simulation per example. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
WIP (draft). Pending: targeted YAML runs (queued under the hub heavy lock), main-vs-branch households, the microsimulation (held by Fleet ops), an independent review and the Axiom parity item.
What changes
Oregon lets residents subtract their federal income tax liability, capped by federal AGI (ORS 316.680(1)(b), 316.685, 316.695). Main computed it as
max(0, income_tax + eitc). That reduces the liability by every federal refundable credit except the EITC, including the additional child tax credit. It also counts the net investment income tax and never subtracts the premium tax credit, because PE keeps that credit out ofincome_tax.Each year's Publication OR-17 federal tax worksheet (Part A) does it differently:
The branch adds
gov.states.or.tax.income.subtractions.federal_tax_liability.refundable_credits, dated per worksheet, and computesmax(0, income_tax_before_refundable_credits − net_investment_income_tax − unreported_payroll_tax − listed credits), then applies the existing cap.Law
Where it matters
A positive
refundable_ctc(outside 2021) means the CTC exhausted the liability that limits it, so Form 1040 line 22 is already zero. The additional child tax credit therefore changes the subtraction only when there are line 4 taxes, such as the 10% early-distribution tax. The premium tax credit is the larger change: marketplace enrollees who owe federal tax had their subtraction overstated by the credit. The net investment income tax rarely binds, because the AGI cap reaches zero ($145,000 single; $290,000 joint) at or below the tax's $200,000/$250,000 thresholds.Coordination
#10038 (draft) adds
claim_of_right_creditback toincome_tax + eitchere. This PR replaces that formula: the worksheet list never subtracts the section 1341 credit, so #10038's Oregon edit becomes unnecessary. Whichever merges second drops #10038's Oregon formula change and moves its test input fromincome_taxtoincome_tax_before_refundable_credits.Tests
(pending)
Microsimulation
(pending; Fleet ops hold)
Invariants
For every input, with
T= federal tax before refundable credits andcap= the AGI-based limit:0 ≤ subtraction ≤ min(T, cap).dlowers the subtraction by at mostd, and never raises it.Tbydraises the subtraction by at mostd, and never lowers it.policyengine_us/tests/core/test_or_federal_tax_liability_subtraction_invariants.pychecks all four with Hypothesis for 2020, 2021 and 2025. Each example evaluates 6 tax units and their 4 variants in one simulation.axiom: (pending)
🤖 Generated with Claude Code