Skip to content

Model state-specific SNAP BBCE poverty-guideline update months - #9243

Merged
hua7450 merged 11 commits into
mainfrom
wa-bbce-april-fpg
Aug 11, 2026
Merged

Model state-specific SNAP BBCE poverty-guideline update months#9243
hua7450 merged 11 commits into
mainfrom
wa-bbce-april-fpg

Conversation

@hua7450

@hua7450 hua7450 commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

State SNAP broad-based categorical eligibility (BBCE) standards re-base to a new year's federal poverty guidelines on each state's own schedule. The gross-income screen derived its limit from snap_fpg, which follows the federal October fiscal-year cycle, so states that re-base earlier in the calendar year were held a guideline year behind — understating their cutoffs by roughly 2% for part of each year.

For a one-person Washington household in 2026, the limit stayed at $2,608 from April through September where DSHS publishes $2,660 for April 1, 2026 through March 31, 2027.

Fixes #9231

Research

I verified the update month for all 46 BBCE jurisdictions against state administrative codes and SNAP policy manuals. Four re-base off the federal cycle:

State Month Authority
Maine January, on the guideline publication date 10-144 CMR Ch. 301 §999-3 Chart 4 — six consecutive January eras
Massachusetts February 1 DTA Helpful Charts and Figures — the 200% column reads "Effective 2/1/2026" beside federal columns marked "Effective 10/1/2025"
Oregon March 1 OAR 461-155-0180(6) — the 200% standard is "updated every March", while the same rule's 100%/130%/165% standards are "updated every October"
Washington April 1 WAC 388-414-0001(2)(a)(ii)

The remaining 42 follow the federal October schedule, most evidenced by two consecutive October effective dates in their published charts.

This changes results in four states only. A state still on the previous year's guidelines outside those four is correct, not lagging — that is how the federal fiscal-year cycle works.

Approach

  • income_limit/fpg_year_start_month.yaml carries each state's month, defaulting to October. Encoding a newly verified state is a one-line parameter edit — no formula changes.
  • tanf_non_cash_fpg selects the guideline vintage from that parameter.
  • tanf_non_cash_gross_income_limit applies the state's percentage tier to that guideline and returns the exact result. See "Rounding" below.
  • meets_tanf_non_cash_gross_income_test compares dollars against that limit rather than an FPG ratio.
  • The federal SNAP gross and net income tests are untouched and keep the October schedule through snap_fpg.

Two percentages the research corrected are also dated: the Virgin Islands rose from 130% to 175% effective 2024-10-01, and Arizona from 185% to 200% effective 2026-03-01.

Arizona

An earlier revision dated Arizona's increase 2026-04-13, inferred from a "What's Changed" entry because azdes.gov sits behind a challenge page. The CNAP manual text resolves it:

Starting the benefit month of 03/2026, the gross income limit for the NA Expanded Categorical Eligibility changed from 185% of the FPL to 200% of the FPL.

The same note confirms Arizona re-bases each October ("increased for FFY 2026 starting 10/01/2025"), so its fpg_year_start_month stays at the default. The increase also applies to gross_hheod, which had remained at 185% and so never conferred the new limit on elderly or disabled households.

Rounding

States publish their BBCE standards as whole dollars, and the conventions differ: some round up, some to the nearest dollar, some down, and several apply the percentage to the whole-dollar monthly guideline rather than the exact one (California, Colorado, DC, and Arizona publish $2,610 where the exact computation gives $2,608.33).

An earlier revision of this PR encoded those conventions as per-state parameter lists. That is removed, for two reasons:

  1. No federal rule reaches this limit. 7 CFR 273.9(a)(3) directs that the federal gross and net standards be rounded up, and the model applies that in meets_snap_gross_income_test. But categorically eligible households under 7 CFR 273.2(j)(2) are exempt from the §273.9 standards entirely, and the BBCE threshold is the income limit of the state's TANF-funded non-cash benefit. A published chart's rounding is a property of the chart.
  2. The encoding was mostly wrong. Of the states where a published figure was checked, only Washington matched. Shipping a taxonomy at that hit rate asserts more than we know.

