Skip to content

Implement in-tree runtime handlers for declared US source-stage operations #291

Description

@daphnehanse11

Problem

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:

  1. fit_labor_market_models (org_wages) — hours inputs are the SNAP work-requirements blocker
  2. fit_weighted_qrf + head_carry + replace_sentinels/derive (scf_wealth, acs_rent share these)
  3. The remaining stage-specific fits

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions