v0.1.0 — First public release
Whydunit v0.1.0 — First public release
Find the why behind AI pipeline failures — synthetic, offline, deterministic.
What's in the box
- Simulator — 10-stage AI pipeline, 35-signal telemetry catalogue, seeded generator with diurnal seasonality, and a 12-scenario incident library (σ-shift injection with onset/ramp control). CLI:
python -m whydunit.simulator - Forensic engine — robust z-score + EWMA anomaly detection, two-window change-point detection, cross-signal correlation clustering, dependency-DAG origin reasoning, and a signature-scoring hypothesis engine with confidence bands. Fully deterministic, zero LLM calls.
- Streamlit console — ten investigation pages: dashboard, incident explorer, pipeline view, timeline, signal explorer, forensic analysis, evidence graph, incident comparison, case-file export (server-side fallback included), and ground-truth eval.
- Eval harness —
python -m whydunit.evaluationgrades diagnoses against ground truth, which is firewalled out of the forensic engine (enforced by test).
Report card (1 day @ 1-min resolution, seed 42)
- 12/12 scenarios diagnosed correctly at top-1
- 0 false positives, 0 false negatives
- Detection delays: 10–37 minutes
Under the hood
- Python ≥3.12, uv-managed; pandas 3 / numpy 2.5 / plotly / networkx / scikit-learn
- 140 tests passing, ruff clean
- CI: lint + format + tests + eval smoke on ubuntu/windows × py3.12/3.13
Roadmap
v0.2: optional LLM explanation layer (explains deterministic evidence, never generates it), more scenarios. See README for the full roadmap.
MIT licensed.