The limit is now the exact percentage of the guideline, never more than about $2 from any published figure. Washington's April standard is unaffected: the 2026 guideline divides evenly (15,960 / 12 = 1,330), so the computed figure is exactly the $2,660 DSHS publishes, and the exact computation reproduces all ten household sizes on the DSHS chart.

Whether to model per-state chart conventions is tracked in #9255.

Known limitations

  • Guam and the Virgin Islands. Both operate BBCE per FNS (165% and 175%, encoded here), but gov/hhs/fpg.yaml carries zero placeholders for the territories, so their computed standard is $0. Because a $0 limit passes a household with no income, and categorical eligibility waives the asset test, a zero-income territory household with substantial assets is now scored SNAP-eligible where the base commit scored it ineligible. The underlying gap is territory poverty guidelines, which also leave snap_fpg at 0 and the federal gross and net tests degenerate; no territory households appear in the microdata, so this is reachable only through the household API.
  • Maine is modeled as re-basing on January 1, though the guidelines are published mid-month (1/13/21, 1/12/22, 1/19/23, 1/11/24, 1/17/25, 1/13/26). The parameter is month-granular, so the standard moves up to 19 days early. A Maine household between $2,608.33 and $2,660 in early January is scored against the new standard before it legally applies.
  • snap_gross_test_income_fpg_ratio is no longer consumed by any formula. It remains a public variable and is left in place; removing it is a deprecation decision for API consumers, not part of this fix.

Tests

  • tanf_non_cash_gross_income_limit.yaml — guideline vintage by state, the 185% tier, and the Alaska guidelines.
  • meets_tanf_non_cash_gross_income_test.yaml — boundary cases at the exact published standard. Maine's January re-basing puts it a guideline year ahead of Washington in the same January, which exercises the state-varying vintage.
  • Mid-year boundaries are asserted by keying outputs by month within a whole-year period: Washington holding the 2025 guidelines in March and moving in April, Arizona's February-to-March step, and Colorado holding through September before flipping in October. The Colorado case means the suite cannot pass if the month parameter is ignored.

Test plan

  • gov/hhs/tanf/non_cash/ — 56 passing
  • partners/analytics_coverage/.../snap/nc.yaml — 4 passing, no partner-facing change
  • CI passes

hua7450 and others added 3 commits August 4, 2026 22:56
…gross limit

WAC 388-414-0001(2)(a)(ii) re-bases Washington's 200% Basic Food BBCE
standard on the current-year federal poverty guidelines each April 1,
published as whole-dollar monthly limits. The model derived the limit
from snap_fpg, which follows the federal October fiscal-year schedule,
understating the Washington cutoff by one guideline year (about 2%)
every April through September.

Add wa_snap_bbce_gross_income_limit, which selects the guideline
vintage by the April pivot and rounds to the closest whole dollar, and
compare Washington units' gross-test income against it in
meets_tanf_non_cash_gross_income_test. All other states and the federal
October-scheduled gross and net tests are unchanged.

Fixes #9231

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
State BBCE standards re-base to a new year's federal poverty guidelines
on each state's own schedule, but the screen derived its limit from
snap_fpg, which follows the federal October fiscal-year cycle. States
that re-base earlier in the calendar year were held a guideline year
behind, understating their cutoffs by roughly 2% for part of each year.

Verify the update month for all 46 BBCE jurisdictions against state
administrative codes and SNAP policy manuals. Four re-base off-cycle:
Maine in January (10-144 CMR Ch. 301 Sec. 999-3 Chart 4), Massachusetts
in February (DTA Helpful Charts and Figures), Oregon in March (OAR
461-155-0180(6)), and Washington in April (WAC 388-414-0001(2)(a)(ii)).
The remaining 42 follow the federal October schedule.

Add fpg_year_start_month, which carries each state's month, and
tanf_non_cash_fpg, which selects the guideline vintage from it. Compare
gross-test income against tanf_non_cash_gross_income_limit in dollars,
applying the rounding each state publishes: up (AZ, CT, LA, ME, MN, NH,
NJ, OR, VT), to the nearest dollar (MA, WA), or down (VA). The federal
SNAP gross and net tests keep the October schedule through snap_fpg.

