Skip to content

Comments

Add Connecticut refundable child tax credit (HB 5134)#7432

Open
DTrim99 wants to merge 4 commits intoPolicyEngine:mainfrom
DTrim99:ct-refundable-ctc
Open

Add Connecticut refundable child tax credit (HB 5134)#7432
DTrim99 wants to merge 4 commits intoPolicyEngine:mainfrom
DTrim99:ct-refundable-ctc

Conversation

@DTrim99
Copy link
Collaborator

@DTrim99 DTrim99 commented Feb 18, 2026

Summary

Implements Connecticut HB 5134 (2026 session) as a reform - a refundable child tax credit against the personal income tax.

Bill Reference: https://www.cga.ct.gov/2026/TOB/H/PDF/2026HB-05134-R00-HB.PDF

Credit Details

Parameter Value
Amount per child $600
Maximum children 3
Child age limit Under 18
Income threshold (single/HOH/separate) < $100,000
Income threshold (joint/surviving spouse) < $200,000
Refundable Yes

Files Added

Parameters (parameters/gov/contrib/states/ct/refundable_ctc/):

  • in_effect.yaml - Toggle to enable the reform (default: false)
  • amount.yaml - $600 per child
  • max_children.yaml - Maximum 3 children
  • age_limit.yaml - Children must be under 18
  • income_threshold.yaml - AGI thresholds by filing status

Reform (reforms/states/ct/refundable_ctc/):

  • ct_refundable_ctc.py - Reform logic
  • __init__.py - Module exports

Tests (tests/policy/reforms/states/ct/refundable_ctc/):

  • ct_refundable_ctc.yaml - 10 comprehensive tests

Test Coverage

  • Single filer with children under income limit ✓
  • Joint filers under income limit ✓
  • Child count capped at 3 ✓
  • Income at/over threshold disqualifies ✓
  • No children = no credit ✓
  • Reform toggle (in_effect) works ✓
  • Age limit enforcement (18+) ✓

🤖 Generated with Claude Code

Implements CT HB 5134 (2026 session) as a reform:
- $600 per qualifying child (under age 18)
- Maximum 3 children
- Income threshold: <$100k (single/HOH/separate) or <$200k (joint)
- Refundable credit against CT personal income tax

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@DTrim99
Copy link
Collaborator Author

DTrim99 commented Feb 18, 2026

Implementation Notes

This reform implements CT HB 5134 as a contributed policy (not enacted law). Key design decisions:

  1. Parameters in contrib/: Since this is a proposed bill, all parameters are in gov/contrib/states/ct/ with an in_effect toggle defaulting to false

  2. Income eligibility: The bill specifies AGI must be "less than" the thresholds for all filing statuses (strict < comparison)

  3. Child definition: Uses is_tax_unit_dependent with an age limit parameter (set to 18) - not tied to federal CTC qualifying child definition

  4. Filing status thresholds:

    • JOINT and SURVIVING_SPOUSE: $200,000
    • SINGLE, HEAD_OF_HOUSEHOLD, SEPARATE: $100,000

The reform can be enabled by setting gov.contrib.states.ct.refundable_ctc.in_effect to true in the PolicyEngine interface.

DTrim99 and others added 2 commits February 18, 2026 16:49
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@@ -0,0 +1,12 @@
description: Connecticut refundable child tax credit amount per qualifying child.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
description: Connecticut refundable child tax credit amount per qualifying child.
description: Connecticut proposed to provide the following refundable child tax credit amount per qualifying child.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Similar style for other parameter descriptions

@@ -0,0 +1,12 @@
description: Maximum age for a child to qualify for the Connecticut refundable child tax credit. Children must be under this age.
Copy link
Collaborator

Choose a reason for hiding this comment

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

One sentence, description as below

description: Maximum age for a child to qualify for the Connecticut refundable child tax credit. Children must be under this age.

values:
2026-01-01: 18
Copy link
Collaborator

Choose a reason for hiding this comment

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

I dont see the 18 in the bill

Comment on lines 20 to 22
if not p.in_effect:
return tax_unit("adjusted_gross_income", period) * 0

Copy link
Collaborator

Choose a reason for hiding this comment

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

Dont check for in-effect in formula

def modify_parameters(parameters):
parameters.gov.states.ct.tax.income.credits.refundable.update(
start=instant("2026-01-01"),
stop=instant("2030-12-31"),
Copy link
Collaborator

Choose a reason for hiding this comment

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

Only until 2030?

- Update parameter descriptions to use active voice one-sentence format
- Remove in_effect check from formula (handled at reform registration level)
- Extend parameter modification end date from 2030 to 2035
- Remove test for in_effect=false (tested at reform layer, not formula)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@DTrim99
Copy link
Collaborator Author

DTrim99 commented Feb 20, 2026

Fixes Applied ✅

🟡 Should-Address Issues Fixed

  1. ✅ Parameter descriptions updated - All 5 parameter files now use active voice, one-sentence format:

    • amount.yaml: "Connecticut proposed to provide the following refundable child tax credit amount per qualifying child."
    • age_limit.yaml: "Connecticut proposed to set the following age limit for qualifying children under the refundable child tax credit."
    • income_threshold.yaml: "Connecticut proposed to set the following federal adjusted gross income thresholds..."
    • in_effect.yaml: "Connecticut proposed to make the refundable child tax credit effective when this parameter is true."
    • max_children.yaml: "Connecticut proposed to limit the refundable child tax credit to the following maximum number of children."
  2. ✅ Removed in_effect check from formula - The in_effect parameter is now handled at the reform registration level (create_ct_refundable_ctc_reform), not in the formula itself. This is the correct pattern for contributed reforms.

  3. ✅ Extended end date from 2030 to 2035 - Per user instruction, the parameter modification end date has been extended.

  4. ✅ Removed obsolete test - Removed the "Credit is zero when not in effect" test since this behavior is now controlled at the reform registration layer, not the formula.

Note on age_limit parameter

The age limit of 18 is implied by other organization research and House Dem press releases but not stated explicitly in the bill. This is documented but kept in the implementation.

Verification

  • ✅ All 9 tests pass locally
  • ✅ Code formatted

Ready for re-review.


🤖 Generated with Claude Code

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