Repository navigation
Pay no Colorado sales tax refund for tax year 2026 (C.R.S. 39-22-2003(2)) - #9946
Merged
Merged
Conversation
C.R.S. 39-22-2003(2) allows the state sales tax refund for a tax year only "if there were excess state revenues for the fiscal year ending in that tax year". FY 2025-26 ended below the Referendum C cap: the LCS June 2026 forecast (Table 9) showed $0 in every tax year 2026 tier, and on 2026-09-08 the State Controller certified a $175.9 million shortfall. policyengine-us had no such condition and carried the tax year 2025 tier table ($19 to $59 per person) into 2026. Add gov.states.co.tax.income.credits.sales_tax_refund.in_effect (false for 2026; true again from 2027, when the LCS June 2026 forecast expects the six-tier refund to apply) and multiply the refund by it. Tests: 2026 single and joint cases and a scenario_043 household with no Colorado refundable credits (PolicyBench reference audit 2026-10-05), plus Hypothesis invariants: zero refund in 2026, the 2025 refund equals eligible filers times the LCS March 2026 Table 8 tier, bounds, and the intended carry-forward of the 2025 table into 2027. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Key every input by all three years so each Hypothesis draw and the seeded population build one simulation instead of three, per the repository's CI-cost rules. Locally (macOS, load average about 60) the file takes 25.6 s of user CPU for the whole pytest process including the model import, with 0.91 GB peak RSS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9946 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 4 1 -3
Lines 76 17 -59
Branches 2 1 -1
=========================================
- Hits 76 17 -59
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…er boundary The review of this PR found that the invariants test pinned the 2027 refund to the 2025 tier amounts. Those amounts are a placeholder until CDOR publishes the tax year 2027 table, and LCS's September 2026 forecast projects $43 for the lowest single tier against the $19 carried forward. - Drop that check from the invariants test and its docstring. - Label the 2027 values as placeholders in in_effect.yaml. - Add YAML cases showing a $0 refund for an eligible single filer at every 2025 tier boundary in tax year 2026. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Handing off to the US + core hub.
Nothing is pending from the opening session. |
Contributor
Author
|
US + core hub merge audit, us#9946 at
|
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.
Summary
policyengine-us paid Colorado's six-tier state sales tax refund in tax year 2026 by carrying the tax year 2025 table forward ($19 to $59 per eligible filer). No tax year 2026 refund exists: the statute pays it only when the fiscal year ending in that tax year had excess state revenues, and FY 2025-26 did not.
The law
The defect
co_sales_tax_refundmultiplied the eligible-filer count by the tier amount with no test of the subsection (2) condition, andamount/scale.yamlhas no 2026 entry, so the 2025 amounts carried into 2026.The fix
gov.states.co.tax.income.credits.sales_tax_refund.in_effect: true from 2021, false for 2026, true again from 2027 (the LCS June 2026 forecast expects the six-tier refund for tax years 2027 and 2028).co_sales_tax_refundmultiplies the refund by it.The 2027 setting keeps the model's existing behavior for 2027 on (the 2025 tier table carried forward until CDOR publishes each year's table). LCS projects somewhat higher 2027 amounts ($21 to $65 single, at higher thresholds); encoding forecast amounts is out of scope here. This PR does not touch
co_tabor_cash_back, which #9584 handles.Invariants
In
policyengine_us/tests/core/test_co_sales_tax_refund_invariants.py: Hypothesis draws batches of single, joint and head-of-household units (modified AGI from -$50,000 to $400,000 plus tier edges, filer ages 14 to 90, wages), plus a seeded population of 100 units, each run as one vectorized simulation per year.Tests
co_sales_tax_refund.yaml: 2026 single (scenario_043 shape: age 66, modified AGI $4,625) and 2026 joint, highest tier, both $0; a scenario_043 household (age 66, $4,088 wages, $553 taxable pension) withco_eitc$0,co_sales_tax_refund$0 andco_refundable_credits$0.mainthe three new cases fail with $19, $118 and $19.sales_tax_refund/YAML 41 passed; invariants 2 passed.Evidence
PolicyBench reference audit, scenario_043 ×
state_refundable_credits: the reference was $19 and the law gives $0 (39 of 46 models answered $0).PolicyEngine/policybench-wt/reference-adversary/reference_audit/2026-10-05-reference-adversary/verification/independent/co_043.md.../reference_audit/2026-10-05-reference-adversary/runs/claude/cases/us__scenario_043__state_refundable_credits/Impact
Removes every Colorado sales tax refund in tax year 2026 (previously $19 to $59 per eligible filer, doubled for two eligible spouses). Other years are unchanged.
axiom: C.R.S. 39-22-2003(2) queued: rulespec-us
us-co/statutes/39/39-22-2003.yamlencodes the qualified-individual rules but defers the refund amount and has no excess-state-revenues condition; thepe-parityissue link is added here before merge.🤖 Generated with Claude Code