Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

ACS group-quarters records draw a housing take-up flag in the local-area transfer

Aperta
#975 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@DTrim99 ci sta già lavorando.

Dal 28/9/2026.

  • #1055 di @DTrim99 — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
52/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

Lingua principale
Python
Stelle
0
Fork
6
Merge medio
1g 17h
PR unite (30g)
130

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PolicyEngine/microcosm

Tutte le issue di PolicyEngine/microcosm

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.