Also date two percentages the research corrected: the Virgin Islands
rose from 130% to 175% effective 2024-10-01, and Arizona from 185% to
200% during 2026.

Fixes #9231

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (c1120a4) to head (db88221).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #9243   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            6         3    -3     
  Lines           81        52   -29     
=========================================
- Hits            81        52   -29     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

hua7450 and others added 3 commits August 5, 2026 16:55
Colorado follows the federal October cycle and publishes no rounding
convention, so its standard keeps the repeating cents of 200% x 15,650
/ 12. The float32 value the engine returns is 2608.3333, which does not
equal the truncated 2608.33 literal the test asserted.

Express the expectation as the arithmetic itself and compare within a
cent. The whole-dollar states keep exact equality, since their
published standards genuinely are integers.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The CNAP manual states: "Starting the benefit month of 03/2026, the
gross income limit for the NA Expanded Categorical Eligibility changed
from 185% of the FPL to 200% of the FPL." The parameter previously
dated the increase 2026-04-13, inferred from a "What's Changed" entry,
which left March and part of April at 185%.

Apply the increase to the elderly or disabled standard as well, which
had remained at 185%, and add boundary tests for both.

The same note confirms Arizona re-bases each October, so its
fpg_year_start_month stays at the default.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Categorically eligible households are exempt from the income
eligibility standards in 7 CFR 273.9, so the rounding 273.9(a)(3)
prescribes for the federal gross and net tests does not reach the BBCE
limit. The threshold is the income limit of the state's TANF-funded
non-cash benefit, and no federal rule governs how its dollar figure is
derived.

The per-state rounding lists asserted conventions read off published
charts rather than from law, and an audit found most of the checked
states did not match theirs. Drop the three parameter files and return
the exact computation, which claims nothing beyond the percentage and
the guideline vintage.

Move the mid-year boundary tests into the YAML runner by keying outputs
by month within a whole-year period, which also lets Colorado's October
flip be asserted directly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
hua7450 and others added 2 commits August 7, 2026 00:11
The old text described rounding, which this branch no longer changes,
and named only Washington. Cover the state-specific update months and
Arizona's March 2026 increase, and rename the fragment to match the
scope rather than the original branch.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The earlier rename staged the file move but not the rewrite, so the
fragment still described rounding, which this branch does not change,
and credited only Washington.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@hua7450
hua7450 requested a review from DTrim99 August 7, 2026 13:52
@DTrim99

DTrim99 commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Program Review — multi-agent audit

PR #9243 — State-specific SNAP BBCE poverty-guideline re-base months

Scope

This PR corrects when each state's TANF-funded non-cash (SNAP broad-based categorical eligibility, BBCE) 200% income standard re-bases onto the current calendar year's federal poverty guidelines, rather than forcing every state onto the federal October (fiscal-year) cycle. Under 7 CFR 273.2(j)(2) the BBCE limit is the state's TANF non-cash income limit, so keying it to each state's own re-base month is the correct model.

  • Off-cycle re-base months (new parameter fpg_year_start_month.yaml): ME = January, MA = February, OR = March, WA = April; default = October (month 10) for the other ~42 states (including AZ).
  • Percentage changes: VI 130% → 175% effective 2024-10-01 (gross.yaml); AZ 185% → 200% effective 2026-03-01 in both gross.yaml and gross_hheod.yaml; AK BBCE at 200% Alaska guidelines (2025-07-01, in-comment).
  • Rounding removed: the dollar limit is now the exact percentage × guideline / 12, dropping per-chart whole-dollar rounding (argued as not reaching the categorically-eligible standard per 7 CFR 273.2(j)(2)).
  • Mechanism: two new SPMUnit variables — tanf_non_cash_fpg.py (picks guideline vintage via where(period.start.month >= start_month, monthly_fpg(year), monthly_fpg(year-1))) and tanf_non_cash_gross_income_limit.py (multiplies the state BBCE percentage tiers by the guideline to yield a dollar limit). meets_tanf_non_cash_gross_income_test.py is rewired to compare snap_gross_test_income (dollars) against the new dollar limit.
  • States/years: multi-state, 2026 focus (plus VI 2024-10, AZ 2026-03, AK 2025-07).
  • CI: 33/33 pass. Branch: 9 ahead / 1 behind main. Changelog: changelog.d/snap-bbce-guideline-update-months.fixed.md present, .fixed type (patch bump) appropriate.

