Prorate income and expenses of SNAP-ineligible household members (7 CFR 273.11(c))#8892
Draft
hua7450 wants to merge 4 commits into
Draft
Prorate income and expenses of SNAP-ineligible household members (7 CFR 273.11(c))#8892hua7450 wants to merge 4 commits into
hua7450 wants to merge 4 commits into
Conversation
…11(c) Implements the treatment of income and deductible expenses of ineligible household members: proration for ineligible aliens (with state count-all and gross-test-only options), full exclusion of ineligible students' income under 273.11(d), and person-level income counting that also fixes the excluded child earner leak. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8892 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 3 17 +14
Lines 55 258 +203
==========================================
+ Hits 55 258 +203
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…rence Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… unit level person.spm_unit projections inside the person-level earned income formula produced MicroSeries with mismatched weights under Microsimulation. Keep snap_earned_income_person as a pure person-level adds variable and perform the self-employment attribution inside the SPM unit formulas. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Summary
Implements 7 CFR 273.11(c) and (d): the treatment of income and deductible expenses of household members who are ineligible for SNAP. Previously the model removed ineligible members from the household size but counted 100% of their income, and prorated only the employment income of work-requirement-failing members.
Addresses #6531; supersedes closed PR #6526.
Regulatory authority
What this implements
snap_earned_income).snap_unit_size) was already correct and is unchanged.is_snap_immigration_status_eligible.Structural changes
snap_earned_income_personbecomes a true Person-level variable (was SPMUnit with a unit-leveldefined_forgate). This fixes a pre-existing bug: an excluded K-12 child earner's income was counted whenever any countable earner existed in the unit.snap_unearned_income_person; unearned source list split intosources/unearned_person.yaml+sources/unearned_spm_unit.yaml(tanf stays fully counted at the unit level — cannot be attributed to a member).sources/earned.yamlreplaced bysources/earned_person.yaml; unit-level self-employment income (after expense deduction) is attributed to members in proportion to gross self-employment income.snap_gross_test_incomefeedssnap_gross_income_fpg_ratio(differs from net-side gross income only in AR/HI/KY/NC with undocumented-type members). This also flows to the TANF non-cash (BBCE) gross test, which mirrors SNAP rules.snap_work_requirement_income_proration_fractionremoved; replaced bysnap_prorated_income_fraction+snap_income_counted_share(only internal consumers).Behavior changes (all intentional)
Not modeled (by design)
Per team decision, the partner contract tests under
tests/policy/baseline/partners/are deliberately not updated in this PR. 17 expected values inanalytics_coverage/edge_cases/federal/nutrition/snap/*.yamlwill fail CI. All changes raise SNAP for mixed-status households; LPR cases are unchanged; MA's undocumented case is unchanged (count-all state), validating the state-option wiring:Partner test updates and partner notification to follow as a separate step before merge.
Verification TODO
immigration_status(microsim aggregate impact) — default is CITIZENTest plan
🤖 Generated with Claude Code