Skip to content

Pause Colorado's family affordability credit in 2026 and leave Idaho's expired child tax credit out of 2026 totals - #10051

Open
MaxGhenis wants to merge 8 commits into
mainfrom
credits-2026-id-ctc-co-fatc
Open

MaxGhenis wants to merge 8 commits into
mainfrom
credits-2026-id-ctc-co-fatc

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Colorado's refundable family affordability credit still paid out in 2026, while Idaho's expired child tax credit still counted in state child tax credit reporting:

Change Rule Source
gov.states.co.tax.income.credits.family_affordability.amount: $3,273 in 2025, $0 from 2026 No family affordability credit for tax year 2026 C.R.S. 39-22-130(6)(f) (HB24-1311, p.10): with forecast revenue growth "LESS THAN THREE PERCENT, NO CREDIT IS ALLOWED"; the Department of Revenue "will temporarily pause the Family Affordability Tax Credit for Tax Year 2026" (FAQ)
gov.states.household.state_ctcs: drop id_ctc from 2026 Idaho's child tax credit ended after 2025 Idaho Code 63-3029L(1): "For taxable years beginning on or after January 1, 2018, and before January 1, 2026"

The Colorado change removes a refundable credit the model was still paying in 2026 (the age multiplier scales the base amount, so the older-child amount, $2,455 in 2025, is also $0).

Idaho's applied credit was already zero in 2026: the nonrefundable credit list drops id_ctc from 2026, and the two contributed reforms that revive the credit (gov.contrib.states.id.ctc, S1450) add it back to that list. The expired worksheet amount still counted in the baseline state child tax credit totals (taxsim_state_ctc), which now leave it out from 2026. id_ctc keeps its $205 amount and documents that it is the worksheet amount a reform can revive. Its label is now "Idaho child tax credit worksheet amount"; no code keys on the old label.

Both revival reforms also restore id_ctc to state child tax credit reporting, preserving their aggregate outputs. The ordinary/refundable revival uses its existing activation date, so reporting remains zero before delayed activation. Later changes to other states' reporting entries, including Rhode Island's 2027 credit, remain intact. Existing reform tests now cover these totals without adding a model setup or counting the refundable top-up twice.

