Vetting
PreFlight — Deterministic Upstream Data Ingestion Gate
pf_v1.01 is tested against a corpus of real-world structural failures; this page documents the suites and results.
The test suite
Engine structural validation lives in the step10 pytest package (tests/step10/).
The suite currently comprises TODO-CLAY: confirm tests.
Each evaluation runs seven tests in fixed order:
- Schema Structural Integrity
- Row Iteration Viability
- Numeric Coercibility
- Multiple Valid Representations
- High Null Density Columns
- Malformed or Truncated Rows
- Text Encoding Integrity
Final verdict reduction is mechanical:
- Any FAIL → FAIL
- Else any WARN → WARN
- Else any ANALYSIS_INCOMPLETE → ANALYSIS_INCOMPLETE
- Else all PASS → PASS
- Else → ANALYSIS_INCOMPLETE
Fail-closed behavior:
- Content plausibility, delimiter detection, and evidence sufficiency gates run before the seven tests; failure short-circuits to ANALYSIS_INCOMPLETE without issuing PASS.
- Evidence gate minimums: 2 columns, 30 data rows, 20 non-empty rows (logical
csv.readerrows). - Reduction never promotes a dataset to PASS when any test returns FAIL, WARN, or ANALYSIS_INCOMPLETE.
The step10 suite gates every engine change to preflight_core.
Mutation testing
Enforcement logic is deliberately mutated; the step10 suite must kill each competent mutant or the gap is closed. Equivalent mutants (no behavioral effect on current fixtures) are documented separately.
Latest cosmic-ray run (dataset_testing/mutation_results.json):
- Mutants generated
- 1,306
- Completed
- 1,306
- Killed
- 1,306
- Survived
- 0
- Mutation score
- 100.0%
- Runtime
- 1,286.1 s
- Survivors on disk
- none (
mutation_survivors.jsonis empty)
The corpus
Validated against TODO-CLAY: confirm structural failure patterns drawn from real-world failures. The corpus grows; the published N updates.
Documented corpus sweeps in verification artifacts:
dataset_testing/s2_results.json— 28 degenerate-input fixtures with reconciled verdictsdataset_testing/s2b_num_results.json— 13 numeric-shape fixtures with reconciled verdictsdataset_testing/degenerate_inputs/— 61 committed CSV fixtures
No engine change ships with a corpus regression against these sweep results.