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
After the spec-only country packages change (da8e14a), US source stages are declared in source_stages.json but most cannot execute: us_source_operation_handlers() covers only 6 operation kinds (all ACA-related plus support_clip/disaggregate_aggregate_records). Every other stage's core operations have no handler anywhere in the repo:
Consequence: the published base H5s cannot be reproduced from this repo — only recalibrated. Every input-parity issue (#242, #243, #244, #249) implicitly depends on being able to re-run source stages.
Proposal
Implement shared runtime handlers for the declared operation kinds, prioritized by downstream need:
fit_labor_market_models (org_wages) — hours inputs are the SNAP work-requirements blocker
The immigration/SSN source stage (#266) established the pattern: manifest entry + shared runtime handler + tests. Handlers should be generic interpreters of manifest parameters (like the existing ACA handlers), not country-specific Python.
Context
Found while auditing SNAP work-requirements readiness: the manifest declares weekly_hours_worked_before_lsr as an org_wages output with full provenance, but nothing in-tree can produce it.
Problem
After the spec-only country packages change (da8e14a), US source stages are declared in
source_stages.jsonbut most cannot execute:us_source_operation_handlers()covers only 6 operation kinds (all ACA-related plussupport_clip/disaggregate_aggregate_records). Every other stage's core operations have no handler anywhere in the repo:org_wages:fit_labor_market_models— blocks hours-worked inputs (Carry hours-worked inputs through Populace US outputs #242, SNAP OBBBA work requirements: restore data inputs needed for household exposure analysis #248)scf_wealth:replace_sentinels,derive,fit_weighted_qrf,head_carrysipp_tips:fit_tip_income_model,zero_when_falsemeps_esi_premiums:assign_by_plan_typeprior_year_income:join,replace_sentinelsmortgage_conversion: all three operationsacs_rent:aggregate_person_to_household,fit_weighted_imputer,zero_when_false,head_carryvehicle_assets:fit_vehicle_model,fold_intoConsequence: the published base H5s cannot be reproduced from this repo — only recalibrated. Every input-parity issue (#242, #243, #244, #249) implicitly depends on being able to re-run source stages.
Proposal
Implement shared runtime handlers for the declared operation kinds, prioritized by downstream need:
fit_labor_market_models(org_wages) — hours inputs are the SNAP work-requirements blockerfit_weighted_qrf+head_carry+replace_sentinels/derive(scf_wealth, acs_rent share these)The immigration/SSN source stage (#266) established the pattern: manifest entry + shared runtime handler + tests. Handlers should be generic interpreters of manifest parameters (like the existing ACA handlers), not country-specific Python.
Context
Found while auditing SNAP work-requirements readiness: the manifest declares
weekly_hours_worked_before_lsras an org_wages output with full provenance, but nothing in-tree can produce it.