Found while auditing the claimable-filer rules (#10049, #10050); these are not dependency rules, so they are separate. Branched from main.

Legislative Council Staff confirm the 2026 pause and project adjustment factors of 2.78% for 2027 and 2.71% for 2028, also below the 3% trigger (R26-322, p.3). The parameter cites the 2026 applicability lead-in and trigger rule together (HB24-1311, pp.7,10) and carries $0 forward pending a later determination. HB26-1223, p.3 creates a separate credit (C.R.S. 39-22-131) from 2027 that the model does not have.

Partner contract tests

The 2026 Colorado pause removes positive API outputs covered by 12 cases and 21 assertions, listed below. Ziming (hua7450) approved these exact 21 expected-output changes on 2026-10-13, and they are now included in this PR. File paths are relative to policyengine_us/tests/policy/baseline/partners/; every changed output is people.<person>.co_family_affordability_credit in 2026. Old values are the previous contract expectations. New values follow from the 2026 base amount of zero: the formula multiplies that amount by finite eligibility, age, and phaseout factors. All listed fixtures have ordinary finite inputs and no reform overrides. No other values in these files were changed.

File (relative to policyengine_us/tests/policy/baseline/partners/) Case Person Old expectation New value
analytics_coverage/edge_cases/state/co/family_affordability_credit.yaml co_family_affordability_age_multiplier_ladder_5_6_17 (co) child1 3273.00 0
analytics_coverage/edge_cases/state/co/family_affordability_credit.yaml co_family_affordability_age_multiplier_ladder_5_6_17 (co) child2 2454.75 0
analytics_coverage/edge_cases/state/co/family_affordability_credit.yaml co_family_affordability_joint_agi_at_26k_threshold_full_credit (co) child1 3273.00 0
analytics_coverage/edge_cases/state/co/family_affordability_credit.yaml co_family_affordability_joint_agi_26k_plus_1_first_increment (co) child1 3047.98 0
analytics_coverage/edge_cases/state/co/tax_credits_composition.yaml statetax_size_3_single_parent_2_children (co) child1 2285.99 0
analytics_coverage/edge_cases/state/co/tax_credits_composition.yaml statetax_size_3_single_parent_2_children (co) child2 3047.98 0
analytics_coverage/edge_cases/state/co/tax_credits_composition.yaml statetax_size_4_couple_2_children (co) child1 2454.75 0
analytics_coverage/edge_cases/state/co/tax_credits_composition.yaml statetax_size_4_couple_2_children (co) child2 3273.00 0
analytics_coverage/edge_cases/state/co/eitc_ctc.yaml co_eitc_ctc_single_parent_agi_40k_mid_bracket (co) child1 2147.91 0
analytics_coverage/signatures/co.yaml signature_2 (62 reqs, +8 dupes) child1 1610.93 0
analytics_coverage/signatures/co.yaml signature_2 (62 reqs, +8 dupes) child2 2147.91 0
analytics_coverage/signatures/co.yaml signature_16 (13 reqs, +8 dupes) child1 1610.93 0
analytics_coverage/signatures/co.yaml signature_16 (13 reqs, +8 dupes) child2 2147.91 0
analytics_coverage/signatures/co.yaml signature_26 (9 reqs) child1 1610.93 0
analytics_coverage/signatures/co.yaml signature_26 (9 reqs) child2 2147.91 0
analytics_coverage/signatures/co.yaml signature_92 (3 reqs, +1 dupes) child1 1610.93 0
analytics_coverage/signatures/co.yaml signature_92 (3 reqs, +1 dupes) child2 2147.91 0
analytics_coverage/signatures/co.yaml signature_108 (2 reqs) child1 1610.93 0
analytics_coverage/signatures/co.yaml signature_108 (2 reqs) child2 2147.91 0
analytics_coverage/signatures/co.yaml signature_124 (2 reqs, +1 dupes) child1 1610.93 0
analytics_coverage/signatures/co.yaml signature_124 (2 reqs, +1 dupes) child2 2147.91 0

The age-17 child in the ladder already expects $0. The fully phased-out FATC case also stays at $0. A scan of all partner fixtures found no positive FATC assertions outside these four files, and no Idaho partner fixture or id_ctc / taxsim_state_ctc assertion.

Tests

Local targeted verification at a4a765a2e1436d3c6c2298a9b2968d62e41626cd, after merging upstream main at dc925ce7205e098cd59be3091ef22766f4b34b66 with no conflicts. Each file ran alone in a foreground process with the requested four-thread caps.

File Result
policyengine_us/tests/test_aggregate_list_integrity.py 22 passed
policyengine_us/tests/code_health/test_source_conflicts.py 103 passed
policyengine_us/tests/policy/baseline/gov/states/co/tax/income/credits/family_affordability/co_family_affordability_credit.yaml 6 passed
policyengine_us/tests/policy/baseline/gov/states/id/tax/income/credits/id_ctc.yaml 10 passed
policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/co/family_affordability_credit.yaml 4 passed
policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/co/tax_credits_composition.yaml 2 passed
policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/co/eitc_ctc.yaml 2 passed
policyengine_us/tests/policy/baseline/partners/analytics_coverage/signatures/co.yaml 6 passed

155 tests passed across all eight files. The four contract files passed all 14 cases and 370 scalar output assertions; their only edits are the 21 approved 2026 FATC values. The aggregate-list guard now explicitly allows Idaho's intentional 2026 expiration. make format (formatting and lint) passed before both new commits.

The contributed reform activation Python and YAML files were not rerun as part of this targeted review update.

Hub microsimulation impact (measured at 1e71253423)

A real microsimulation on the default dataset, main at the merge base 35f3c1f92a against the PR's then-head 1e71253423, for 2026. Since then, the PR's own changes to variables and parameters are comments, references and a label only, so its effect is unchanged, apart from any interaction with changes main has made since; the rest is the main merge and the partner-test values. The runs went one at a time under the shared heavy-job lock. Sums are weighted.

Output 2026 change 2026 records changed (weighted)
co_family_affordability_credit -1.15bn 381 (577,225)
co_refundable_credits -1.15bn 209 (307,376)
co_income_tax +1.15bn 209 (307,376)
id_ctc +0 0 (0)
id_income_tax +0 0 (0)
state_income_tax +1.15bn 209 (307,376)
income_tax +0 0 (0)
household_net_income -1.15bn 206 (297,049)
household_benefits +0 0 (0)

Comparison files are in fixes/10051-impact/ on the hub host.

axiom: TheAxiomFoundation/rulespec-us#1698 queued; TheAxiomFoundation/rulespec-us#1704 queued

🤖 Generated with Claude Code

…ffordability credit in 2026

- Idaho Code 63-3029L(1) allows the $205 credit only for taxable years
  beginning "before January 1, 2026"; the model kept paying it.
- C.R.S. 39-22-130(6)(f) (HB24-1311) allows no family affordability credit
  when forecast revenue growth is below three percent, and the Department of
  Revenue "will temporarily pause the Family Affordability Tax Credit for Tax
  Year 2026"; the model kept paying $3,273 per young child.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… state child credit totals

The nonrefundable credit list already leaves Idaho's child tax credit out
from 2026, and both contrib reforms revive it by adding it back, so zeroing
the amount broke them. The only remaining place the expired credit showed up
was the state child tax credit totals (`taxsim_state_ctc`), which now leave it
out from 2026. `id_ctc` documents that it is the worksheet amount a reform can
revive. Also points the Colorado family affordability amount at the 2025
DR 0104CN, page 3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis MaxGhenis changed the title End Idaho's child tax credit after 2025 and pause Colorado's family affordability credit in 2026 Pause Colorado's family affordability credit in 2026 and leave Idaho's expired child tax credit out of 2026 totals Oct 10, 2026
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

@hua7450, a partner-contract change for your go (the policyengine-us partner-test gate).

What moves. Colorado's family affordability credit is $0 for tax year 2026 under C.R.S. 39-22-130(6)(f) (HB24-1311, p. 10): the credit pays only when forecast revenue growth clears the statute's threshold, and it doesn't for 2026. The model still paid it in 2026. With this PR, co_family_affordability_credit@2026 becomes 0 in 12 Amplifi analytics-coverage cases (21 assertions). The PR description lists each case with its old and new values. The hub ran the four files at this head (1e71253423), one process each:

File (under policyengine_us/tests/policy/baseline/partners/analytics_coverage/) Cases that change Old 2026 value(s)
edge_cases/state/co/family_affordability_credit.yaml 3 3,273; 3,273; 3,047.98
edge_cases/state/co/tax_credits_composition.yaml 2 2,285.99; 2,454.75
edge_cases/state/co/eitc_ctc.yaml 1 2,147.91
signatures/co.yaml 6 1,610.93 each

Every new value is 0. Nothing else in these files moves.

The three questions:

  1. Are you sure you want these partner test files edited to the new values?
  2. Has a team member been notified?
  3. Has the API partner (Amplifi) been notified?

Once you approve, the hub updates the 21 expectations in this PR and lands it on the usual gates. If the partner should hear first, say so and the hub holds.

@hua7450

hua7450 commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator

Partner cases. The 21 values going to 0 are correct. C.R.S. 39-22-130(6)(f) allows no credit when the estimated adjustment factor is below 3% (HB24-1311, p. 10), and Legislative Council Staff confirm that the December 2025 forecast put the FY 2026-27 factor below 3%, so the credit is unavailable for tax year 2026 (memo R26-322, p. 3). Yes to the three partner-test questions. Please update the four files; I'll review once that's pushed.

@hua7450 hua7450 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review at 1e71253423: the policy checks out; one CI fix

Both changes match the law. C.R.S. 39-22-130(6)(f) allows no family affordability credit when the adjustment factor is below 3% (HB24-1311, p. 10), and Legislative Council Staff find it below 3% for tax year 2026 (R26-322, p. 3). Idaho Code 63-3029L(1) allows the $205 credit only for taxable years "before January 1, 2026". Only the 21 partner assertions I approved change.

Please fix

  • test_aggregate_list_integrity.py will fail once this leaves draft: the 2026 block of state_ctcs.yaml drops id_ctc, and ALLOWED_REMOVALS has no entry for it. Add ("gov/states/household/state_ctcs.yaml", "2026-01-01"): {"id_ctc"}.
  • Push the partner-file updates approved on 10-13 (the 21 co_family_affordability_credit values to 0).

Optional

  • family_affordability/amount.yaml: cite R26-322 p. 3 for the 2026 determination, add HB24-1311 p. 7 (the (6) lead-in) to the p. 10 reference, and note that 2027 and later stay at $0 on the LCS projection (2.78% for 2027, 2.71% for 2028). The changelog says "for 2026", but the value is $0 from 2026 on.
  • id_ctc still returns $205 per child in 2026 under the label "Idaho Child Tax Credit"; "Idaho child tax credit worksheet amount" would match its new documentation.

@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Ziming, thanks: this answers your 10-20 review at a4a765a2.

  • CI fix: main is merged (dc925ce7, no conflicts), and test_aggregate_list_integrity.py now has the ("gov/states/household/state_ctcs.yaml", "2026-01-01"): {"id_ctc"} exception. The test passes (22).
  • Partner files: exactly the 21 co_family_affordability_credit expectations you approved on 10-13 are now 0. Every other assertion in those four files passes unchanged (370 assertions).
  • Optional items: amount.yaml now cites R26-322 p. 3 and HB24-1311 pp. 7 and 10, and notes that 2027–2028 stay at $0 on the LCS projection. The changelog says "from 2026". After checking that nothing keys on the label, id_ctc is relabeled "Idaho child tax credit worksheet amount".

An independent review of this commit is queued, and the PR is out of draft so CI can run. Could you take another look when you have a moment?

@MaxGhenis
MaxGhenis marked this pull request as ready for review October 23, 2026 03:51
@MaxGhenis
MaxGhenis requested a review from hua7450 October 23, 2026 03:51
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Ziming, one small follow-up on the partner files. An independent review of a4a765a2 approved the PR, and noted that some explanatory comments in the partner fixtures still describe the 2026 calculation as nonzero (a $3,273 base) beside the new zero assertions. Examples are edge_cases/state/co/family_affordability_credit.yaml around line 139, and similar comments in the composition and EITC/CTC files. Only the comments are stale: the expected values are the ones you approved.

Would you like us to update those comments in this PR to say the credit is zero in 2026 under the 3% trigger, or leave the partner files as they are? We won't touch them without your go.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants