Fix Georgia retirement exclusion capital loss handling#7955
Fix Georgia retirement exclusion capital loss handling#7955PavelMakarchuk wants to merge 1 commit intomainfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7955 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 1 3 +2
Lines 17 41 +24
=========================================
+ Hits 17 41 +24
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
DTrim99
left a comment
There was a problem hiding this comment.
Reviewed the Georgia retirement exclusion capital-loss fix. I did not find any actionable issues.
I checked the refactored retirement-income aggregate, the updated source list, the new loss-limited capital-gains wrapper, the per-person exclusion clamp, and the new regression coverage against the 2024 IT-511 Schedule 1 worksheet structure. The separation between line 5 earned income and line 14 non-earned retirement income matches the form.
Summary
Fixes #7951.
Georgia's retirement income exclusion was using raw person-level
capital_gains, which let unlimited capital losses wipe out the exclusion. It also summed earned income and other retirement income in one bucket, even though Schedule 1 Page 2 floors those amounts separately before applying the age-based cap.Changes
ga_retirement_exclusion_countable_capital_gains, backed by federal loss-limited person capital gainscapital_gainsga_retirement_income_exclusion_retirement_incometo match the worksheet:ga_retirement_exclusion_personWhy this structure
The durable fix is broader than swapping one source variable. Georgia Schedule 1 Page 2 treats earned income and the remaining retirement income sources as separate worksheet sections, each with its own zero floor, before combining them. Matching that structure prevents capital losses from incorrectly offsetting countable earned income.
Verification
python policyengine_us/tests/test_batched.py policyengine_us/tests/policy/baseline/gov/states/ga/tax/income/subtractions/retirement/ga_retirement_income_exclusion_retirement_income.yaml --batches 1python policyengine_us/tests/test_batched.py policyengine_us/tests/policy/baseline/gov/states/ga/tax/income/integration.yaml --batches 1python policyengine_us/tests/test_batched.py policyengine_us/tests/policy/baseline/gov/states/ga/tax/income/subtractions/retirement --batches 1python policyengine_us/tests/test_batched.py policyengine_us/tests/policy/baseline/gov/states/ga/tax/income --batches 1