Source verification (primary-source results)

State / item Claim Source Verdict
WA = April (4) 200% standard re-bases April 1 WAC 388-414-0001(2)(a)(ii) ✓ VERIFIED — "beginning the first of April every year"
MA = February (2) 200% standard effective Feb 1 MA DTA Helpful Charts & Figures PDF ✓ VERIFIED — "Effective 2/1/2026" column vs "10/1/2025" federal columns
OR = March (3) 200% BBCE "updated every March" OAR 461-155-0180(6) ✓ VERIFIED — verbatim "200 percent … updated every March" (2026 FPL); lower tiers "every October" (2025 FPL)
ME = January (1) BBCE 185/200% re-bases mid-January 10-144 CMR Ch.301 §999-3 Chart 4 ✓ VERIFIED — six calendar-year eras all begin mid-January (1/13/21, 1/12/22, 1/19/23, 1/11/24, 1/17/25, 1/13/26); Charts 1–3 use FFY (Oct)
VI 175% @ 2024-10-01 130% → 175% eff Oct 1 2024 VI DHS Commissioner announcement ✓ VERIFIED (value + date) — "raised … from 130% to 175% … effective October 1, 2024"
VI 1.3 @ 2015-10-01 continuous 130% era 2015–2024 (none) ✗ UNCORROBORATED — source supports 130% immediately before Oct 2024, not a 2015-onward span
AZ 200% @ 2026-03-01 185% → 200% (gross + gross_hheod), Oct re-base retained AZ CNAP/DES manual value/date/mapping ✓ (arithmetic verified to the penny); href ✗ — bare in-comment quote, no resolvable URL (des.az.gov 403)
Default = October ~42 states on federal FFY cycle USDA SNAP FY26 COLA memo conceptually correct source; memo page returned 403 (format fine)

Note: OR (March) and ME (January) were "unreachable" for the reference-validator (FlateDecode-compressed PDFs), but the external source-verifier subsequently downloaded both and extracted them with pdftotext -layout — both are now primary-source VERIFIED. All four off-cycle months are corroborated by primary sources.

Verified correct (checks that passed)

  1. FPG-cycle premise is regulatorily sound — a state whose BBCE 200% standard re-bases before October is understated for part of the year on the federal October vintage; 7 CFR 273.2(j)(2) makes the BBCE limit the state's TANF non-cash income limit, not a §273.9 SNAP standard. Regulatory reviewer agrees keying to each state's re-base month is the right model.
  2. All four off-cycle months primary-source corroborated — WA (WAC), MA (DTA), OR (OAR 461-155-0180(6)), ME (CMR Ch.301 Chart 4). See table.
  3. Period / vintage selection is correct (tanf_non_cash_fpg.py:32-40) — inclusive >= boundary matches every test: CO flips at 2026-10, WA at 2026-04, ME leads a full guideline year. No off-by-one.
  4. AZ value/date + gross_hheod fix — Feb 2026 = 185%×15,650/12 = $2,412.71; Mar 2026 = 200%×15,650/12 = $2,608.33, both off 2025 guidelines (AZ keeps October vintage cycle); fixing the elderly/disabled gross_hheod (which lagged at 185%) alongside gross is in-scope and correct.
  5. No hard-coded values — month read from fpg_year_start_month[state], guideline from gov.hhs.fpg, percentages from gross/gross_hheod/ny.*. Only bare literals are n-1 and /MONTHS_IN_YEAR (named constant).
  6. Entity / period handling correct and consistent — all four variables are SPMUnit; year-defined geo vars read with period.this_year. The rewire even FIXES a latent MONTH-on-YEAR mismatch (deleted code read state_code_str with a MONTH period; new code uses period.this_year). No stray params arg.
  7. Colorado "month-matters" anti-vacuous test — CO (default October) pins Jan–Sep 2026 at the OLD (2025) vintage $2,608.33 and Oct at the NEW $2,660; a month-ignoring formula fails. Paired with WA's two-sided April boundary and the ME-vs-WA same-January divergence ($2,660 vs $2,608.33).
  8. WA 10-household-size chart / arithmetic reproduction — every asserted dollar figure reproduces exactly (WA 1p $2,608.33 / $2,660, WA 4p $5,358.33; AZ $2,412.71 / $2,608.33; AK $3,258.33; ME $2,660; CO $2,430; NY tiers; CA Jan-2022 $2,146.67). Dollar assertions carry a tight absolute_error_margin: 0.01.
  9. Both new formula variables have direct unit tests — no CRITICAL zero-coverage path; tanf_non_cash_fpg is exercised transitively via 185%-vs-200% cases with known FPG.
  10. Changelog present and correctly typed; no TODO/FIXME/placeholder in any changed file.

