Skip to content

Add disabled adult dependent care expenses to the CDCC base#8746

Merged
hua7450 merged 4 commits into
PolicyEngine:mainfrom
hua7450:cdcc-expense-distribution
Jul 1, 2026
Merged

Add disabled adult dependent care expenses to the CDCC base#8746
hua7450 merged 4 commits into
PolicyEngine:mainfrom
hua7450:cdcc-expense-distribution

Conversation

@hua7450

@hua7450 hua7450 commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Closes #8786

Summary

A small, self-contained fix for #8786: the Child and Dependent Care Credit drew care expenses only from tax_unit_childcare_expenses, which is child-scoped (children under 18). A disabled adult qualifying individual under IRC § 21 — a dependent or spouse age 18 or older — was therefore attributed $0 of care expenses and received a $0 credit. Because ks_cdcc is a share of the federal credit, Kansas inherited the same gap.

Approach

Rather than broadening the childcare pipeline (which would ripple into ~40 CCDF/state CCAP programs, SNAP/TANF dependent-care deductions, and the DC KCCATC), this routes adult dependent care through a separate, dedicated input and leaves childcare untouched:

  • care_expenses / pre_subsidy_care_expenses (pre-existing, previously-unused person variables) now represent care for a disabled adult dependent or spouse, redefined as YEAR to match the rest of the CDCC chain.
  • cdcc_relevant_expenses adds care_expenses to tax_unit_childcare_expenses before the § 21(c) dollar cap and the earned-income cap: min(childcare + adult care, cdcc_limit, min_head_spouse_earned).
  • The childcare and childcare-subsidy pipeline is unchanged, so child-only programs are unaffected.

Result (TY 2024)

A disabled adult dependent with an earning spouse (so the earned-income test is met), $6,000 of care via care_expenses:

value
tax_unit_childcare_expenses 0 (pipeline untouched)
care_expenses 6,000
cdcc_relevant_expenses 3,000
cdcc 600
ks_cdcc 300

Scope / follow-up

Files

  • variables/household/expense/childcare/care_expenses.py, pre_subsidy_care_expenses.py — YEAR, relabeled for disabled-adult care
  • variables/gov/irs/credits/cdcc/cdcc_relevant_expenses.py — add care_expenses to the base
  • Tests: care_expenses.yaml, cdcc_relevant_expenses.yaml, CDCC integration.yaml, ks_cdcc.yaml

Tests

New cases for care_expenses passthrough, the combined CDCC base, and federal + Kansas end-to-end (12 pass locally). CI runs the full suite.

🤖 Generated with Claude Code

@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (20652c5) to head (b5dd136).
⚠️ Report is 60 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #8746   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            5         3    -2     
  Lines           63        34   -29     
=========================================
- Hits            63        34   -29     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hua7450 hua7450 force-pushed the cdcc-expense-distribution branch from 65512a6 to 745bf72 Compare June 24, 2026 20:28
@hua7450 hua7450 changed the title Distribute CDCC childcare expenses to disabled dependents and spouses Add disabled adult dependent care expenses to the CDCC base Jun 24, 2026
The Child and Dependent Care Credit drew care expenses only from
tax_unit_childcare_expenses, which is child-scoped (children under 18). A
disabled adult qualifying individual under IRC section 21 — a dependent or
spouse age 18 or older — was therefore attributed $0 of care expenses and
received a $0 credit (and $0 in state mirrors such as Kansas, where
ks_cdcc is a share of the federal credit).

Route adult dependent care through the existing care_expenses input (now
year-defined) and add it to cdcc_relevant_expenses alongside childcare. The
childcare and childcare-subsidy pipeline is left unchanged, so CCDF/state
CCAP programs and the DC KCCATC are unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
label = "Pre subsidy care expenses"
definition_period = MONTH
label = "Pre-subsidy care expenses for a disabled adult dependent or spouse"
definition_period = YEAR

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.

are you sure this is safe?

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.

@hua7450 I traced every reference to care_expenses and pre_subsidy_care_expenses on main — the only usage anywhere was care_expenses's own formula reading pre_subsidy_care_expenses; no other variable consumes either (the CO/MA/MT hits are local Python vars coincidentally named care_expenses, assigned from tax_unit_childcare_expenses/pre_subsidy_childcare_expenses). So the MONTH→YEAR change looks safe to me — nothing relied on the monthly period. Can you confirm you're comfortable it's safe? If so I'll approve.

(Minor: the comment in cdcc_relevant_expenses.py still says "person-level monthly input summed to the year" — now stale since it's a YEAR input.)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Make it YEAR so it is consistent with the childcare_expenses

@PavelMakarchuk PavelMakarchuk 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.

A bit worried about month to year change

hua7450 and others added 3 commits July 1, 2026 09:39
Reframe the care_expenses limitation comment to avoid an absolute policy
claim, and document pre_subsidy_care_expenses' intended future consumer
(an adult-care subsidy program's benefit formula) since it currently has
no formula of its own.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@hua7450 hua7450 merged commit c2984f5 into PolicyEngine:main Jul 1, 2026
29 checks passed
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.

Child and Dependent Care Credit returns $0 for a disabled adult qualifying individual (dependent or spouse age 18+)

2 participants