Skip to content

Route SPM-unit state FIPS through persons in the release tool#426

Merged
MaxGhenis merged 1 commit into
mainfrom
spm-state-fips-via-person
Jul 14, 2026
Merged

Route SPM-unit state FIPS through persons in the release tool#426
MaxGhenis merged 1 commit into
mainfrom
spm-state-fips-via-person

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

Build M's third sparse attempt failed in the SNAP state take-up path: _spm_unit_state_fips called frame.broadcast("state_fips", to="spm_unit"), but Frame.broadcast only targets the person entity — a plain API misuse in a coverage-campaign restoration (the #371/#376 SNAP caseload machinery) that no test exercised and Build J never ran.

Fix: broadcast household state to persons and collapse per SPM unit, failing closed if a unit spans two states or carries no person rows.

Verification: regression test (aligned two-state fixture + split-unit guard) fails on the old helper, passes with the fix; full fiscal-refresh builder suite green; and the fixed helper runs clean against the real base-r5 final-export frame — 352,078 SPM units across 51 states. CI-ruff + format clean.

🤖 Generated with Claude Code

Build M's sparse run failed in the SNAP state take-up path:
_spm_unit_state_fips called frame.broadcast(..., to="spm_unit"), but
Frame.broadcast only targets the person entity. The path is a coverage-
campaign restoration (the SNAP caseload targets) seeing full-scale
execution for the first time — Build J predates it and no test
exercised the helper.

Broadcast household state to persons and collapse per SPM unit,
failing closed if a unit ever spans two states or carries no person
rows. Verified against the real base-r5 final-export frame: 352,078
SPM units across 51 states resolve cleanly. The regression test fails
on the old helper and passes with the fix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@MaxGhenis MaxGhenis merged commit 60e6df7 into main Jul 14, 2026
4 checks passed
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.

1 participant