You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Supply the certified SPM independence role for legacy ACS-local ASEC and PUF records #598
The certified ACS-local source (populace_us_2024_acs_local.h5, SHA-256 769756c31f3ca646d12c272511744dec04c0e68870c6946dd945fbba65b6a7ec) does not store is_spm_independent_minor_role for its ASEC and PUF records. policyengine-us therefore falls back to "household head or spouse".
Census builds 28 of those records' SPM units around an independent 15–17-year-old who is not the household head:
27 are single-person units;
1 is a teen parent with a young child.
Under the fallback these units have no classified adult and raise SPM_COMPOSITION_REQUIRED. They are spread across 17 states (MA, SD, MS, NY, PA, CO, IN, OR, MD, MI, LA, OH, VA, MT, RI, MO, HI), none of them in Utah. Once the group-quarters fix (#597) lands, these units would still stop every state and district run that contains them.
The same records are in the certified national release (populace-us-2024-spm-20260915). Its independence list, releases/populace-us-2024-spm-20260915/source_spm_person_independence.csv, has its SHA-256 already pinned in the .py bundle manifest. That list covers exactly the source's 166,321 ASEC/PUF people, joined on person_id and person_spm_unit_id, and its provenance resolves exactly 28 minor-only units. The ACS-local build lacks the role because it ran a few hours before PolicyEngine/microcosm#959 merged.
Backward-compatible fix
When cutting year files from this exact source, .py would set is_spm_independent_minor_role for each person:
ASEC/PUF people get the value from the hash-verified national list. The match must be exact: no missing, extra or duplicated people, and no SPM unit disagreements.
ACS people get is_household_head, which is the value the model computes for them today.
Only the 28 units change.
When this is no longer needed
This is backward compatibility for a legacy certified source, kept while anything still reads that source. The source-specific derivation can be retired once a certified ACS-local release stores is_spm_independent_minor_role for its ASEC/PUF records itself, for example a rebuild that includes PolicyEngine/microcosm#959.
changed the title [-]Temporarily supply the certified SPM independence role for ACS-local ASEC and PUF records[/-][+]Supply the certified SPM independence role for legacy ACS-local ASEC and PUF records[/+]on Oct 13, 2026
Activity
Temporarily scope ACS-local SPM measurement and supply the certified …
[-]Temporarily supply the certified SPM independence role for ACS-local ASEC and PUF records[/-][+]Supply the certified SPM independence role for legacy ACS-local ASEC and PUF records[/+]Measure SPM poverty on legacy certified US sources (backward compatib…