litmus v1.2.0

litmus v1.2.0 runs azoth ensembles in preview. A bundle is one general model plus optional specialists — filegroups/<name>/ and filetypes/<name>/ — routed per file from a top-level config.json. The model that knows your input runs first; general is the fallback.

Ensembles. models/seed_NN.{txt,json} collapse to a mean prediction. K=1 stays byte-identical to the old single-model path, so existing models keep working without a flag day.

Calibration. Per-route isotonic calibrators map raw probabilities to calibrated ones at load. NaN/Inf rejected; x strictly ascending; y monotone in [0, 1]; thresholds re-validated. Bad calibrators fail loudly at load, not at verdict time.

LightGBM runs alongside XGBoost, picked by file extension. Vocabularies are tiered and severity-prefixed: tierbi:, tiertri:.

Operations. --max-rss-gb=-1 disables RSS throttling for systemd-supervised workers. OmniOS/illumos workers run via SMF, install to /opt, build with gmake in jails, and load rizin through LD_LIBRARY_PATH. Needs cleave 1.2; validate runs with YARA, radare2, and UPX off.

Fixes. Feature vector ordering now matches training; score mismatches are gone. Workers hint http:// on InvalidContentType instead of dumping a TLS error. Poll failures log URL, error chain, elapsed, backoff, consecutive errors, and a body excerpt. Git failures fall through stderr → stdout → exit code instead of going silent. validate miscategorizations are warnings, not fatal; output names the active traits dir. Specialist load failures log the full error chain.

The default model is still beta. Read the contributing capabilities; don't trust the verdict alone.

v1.2.0 release notes.

brew upgrade atomdrift/tap/litmus

← All news