Skip to content

Add dedicated South Carolina dependent exemption parameter#8691

Open
DTrim99 wants to merge 2 commits into
PolicyEngine:mainfrom
DTrim99:sc-dependent-exemption-parameter
Open

Add dedicated South Carolina dependent exemption parameter#8691
DTrim99 wants to merge 2 commits into
PolicyEngine:mainfrom
DTrim99:sc-dependent-exemption-parameter

Conversation

@DTrim99

@DTrim99 DTrim99 commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

What this does

South Carolina's dependent exemption (§12-6-1140(13)) had no parameter of its own — both sc_dependent_exemption and sc_young_child_deduction read the young-child deduction's amount. This adds proper, separate parameters for the two distinct statutory provisions, each in its own folder:

  • gov.states.sc.tax.income.deductions.dependent_exemption.amount — §12-6-1140(13), a deduction for every dependent (read by sc_dependent_exemption).
  • gov.states.sc.tax.income.deductions.young_child.amount — §12-6-1160, the additional deduction for dependents under 6 (read by sc_young_child_deduction).

§12-6-1160 sets its amount equal to the §12-6-1140 amount, so both parameters carry identical values — but keeping them separate lets each be modelled/adjusted independently (e.g. in the Child Poverty Impact Dashboard).

No behavior change

Pure restructure — values are identical. A dependent under 6 still correctly receives both deductions (~$8,220 combined), which is real SC policy. The existing SC baseline tests pass unchanged:
sc_young_child_deduction.yaml (4) + sc_dependent_exemption.yaml (2) — 6 passed.

🤖 Generated with Claude Code

SC's dependent exemption (Section 12-6-1140(13)) had no parameter of its own —
both sc_dependent_exemption and sc_young_child_deduction read the young child
deduction's amount param (gov.states.sc.tax.income.deductions.young_child.amount),
which is backwards: Section 12-6-1160 defines the young child deduction as
"equal to the dependent exemption amount," so the amount belongs to 12-6-1140.

Move the amount param to gov.states.sc.tax.income.deductions.dependent_exemption.
amount, point sc_dependent_exemption at it, and have sc_young_child_deduction
reference it (keeping its own ineligible_age). No change to calculated values —
the existing SC baseline tests pass unchanged.

This also lets the amount be adjusted independently of the young child
deduction's age gate (useful for the Child Poverty Impact Dashboard).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 19, 2026

Copy link
Copy Markdown

Codecov Report

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

Additional details and impacted files
@@            Coverage Diff             @@
##              main     #8691    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files           18         1    -17     
  Lines          292        13   -279     
==========================================
- Hits           292        13   -279     
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.

Per review, give the South Carolina young child deduction (Section 12-6-1160)
its own amount parameter rather than referencing the dependent exemption amount.
There are now two independent parameters in their correct folders:
- gov.states.sc.tax.income.deductions.dependent_exemption.amount (Section 12-6-1140)
- gov.states.sc.tax.income.deductions.young_child.amount (Section 12-6-1160)

Values are identical (the statute sets 1160 equal to 1140), so no calculated
values change; the existing SC baseline tests pass unchanged. Keeping them
separate lets the two be modelled independently.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@DTrim99 DTrim99 requested a review from PavelMakarchuk June 19, 2026 20:19
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.

1 participant