Everything you need to trust a simulation
A complete validation layer — deterministic where it can be, intelligent where it must be.
Deterministic physics validation
287 rule-based checks across 21 domains: bounds, conservation laws, dimensional and cross-variable consistency.
AI-assisted validation
A second-pass LLM reviews full distributions to catch what rules miss — magnitude realism, provenance artifacts, ML-readiness.
Regression detection
Compare against a baseline and flag when a new run drifts outside expected envelopes.
Simulation diffing
Field-level and statistical diffs between two runs, surfaced as a structured report.
CI/CD integration
Gate merges and deploys on validation status. GitHub Actions, GitLab, and Jenkins ready.
Historical analysis
Track validation trends across thousands of runs to spot slow degradation early.
Batch validation
Validate entire sweeps and datasets in parallel with per-trial exclusion accounting.
Plugin system
Register custom validators and organization-specific rules in a typed rule engine.
API-first architecture
Everything is an endpoint. Consistent schemas, stable error codes, request IDs.
First-class SDKs
Python today; JavaScript and TypeScript in progress, generated from one OpenAPI spec.
Enterprise security
API keys, rate limiting, audit logs, SSO, and private deployments for regulated teams.
The honest numbers
n=9,333 training trials, 30.2% corrupted across 6 failure modes. Three-way comparison: no filtering vs naive IQR/z-score vs SimAPI APIE. Mean ± std across 5 seeds.
30%
of trials corrupted
6 categories including the hardest: measurement noise and sensor drift
93.3%
of corruptions caught
precision 99.8% — near-zero false positives
99.8%
exclusion precision
when flagged, it is genuinely corrupted
| Model | Corrupted | Naive (IQR+Z) | SimAPI APIE | Clean ceiling |
|---|---|---|---|---|
| Neural net (MLP) distribution-sensitive | 3.94% MAPE | 1.13% MAPE | 1.06% MAPE | 0.68% MAPE |
| Gradient boosting robust to outliers | 0.42% MAPE | 0.44% MAPE | 0.42% MAPE | 0.39% MAPE |
Why MLP improves 73%
APIE removes 100% of sensor drift rows — the velocity creep shifts the entire feature distribution. Neural networks are maximally sensitive to this: an MLP trained on drifted velocity learns the wrong v→Cd relationship for 15% of the dataset. Removing these rows lets the model learn the true distribution. MLP goes 3.94% → 1.06%, beating naive filtering by 4.0%.
What naive filtering can’t see
A naive IQR filter removes rows that are statistical outliers column-by-column. Cross-variable corruptions (Re inflated 1.7–2.2× while v is unchanged) produce values inside each column’s individual bounds — IQR catches zero of them. APIE catches 100% by checking Re/v as a physical invariant. Similarly, Pa→kPa unit errors produce plausible individual pressure values — only P/(ρT)≈0.287 instead of 287 reveals the error.
Reproduce: python -m benchmark.run_benchmark — 5 seeds · n≈9,333 train · 63.7s runtime · numbers vary ±1.8% (GBT) / ±3.8% (MLP) across seeds
Put a quality gate in front of every simulation run.
Generate a key, validate a sample run in the browser, then move the same checks into your CLI, SDK, or CI pipeline.