Skip to content

PAW_TYP sidecar polish from #600 round-2 review #602

Description

@MaxGhenis

Three note-level findings from the #600 round-2 audit (fable, 8/3), none gating, tracked for a small polish pass:

  1. Present-but-all-NaN PAW_TYP gates silently False on the frame-carried branch. Out-of-contract input (the v3 loader and sidecar path both validate completeness), but a completeness assert on the frame-carried branch would close the gap cheaply.
  2. Duplicate-donor sidecar dies with pandas' generic reindex error. Fail-closed (no fan-out possible) but not named; the loader path's uniqueness error should cover hand-passed sidecars too.
  3. Survey-2025 DDL semantics are inferred from vintage stability. The 2022–24 DDLs pin PAW_TYP = {0 niu, 1 TANF/AFDC, 2 other, 3 both} verbatim; the 2025 archive's composition was validated against pins but its dictionary text wasn't independently confirmed. One provenance line in the sidecar docstring when the 2025 DDL is in hand.

Part of #591.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions