Skip to content

Fix ga_exemptions and ks_exemptions in repeal_state_dependent_exemptions reform#7342

Merged
PavelMakarchuk merged 1 commit intomainfrom
fix-state-dependent-exemptions-reform
Feb 16, 2026
Merged

Fix ga_exemptions and ks_exemptions in repeal_state_dependent_exemptions reform#7342
PavelMakarchuk merged 1 commit intomainfrom
fix-state-dependent-exemptions-reform

Conversation

@PavelMakarchuk
Copy link
Copy Markdown
Collaborator

Summary

  • Fix ga_exemptions formula to use correct parameter path (p.personal.amount[filing_status] instead of p.personal[filing_status]) and add p.personal.availability check
  • Replace ks_count_exemptions update with ks_exemptions to handle the 2024+ by_filing_status branch that bypasses ks_count_exemptions

Test plan

  • Run microsimulation to verify GA and KS show non-zero impacts under the repeal reform
  • Verify no regressions in other affected states

🤖 Generated with Claude Code

…ons reform

- Fix ga_exemptions to use correct parameter path (p.personal.amount[filing_status]
  instead of p.personal[filing_status]) and check p.personal.availability
- Replace ks_count_exemptions update with ks_exemptions to handle the 2024+
  by_filing_status branch that bypasses ks_count_exemptions

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

DTrim99 commented Feb 10, 2026

PR Review

✅ GA Fix Verified

The ga_exemptions fix correctly updates the parameter path from p.personal[filing_status] to p.personal.amount[filing_status] and adds the p.personal.availability check. This matches the baseline implementation.

⚠️ KS Fix - Clarification Needed

The switch from ks_count_exemptions to ks_exemptions is correct for handling the 2024+ by_filing_status branch. However, I noticed the reform's ks_exemptions appears to be missing the dependent exemption calculation for the 2024+ branch.

Baseline ks_exemptions.py (lines 27-28, 36-40):

dependents = tax_unit("tax_unit_dependents", period)
dependent_amount = p.by_filing_status.dependent * dependents
...
return (
    base_amount
    + dependent_amount  # <-- includes dependents
    + veterans_exemption_amount
    + head_of_household_additional_amount
)

Reform's ks_exemptions (lines 355-360):

return base_amount + veterans_exemption_amount + hoh_additional
# Missing: dependent_amount

Question: Is this omission intentional? Should the reform:

  1. Repeal all exemptions (personal + dependent) → need to add dependent_amount to properly zero it out
  2. Only repeal personal exemptions, leaving dependent exemptions intact → current code is correct

Please confirm so we can proceed accordingly.

Copy link
Copy Markdown
Contributor

@MaxGhenis MaxGhenis left a comment

Choose a reason for hiding this comment

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

LGTM - Fixes GA exemptions parameter path (p.personal.amount[filing_status] vs p.personal[filing_status]) and adds availability check. KS fix correctly replaces ks_count_exemptions with ks_exemptions to handle the 2024+ by_filing_status branch, including veteran exemptions and HOH additional amounts. All CI checks pass.

@PavelMakarchuk PavelMakarchuk merged commit b45c1d0 into main Feb 16, 2026
7 checks passed
@PavelMakarchuk PavelMakarchuk deleted the fix-state-dependent-exemptions-reform branch February 16, 2026 01:34
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.

3 participants