Three note-level findings from the #600 round-2 audit (fable, 8/3), none gating, tracked for a small polish pass:
- 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.
- 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.
- 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.
Three note-level findings from the #600 round-2 audit (fable, 8/3), none gating, tracked for a small polish pass:
PAW_TYPgates 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.Part of #591.