Skip to content

SNAP for 2026 returns one month's allotment as the annual value (single adult, no income: 298 instead of ~3,576) #9447

Closed

Description

@MaxGhenis

Reproduction

A single adult, no income, California, county_fips 06037, spm_unit_tenure_type default. Household Simulation on the released package.

period snap snap_max_allotment snap_net_income household_net_income
2024 584.0 584.0 0.0 584.0
2025 3,522.0 3,522.0 0.0 3,521.0
2026 298.0 298.0 0.0 297.0

Identical on policyengine-us 1.825.2 and 2.0.0, so this predates the canonical SPM release (#9428). 298 is one month of the 2026 maximum allotment for a one-person unit; the annual figure should be about 12 times that (compare 2025's 3,522). 2024 also looks short at 584 (two months?), which suggests the same mechanism: the annual snap aggregates only the months for which the fiscal-year allotment parameters resolve, rather than carrying the last known allotment forward or uprating.

Why it matters now

The wrapper's household snapshot for this case (policyengine.py tests/test_household_calculator_snapshot.py::test_us_household_snapshot[us_single_adult_no_income]) expects spm_unit.snap 3,596.04 and receives 298.00 on the 2.0.0 tuple. The value is a country result, not a wrapper one, so the snapshot cannot be rebaselined honestly until this is settled. Household API users asking for 2026 SNAP get a twelfth of the annual benefit.

Ask

Confirm the mechanism (parameter coverage for FY2026 allotments vs. the annual aggregation), decide the intended behavior for years past the last published allotment table (carry-forward or uprating), and add a regression test that snap for a full year is at least 12 × the January monthly allotment when eligible all year.

Found during the SPM 1.0 canonical rollout (2026-09-12); reproduction script available in the rollout record.

Activity

  1. MaxGhenis commented on Sep 12, 2026

    @MaxGhenis
    ContributorAuthor

    Correction: this is not an annualization defect. The wrapper lane's adversarial check refuted my diagnosis and I confirmed it against the model: the same 2026 household with weekly_hours_worked_before_lsr = 40 returns SNAP 3,607.57, a clean twelve-month total. The 298 arises from two legitimate changes: the default for weekly hours dropped from 40 to 0, and California's statewide ABAWD waiver expires 2026-01-31, so a no-income single adult with zero hours is subject to the time limit and is eligible for one month. The 2024 figure (584 = two months) follows the same mechanics. Closing; the wrapper snapshot has been rebaselined to 298.00 with that explanation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions