Split MFJ pension/SS 50/50 for both-young couples#994
Open
PavelMakarchuk wants to merge 1 commit into
Open
Conversation
The Microsimulation runner allocated household pension and Social Security entirely to the primary filer whenever both spouses were under the elderly-eligibility threshold, denying the second spouse's per-person state exclusion. For states whose pension exclusion is age-independent (e.g. KY $31,110/person, OK $10,000/person) this overstated state tax. Change the age-gate so the income is split 50/50 whenever both spouses are on the same side of the threshold (both qualify OR both do not); the mixed-age rule (assign to the older spouse, per taxsim #774/#924) is unchanged. Verified against the NBER taxsimtest binary / TaxAct: - taxsim #965 (KY): $2,424.45 -> $1,180.05 (binary $1,180.05) - taxsim #966 (OK): $3,707.60 -> $3,232.60 (TaxAct $3,232) Cross-state both-young check (pension $40k, both age 45) confirms no regression: DE/KY/OK now match the binary, GA/CO are allocation- invariant. (MD is off under either allocation due to a separate PE-US pension bug, unrelated to this split.) Updates the two both-young splitting unit tests to assert 50/50 and documents the canonical spousal-allocation rule in CLAUDE.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The Microsimulation runner's age-gate allocated household pension and Social Security entirely to the primary filer whenever both spouses were under the elderly-eligibility threshold (
_AGE_GATED_SPLIT_AGE = 55). For states whose pension exclusion is age-independent and per-person (e.g. KY $31,110/person, OK $10,000/person), this denied the second spouse's exclusion and overstated state tax.This is the "exe.py agrees with TAXSIM, cli.py doesn't" pattern in:
Fix
Split 50/50 whenever both spouses are on the same side of the threshold (both qualify or both do not). The mixed-age rule — assign to the older spouse, per the agreements in #774 (pension) and #924 (gssi) — is unchanged.
Verification (NBER
taxsimtestbinary / TaxAct)Cross-state both-young check (pension $40k, both age 45) — no regression:
MD is off under either allocation due to a separate pre-existing PE-US pension bug, unrelated to this split.
Other changes
CLAUDE.mdso it stops being re-litigated.Full suite: 142 passed.
Closes #965
Closes #966
🤖 Generated with Claude Code