Reproducible refusals
Budget kills and SERVICE_BUSY are properties you can reproduce in test — not load-dependent timer flakes that disagree across nodes.
Deterministic step budget · 2 MB scored in ~3.4 ms · 947-byte edge bundle, no database · Blue/green rollback
See how it compares to ODMPerformance & resilienceLive — Shipped and available in product today
Built for platform architects and SREs who need predictable decisions under load. Live admission and shed signals you can wire to HPA; measured engine microbench from ENGINE-PERF — never invented ODM head-to-head numbers.
No credit card · Trial does not auto-convert · Residual multi-algo / GPU / multi-region mesh named below
These ship in Decision Server health, execute, batch, and hot-deploy surfaces — not marketing vapor.
Every decision is bounded in steps (default 5,000,000 via ENGINE_MAX_STEPS), not a wall-clock lottery. Same input → same step spend on every node — reproducible for auditors and tests. Optional ENGINE_MAX_MILLIS is a backstop only.
GET /api/health/engine → budget.max_steps · budget.exceeded_total
Isolated execution plane with capacity = threads × 8 (e.g. 11 threads → 88). inflight and saturation are first-class autoscaling signals — scale on saturation before callers feel it.
GET /api/health/engine → threads · capacity · inflight · saturation
When inflight hits capacity the node refuses rather than queueing without bound. Callers get a fast, retryable busy response; shed_total is the lagging counter. Protects in-flight work instead of silent queue collapse.
saturation → 1.0 · shed_total rising · retry with Idempotency-Key
Compile once, evaluate many. Node compile cache (capacity 50,000 artifacts, TTL backstop) keeps warm versions off the request path. Watch hit_rate, misses, and forced_evictions on /api/health/node.
compile_cache.hit_rate · compile_micros · source cache | compiled_now
Publish a version and shift traffic with hot-deploy rollouts, blue/green slots, and promote / abort / rollback — no application redeploy to change policy. Zero-drop under every failure mode remains Partial honesty, not a blank guarantee.
POST …/hot-deploys · promote · pause · rollback
POST …/execute/batch runs up to 100 cases against one resolved definition with a shared compile hit. Ideal for overnight portfolios, migration parity, and high-volume probes without paying compile per row.
POST /api/server/services/{sid}/execute/batch · max 100 cases
Pure decision-engine crate on Apple M4 Pro (2026-08-04), release profile. Compile once, time evaluate only. Not full HTTP, not Postgres, not a side-by-side ODM run.
Host: Apple M4 Pro · 12 logical cores · rustc 1.97 · Budget::unlimited() for microbench
| Shape | Eval p50 | Eval p95 | Note |
|---|---|---|---|
| 100k rules · FIRST · ~20 candidates (equality index) | 292 ns | 334 ns | Sub-microsecond after O(1) index lookup |
| 100k rules · ALL · ~20 candidates | 3.5 µs | 3.9 µs | Still ≪ 1 ms at 100k |
| 100k multi-package (2k × 50) guarded container | 187 µs | 190 µs | p99 under 0.2 ms · ~2,053 steps vs full scan |
Allowed claim
Allowed: equality-indexed tables are designed to beat a linear rulebase scan; measured here, 100k FIRST/ALL stay sub-millisecond when index keys are present.
Forbidden without ODM side-by-side
Forbidden without a same-host ODM side-by-side: any “Y× faster than ODM” or absolute ODM latency. We did not run ODM on this host.
Enterprise buyers deserve a clear residual list. Prefer Residual over a fake Live control.
Single-pass engine with equality indexes + residual_rules is Live. Multi-algo Rete product UI is not.
Multi-algorithm Rete product
Residual — Not productized yet — stated for honesty, not marketed as readyNo Live RetePlus / Sequential / Fastpath picker, no working-memory agenda product. One single-pass Decision Manager engine.
GPU matching
Residual — Not productized yet — stated for honesty, not marketed as readyNo GPU rule matcher or accelerator path in product. Throughput comes from indexed single-pass Rust evaluation and admission control.
Multi-region active-active
Residual — Not productized yet — stated for honesty, not marketed as readyHosted plans are region-resident (EU Frankfurt default). We do not operate a global multi-region active-active mesh. Edge/WASM to your own runtimes is account-scoped.
Scale the right signal. Fix residual scans before buying pods.
Budget kills and SERVICE_BUSY are properties you can reproduce in test — not load-dependent timer flakes that disagree across nodes.
Saturation high + normal latency → add nodes. Residual scans or budget pressure → fix the ruleset first; more pods only buy time.
Deploy cache + prewarm keep compile cost off steady-state execute. Low hit_rate is the operator page, not a mystery GC pause.
Start a free trial for Decision Server health and execute paths, or book a 30-minute executive demo focused on admission, shed, and hot deploy.
No credit card · Does not auto-convert · EN · FR · ES · AR
Walk health/engine admission, a budgeted execute, batch, and a hot-deploy rollout — then contrast residual multi-algo marketing from legacy suites. Prefer a guided session with an executive seller when you are comparing platforms.
No credit card · Trial does not auto-convert · Export anytime