ACS group-quarters records draw a housing take-up flag in the local-area transfer
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- backend, data-engineering
Línea de trabajo
Start in us_runtime/acs_transfer.py by reading _pregnancy_structural_policy_identity and the structural_target_policies registration. Then inspect the stacked-spine terminal contract and the attested imputation.yaml entry, using invented fixtures for a group-quarters unit and a housing unit. Done means both flags are False with a count receipt for group quarters, housing units are unchanged, and an empty mask cannot silently pass.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What
In the ACS local-area build, takes_up_housing_assistance_if_eligible is a rule-less QRF transfer target that the build is required to fill (us/spec catalogs mark it nullable: false; the stacked-spine no-residual gate refuses a null), and the transfer has no group-quarters carve-out for it. So group-quarters records, which have no housing unit, draw a housing take-up flag from the donor.
Measured (2026-09-22, counts only, on the full uncapped staged frame of the local hours rebuild, experiments/us-acs-local-hours-rebuild-20260922/ in #974)
ACS SPM units by household TYPEHUGQ, and how many carry takes_up_housing_assistance_if_eligible == True after the transfer:
TYPEHUGQ |
SPM units | take-up flag True |
|---|---|---|
| 1 (housing unit) | 1,348,408 | 32,495 |
| 2 (institutional GQ) | 84,422 | 2,990 |
| 3 (noninstitutional GQ) | 98,784 | 3,331 |
receives_housing_assistance is missing (nullable) on every ACS unit, so the flag is the only housing-receipt signal these 6,321 group-quarters units carry. The existing carve-out for structurally absent housing inputs is scoped by the literal family name "housing" (pre_subsidy_rent and the rent columns; _reviewed_limitations in tools/_legacy/build_us_acs_multispine_base.py lists them as acs_group_quarters_housing_universe), which these two flags are not in.
Proposed fix
A structural eligibility policy in us_runtime/acs_transfer.py in the shape of _pregnancy_structural_policy_identity: force receives_housing_assistance and takes_up_housing_assistance_if_eligible to False on the TYPEHUGQ in {2, 3} mask with its own receipt (count of units set), registered in structural_target_policies, the stacked-spine terminal contract and the attested imputation.yaml entry; refuse if the mask is empty while group-quarters rows are present, so it cannot silently no-op. Setting False rather than null is forced by the nullable: false catalog entry and the no-residual gate. Tests on invented fixtures: a group-quarters unit comes out False on both flags with the count receipted; a housing unit is untouched.
This stands on its own, independent of the SPM measurement-universe work (policyengine-us#9462); it is PR 2 in docs/us-spm-measurement-universe-producer.md (branch us-spm-measurement-universe-producer-design), where the mechanism is read through with file:line.
🤖 Generated with Claude Code
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 6
- Merge medio
- 1 d 17 h
- PR fusionados (30 d)
- 130
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PolicyEngine/microcosm
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PolicyEngine/microcosm#1220 ·
Los mantenedores suelen responder en 1 día
-
Update two stale comments about the export-mass reviewed-exclusion registerPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
PolicyEngine/microcosm#1108 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
PolicyEngine/microcosm#475 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
PolicyEngine/microcosm#1390 ·
Los mantenedores suelen responder en 1 día
-
ACS transfer: donor SE predictor is the base leaf only; pool lane lacks the SE identity gateAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
PolicyEngine/microcosm#1389 ·
Los mantenedores suelen responder en 1 día
Todos los issues de PolicyEngine/microcosm
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Arekkazu/sgpmp-backend#744 ·
Los mantenedores suelen responder en 1 día
-
Review backlog (security): master-branch remote guard trusts unbound provenance package fieldAbiertoagent/reviewer
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
projectbluefin/utah-packages#634 ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue help wanted
Dificultad 2/5 1-2 días Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
home-assistant/core#188613 ·
Los mantenedores suelen responder en 1 día
-
WebsiteAbiertogood first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 91/100
TanbirRamim/open-source-radar#314 ·
Los mantenedores suelen responder en 1 día