Critical (must fix)

None. All validators (regulatory/effective-date, source corroboration, code patterns, entity/period, test coverage) returned zero criticals. All four off-cycle months are primary-source verified.

Should address

  1. VI 2015-10-01 = 1.3 back-history is uncorroboratedparameters/gov/hhs/tanf/non_cash/income_limit/gross.yaml (VI). The PR rewrites VI from flat 2015-10-01: 1.75 to 2015-10-01: 1.32024-10-01: 1.75. The 175% value and 2024-10-01 date are verified, but the announcement only establishes 130% immediately before Oct 2024, not a continuous 2015–2024 span. Historical, pre-window, low population impact (no microdata dependence shown, no current-year result flip). Fix: set the 130%-era start date to when 130% is actually documented, or add a source covering the pre-2024 window.
  2. AZ percentage reference is a bare quote with no resolvable hrefgross.yaml and gross_hheod.yaml (AZ 2026-03-01). Value, date mapping ("benefit month of 03/2026" → 2026-03-01), and October-re-base rationale are all correct; the defect is sourcing/format only (des.az.gov sits behind a 403 challenge page). Fix: add a resolvable/archived CNAP manual URL as a reference title/href, and promote both the AZ and VI justifications from code comments into parameter reference metadata blocks.
  3. MA (February) and OR (March) re-base months have no month-boundary testtests/.../tanf_non_cash_gross_income_limit.yaml. Two of the four off-cycle states the changelog advertises are set in the parameter but never asserted; a regression resetting MA/OR to the October default would pass the entire suite. Fix: add two-sided cases mirroring WA (e.g. MA 2026-01 = 2,608.33 vs 2026-02 = 2,660; OR 2026-02 = 2,608.33 vs 2026-03 = 2,660). This is the single most material coverage gap.
  4. VI 175% / 2024-10-01 step is untestedtests/.../*.yaml. The new VI time-step has no case on either side of 2024-10-01. Add one VI case: pre-2024-10 at 130%, post at 175%.
  5. AZ gross_hheod test is vacuous on the HHEOD branchtests/.../tanf_non_cash_gross_income_limit.yaml:47-54. The age: 70 case expects the same value as the general standard ($2,608.33), so it would pass on the general gross path too. Add a month/scenario where gross and gross_hheod diverge, or assert the HHEOD branch explicitly.
  6. Rounding-removal caveat for round-up-chart states (accepted-by-design; document only) — tanf_non_cash_gross_income_limit.py. The legal argument is sound: categorically-eligible households are exempt from §273.9 standards per 7 CFR 273.2(j)(2), so 273.9(a)(3) rounding does not reach the BBCE limit — the regulatory reviewer accepts returning the exact percentage×guideline. For states whose published charts round UP, the exact value is ≤ the chart value (≤ ~$2), so a household between the exact and rounded figure scores ineligible slightly early vs. the state's own chart. No test shows the ~$2 gap crossing an actual eligibility threshold (Maine's $2,660 lands exactly on the exact value). Recommend documenting the per-state round-direction in the docstring; do NOT re-introduce per-state rounding.
  7. Territory $0 BBCE limit flips a zero-income / high-asset household eligible (documented, do not block) — parameters/gov/hhs/fpg.yaml GU/PR/VI placeholders are 0, so tanf_non_cash_fpg = $0 and the limit = $0; with the BBCE asset-test waiver, income ($0) <= limit ($0) flips such a household SNAP-eligible where the base asset-tested path scored it ineligible. Direction/magnitude: API-only edge, no territory microdata, so it does not move population aggregates; it is pre-existing (the prior ratio path had the same income/0 exposure) and the author already documents it. Report on the record; keep SHOULD ADDRESS, do not prescribe.
  8. tanf_non_cash_fpg duplicates snap_fpg arithmetic (maintainability) — variables/gov/hhs/tanf/non_cash/tanf_non_cash_fpg.py vs variables/gov/usda/snap/income/snap_fpg.py. Not a true duplicate (it adds the per-state cutover month snap_fpg cannot express), but both now encode the same guideline arithmetic and can drift. Consider a shared helper parameterized by cutover month, with snap_fpg as the start_month=10 case; at minimum add a cross-reference comment.
  9. Orphaned snap_gross_test_income_fpg_ratiovariables/gov/usda/snap/income/gross/snap_gross_test_income_fpg_ratio.py. This PR removes its only in-model consumer; it remains a public, self-tested variable (its own YAML test keeps it green) but has no model caller. Acceptable to keep-and-document or remove in a follow-up; add a one-line note so a future reader knows it is intentionally unconsumed.

Suggestions

  1. fpg_year_start_month.yaml description — leads with acronyms ("TANF non-cash (SNAP BBCE)") rather than the standard verb form; consider "Sets the month from which each state's SNAP BBCE income standards begin using the current calendar year's federal poverty guidelines …". House-consistency nit.
  2. Validate integer-valued breakdown: [state_code] (fpg_year_start_month.yaml:135-151) — integer values under breakdown with unit: month should validate (matches */age_group/months.yaml shape; no rate_unit), but confirm on a validation run since it is not independently testable in a read-only pass.
  3. Frame a rounding-guard test explicitly — the absolute_error_margin: 0.01 assertions already catch re-introduced chart rounding as a side effect, but no test is named as a rounding guard; add a comment or one case documenting exact-vs-published-chart divergence so intent survives future "cleanups."
  4. where evaluates both FPG branches (tanf_non_cash_fpg.py:38-40) — correct and idiomatic (vectorized); parameters(f"{year-1}-01-01") for early years relies on held guideline values, which FPG provides back to 1992. Noting as intentional.
  5. Keep test-comment arithmetic in sync — the % × guideline / 12 derivations embedded in test comments (e.g. the recurring $2,412.71 185% figure) are good documentation; ensure they track any future guideline backfill.
  6. AZ comment duplicationgross.yaml and gross_hheod.yaml both restate the AZ rationale; a shorter cross-file pointer in gross_hheod.yaml would reduce drift risk.
  7. WA reference title lacks subsection — file-level title cites bare "WAC 388-414-0001" while the inline comment gives "(2)(a)(ii)"; add the subsection to the title so the citation is self-contained.
  8. CO/HHEOD 2016-vintage history cases removed in the meets_ conversion — not a correctness gap for this PR, but historical-vintage coverage at the 2016 boundary is now thinner; note in case a reviewer wants it retained.

