fix(dataset): row-level OOB fallback prevents silent coercion of malformed timestamps
The whole-column errors="coerce" fallback in _convert_temporal_columns() could silently coerce malformed date strings to NaT when they appeared in the same column as an out-of-bounds value. The OOB exception was caught first, then the fallback coerced everything — violating the invariant that only OOB values are coerced. Replaced with a row-level fallback: iterate values, coerce only individual OutOfBoundsDatetime values to NaT, re-raise on all other exceptions (malformed strings, parse errors). Added parametrized mixed-column test covering both value orderings. Cleaned up unused test helpers; broadened pytest.raises exception type to (ValueError, pd.errors.ParserError) for pandas-version safety. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
M
Matt Fitzgerald committed
0240bf3540c734802b8918dc43ef98cc76bee34e
Parent: 0e6fa96
Committed by Elizabeth Thompson <eschutho@gmail.com>
on 5/20/2026, 12:11:58 AM