Stop adding in-kind SNAP and WIC to MA Senior Circuit Breaker income - #9250
Conversation
M.G.L. c.62 s.6(k)(1) defines "taxpayer's total income" as AGI increased by "cash, but not in-kind, public assistance". SNAP and WIC are in-kind, so they do not belong in the add-back list. Counting them overstated ma_scb_total_income, which both raised the property-tax phase-in floor and could breach the max-income cliff, understating a refundable credit. Fixes #9249 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Keep snap and wic commented out in the Senior Circuit Breaker disallowed_deductions list rather than deleted, and record why. M.G.L. c.62 s.6(k)(1) item 2 re-adds "cash, but not in-kind, public assistance", excluding SNAP and WIC. Item 8, the "gross receipts from any other source" catch-all, is broad enough to reach them, and DOR relies on it: "Cash public assistance (Schedule CB, Line 6) - Includes food stamps and welfare." DOR never mentions WIC. We follow item 2, since reading item 8 to sweep in in-kind aid would make "but not in-kind" surplusage. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…into ma-scb-in-kind-assistance
Program Review — multi-agent auditPR #9250 — MA Senior Circuit Breaker: stop adding in-kind SNAP/WIC to "total income" ScopeThe PR removes
Interpretation verdict (the crux)DEFENSIBLE — leaning PREFERABLE for WIC, DEFENSIBLE-but-contested for SNAP. This is a statutory-interpretation judgment call, not a value error to "fix." The surplusage argument (sound). §6(k)(1) item 2 adds back "cash, but not in-kind, public assistance." The commas set off "but not in-kind" as an interruption within a single list item — the item is "cash … public assistance," modified by "but not in-kind" (verified against the retrieved statute; this is the correct grammatical parse). If item 8's residual ("gross receipts from any other source") were read to sweep in-kind public assistance back in, the express "but not in-kind" carve-out becomes pure surplusage. The canon against surplusage plus specific-governs-general (item 2 is the specific public-assistance provision; item 8 is residual) both cut the author's way. SNAP and WIC are in-kind public assistance; on the statute alone, they are excluded. This is the more natural reading, not a fringe one. WIC removal is better-grounded than SNAP. DOR never mentions WIC anywhere on its page — there is no administered practice to mirror, so removing WIC has no countervailing agency-practice cost. The DOR administered-practice counterargument (real, but weaker here). DOR's guidance explicitly instructs filers to include food stamps ("Cash public assistance … Includes food stamps and welfare"), anchoring inclusion in the item-8 "gross receipts" bucket. A model whose purpose is to predict the credit a filer actually receives can legitimately mirror what the assessing agency instructs, and PolicyEngine often follows administered practice where statute and practice diverge. That case has genuine force for SNAP. It is weaker because DOR's own text is internally incoherent on the exact axis in dispute — it labels food stamps "cash public assistance" while, in the same bullet, excluding discounted-rate fuel assistance as "in-kind … exclude it." And DOR grounds inclusion in item 8, precisely the provision the surplusage canon forecloses. No MA case law / 830 CMR / TIR directly construing item 2 vs item 8 for in-kind assistance was located. Author handled the tension well. The author disclosed the statute-vs-DOR conflict openly in an inline note, kept the entries commented (not deleted) for a one-line re-enable, and cited the statute precisely. Consequence (microsim-affecting). Removing the add-backs lowers Verified correct
Critical (must fix)None. Should address
Suggestions
Validation summary
Review severity: COMMENTRecommend COMMENT. Zero criticals (no code defect, no value mismatch, statute quoted accurately, tests isolate and hand-verify) so not REQUEST_CHANGES; but the interpretation is a defensible statutory judgment call the maintainers should consciously ratify — follow-statute (exclude in-kind, the model's current choice) vs follow-DOR (include food stamps for filer-experience fidelity) — given the live DOR conflict and the upward microsim effect. This is a decision to sign off on, not a bug. Next steps
🤖 Generated by /review-program (Claude Code) |
DTrim99
left a comment
There was a problem hiding this comment.
Address minor nits, then ready
- Add a 2025 boundary-flip case to ma_senior_circuit_breaker.yaml: a single 70-year-old whose derived total income (71,300) sits below the 75,000 SINGLE ceiling only because 4,200 of in-kind SNAP and WIC is not re-added; re-enabling the add-back flips the credit from 870 to 0. Verified to fail with snap/wic restored to the parameter list. - Add an interaction case to ma_scb_total_income.yaml with in-kind and cash assistance both nonzero, asserting only the cash is re-added. - Repoint ma_scb_total_income.py's reference from the 403-ing mass.gov mirror to malegislature.gov, matching the parameter file. - Note the documented DOR conflict in the changelog fragment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…into ma-scb-in-kind-assistance
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9250 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 3 1 -2
Lines 68 26 -42
=========================================
- Hits 68 26 -42
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:
|
Summary
Stops re-adding SNAP and WIC to
ma_scb_total_income, the income measure for the Massachusetts Senior Circuit Breaker credit. Both are commented out indisallowed_deductions.yamlrather than deleted, with an inline note recording a conflict between the statute and DOR guidance.Regulatory basis
M.G.L. c.62 § 6(k)(1) defines "taxpayer's total income" as Part A + Part B + Part C AGI, increased by eight enumerated add-backs and reduced by certain § 3(b) exemptions. The second add-back is:
The commas mark a mid-phrase interruption, not list separators: the item is "cash public assistance," with in-kind public assistance affirmatively carved out. SNAP and WIC are public assistance delivered as restricted food purchasing power, not cash, so neither falls within it.
The conflict with DOR guidance
This is the part reviewers should weigh, because it cuts against the change.
The eighth add-back is a catch-all — "gross receipts from any other source" — broad enough on its face to reach in-kind benefits. DOR's Senior Circuit Breaker page relies on it, and instructs filers to include food stamps twice:
DOR's own exclusion list confirms which clause it is leaning on. It exempts "Payments, in-kind payments, or monies received that are otherwise not defined as: … Gross receipts" — that is, in-kind payments are excluded only when they are not gross receipts. DOR treats food stamps as gross receipts, so it reaches inclusion through item 8 rather than item 2.
DOR never mentions WIC.
Why this PR follows item 2: reading the catch-all to sweep in in-kind assistance would leave the words "but not in-kind" with no work to do, and statutory text is not ordinarily read as surplusage. DOR's guidance is also internally inconsistent on the point — the same bullet that includes food stamps excludes discounted-rate fuel assistance as "in-kind assistance."
This is a judgment call, not a settled question. The parameter file documents both readings so the next reader sees the disagreement was deliberate, and the commented-out entries make re-enabling a one-line change if DOR clarifies or the team prefers to follow the agency.
Changes
disallowed_deductions.yamlsnapandwic; document the item 2 / item 8 / DOR tension; point the statutory reference at malegislature.gov, which is fetchable (the mass.gov mirror returns 403 to non-browser clients)ma_scb_total_income.yamlchangelog.d/.fixedfragmentNo other consumers: the parameter is read only at
ma_scb_total_income.py:20. All eight cases inintegration_ma.yamlalready setsnap: 0andwic: 0, so no expected values shift.Out of scope
Reading the full DOR page surfaced three unrelated gaps in this variable, none introduced here:
ma_gross_income, not AGI. DOR's formula is "Massachusetts adjusted gross income + all other income excluded from Massachusetts gross income − exemptions," and the exemption list includes "certain deductions reported on Massachusetts Schedule Y, Lines 1 through 10." Starting from gross income skips those, overstating total income and understating the credit.ma_part_b_agialready applies them.tax_exempt_retirement_distributionsis not re-added, though DOR lists "Previously taxed income distributions … IRA/Keogh, Annuity, Stock bonus, Pension, Profit sharing plan."Test plan
ma_scb_total_income.yamlmake formatclean, ruff passes