Validation summary

Check Result
Regulatory / effective-date PASS — premise sound, 0 critical; all four off-cycle months verified against primary law
Source corroboration PASS with notes — WA/MA/OR/ME/VI-175% verified; VI-2015 back-history and AZ href open (sourcing, not value)
Code patterns PASS — 0 critical, 3 should (formatting/breakdown-validation/HHEOD-test), 5 suggestion
Entity / period PASS — consistent SPMUnit; period.this_year on year-defined geo vars; fixes a latent month-on-year bug
Test coverage PASS with gaps — no zero-coverage formula; MA/OR month tests missing (HIGH), VI step untested (MEDIUM)
CI PASS — 33/33

Review severity: COMMENT

Zero criticals across all five validators and all four off-cycle re-base months are primary-source verified, so this does not warrant REQUEST_CHANGES; the remaining items (VI 2015 back-history sourcing, AZ href, MA/OR + VI test gaps) are author-judgment and low-impact rather than value errors, so COMMENT is the right call over a bare APPROVE. Credit where earned: the author's own PR body pre-documents the ME mid-January approximation, the rounding-removal legal rationale, and the territory $0-limit edge — several "findings" here are limitations the author already surfaced.

Next steps

  • /fix-pr 9243 to apply fixes (add MA/OR + VI boundary tests; add AZ href / promote VI+AZ refs to metadata; re-date or source the VI 130% era; document rounding round-direction + orphan variable + territory edge).

