Skip to content

Reject malformed CSV input and partial backtest results - #3

Open
jadenfix wants to merge 1 commit into
mainfrom
codex/csv-input-integrity-20261013
Open

jadenfix wants to merge 1 commit into
mainfrom
codex/csv-input-integrity-20261013

Conversation

@jadenfix

@jadenfix jadenfix commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

A CSV row containing 42391.03oops, nan, or an invalid numeric value previously produced an accepted price or a substituted zero. Malformed timestamps/row widths were skipped, allowing a successful backtest over a silently shortened dataset. Empty files were also silently omitted.

Require complete finite numeric values, positive OHLC prices, and nonnegative volume. Reject a load with invalid observations or empty/header-only CSV files and clear its partial event stream. Ignore only genuinely blank lines so conventional trailing newlines still work. Signed auxiliary fields and zero volume remain supported. Preserve the per-file header mapping from merged #2.

Validation at main base fa218464bc873b9081680d878d29beb1f8fa6618: GCC 13.3 builds the production reader and full backtester against byte-verified csv2 4f3c41db6457465e94b92b91fc560b911c16a16a; all 16 schema/input-integrity tests (including subcases) and the original historical CSV/missing-path executable smoke pass. The expanded tests produce 13 failure reports on unchanged main. Both rejection and valid replay paths invoke the actual executable; the probe also verifies no partial stream survives a failed load. Hosted CMake/CTest and GitGuardian checks pass at head 3bb5bab7d7214a6c4c851d2b877a795c3a300cc2: https://github.com/jadenfix/random_cpp_doesnt_work/actions/runs/38333055270 (PR) and run38333032669 (push). All four published source blobs match the tested local bytes.

This is input correctness using the committed small BTC excerpt; duplicated test filenames are schema fixtures, not ETH price/performance evidence. Calendar normalization/timezones, OHLC cross-field consistency, full historical strategy performance, and DRL inference are not certified. No media captured. Coordinator100e79 retains sole merge ownership; this is a separate additive follow-up to already merged #2, with no other session's branch changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant