v1.0.0 — stable: the tq1 contract is committed
anomalyx is 1.0. Contract-first anomaly detection over arbitrary corpora — the executable is the contract, and that contract is now stable.
No code changes from 0.9.0; this commits the wire contract.
Stable as of 1.0
Breaking any of these requires a major bump + a PROTOCOL change — never quiet under 1.x:
- protocol id
anomalyx/tq1; exit codes0/1/2; - the dense finding-row layout
[detector, class, handle, confidence, severity, score, reason]+ dict string table; - handle forms
column:/cell:/row:/range:/dist:; - required envelope fields and the severity ladder.
What 1.0 includes
- ~30 input formats across tabular, columnar/data-lake/db, logs & observability, security telemetry, and network — one engine-independent record model.
- 9 detectors / 7-class taxonomy, all deterministic.
- FDR control (
--fdr), output scoping (--top/--min-severity, honest truncation), column roles (identifier/sequence skipping), unified confidence calibration (comparable severity across detectors), and--setto tune any config field — all fingerprinted intoconfig_version. - Determinism: same input + same
config_version⇒ byte-identical output, validated against NIST StRD and at 1,000,000 rows. - Gates: property tests +
cargo-mutants0-survivors, a fuzz-style parser-robustness harness, and golden-envelope snapshot tests guarding the contract.
Install: cargo install anomalyx
Full changelog: v0.9.0...v1.0.0