🤖 Generated by /review-program (Claude Code)

@DTrim99 DTrim99 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Address minor nits, then ready

hua7450 and others added 2 commits August 11, 2026 15:14
- Add MA (February) and OR (March) two-sided re-base boundary tests
- Add AL general-vs-elderly/disabled divergence tests to exercise the
  gross_hheod branch non-vacuously
- Clarify VI 130% era sourcing and promote the VI announcement and an
  AZ 200% corroboration (SNAP Screener) into reference metadata
- Document the chart round-direction caveat, the snap_fpg
  cross-reference, and why the VI step has no dollar assertion
- Add the WAC subsection to the WA reference title and pass parameters
  in the meets_ formula signature

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@hua7450
hua7450 requested a review from DTrim99 August 11, 2026 19:28
@DTrim99

DTrim99 commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Re-review — fix commit 6e996f17c8 verified ✔

Re-checked each finding of the review above against the actual files at head db88221cee (not the commit message), re-doing the arithmetic:

Should-address items resolved:

  • MA (Feb) + OR (March) boundary tests (our top gap) → RESOLVED. Both states now have genuine two-sided cases keyed by month within a 2026 period: MA holds 2,608.33 in January and moves to 2,660 in February; OR holds 2,608.33 in February and moves to 2,660 in March — each with a third assertion at October proving the state month is independent of the federal October cycle. Hand-verified against fpg.yaml: 200% × 15,650/12 = 2,608.33 (2025 guideline) and 200% × 15,960/12 = 2,660 (2026). Genuinely two-sided.
  • gross_hheod vacuous test → RESOLVED, via Alabama (not AZ). The right call: AZ's general and elderly standards are both 200% post-2026-03 so an AZ test is necessarily vacuous, whereas AL genuinely diverges (general 130% / elderly 200%). The new AL cases at 2026-01 assert 2,608.33 for age 70 vs 1,695.42 for age 30 — the differing values mean the elderly case actually exercises the gross_hheod branch (a formula misreading the general standard would return 1,695.42 and fail).
  • VI 130% sourcing → clarified honestly. The vi.gov announcement is now in reference metadata with a resolvable href, and the comment candidly states the 130% is documented only immediately before Oct 2024, with the 2015-10-01 key labeled a file-baseline convention rather than a documented adoption date — exactly the clarification requested (the pre-window value has $0 impact anyway, since VI's FPG is a $0 placeholder).
  • AZ 200% reference → RESOLVED. A resolvable SNAP Screener href was added, with a comment explaining the primary CNAP page 403s; the value/date were already source-verified in the first review.
  • WA reference subsection + meets_ signature → RESOLVED. Title now cites WAC 388-414-0001(2)(a)(ii); the formula signature gained parameters (cosmetic — the arg is unused in the body, no functional effect).

Documented by design (sound): the VI step has no dollar assertion because a $0-FPG territory makes any boundary test pass vacuously; the chart round-direction caveat and the snap_fpg/tanf_non_cash_fpg sync note are now inline. The orphaned snap_gross_test_income_fpg_ratio is untouched — acceptable, it was flagged as intentionally unconsumed.

New-issue scan clean: every new expected value ties out to fpg.yaml, no hardcoded logic or test short-circuits, no partner-test files touched, CI 33/33 green at head.

Recommendation: APPROVE. The two substantive gaps are genuinely closed with hand-checkable arithmetic; the only residuals are the cosmetic unused arg and the honestly-annotated pre-window VI value, neither blocking.

🤖 Generated by /review-program re-verification (Claude Code)

@hua7450
hua7450 merged commit f00ac5b into main Aug 11, 2026
33 checks passed
@hua7450
hua7450 deleted the wa-bbce-april-fpg branch August 11, 2026 21:09
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.

Model state-specific SNAP BBCE poverty-guideline update months

2 participants