DecisionManager

Performance & resilienceLiveShipped and available in product today

Ops-grade decision runtime — budget, admit, shed, cache, hot-deploy.

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

LiveShipped and available in product today

Live today — what the product actually runs

These ship in Decision Server health, execute, batch, and hot-deploy surfaces — not marketing vapor.

  • LiveShipped and available in product today

    Deterministic step budget

    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

  • LiveShipped and available in product today

    Admission pool

    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

  • LiveShipped and available in product today

    SERVICE_BUSY load shed

    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

  • LiveShipped and available in product today

    Deploy / compile cache

    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

  • LiveShipped and available in product today

    Hot deploy & rollouts

    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

  • LiveShipped and available in product today

    Idempotent batch execute

    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

LiveShipped and available in product today

ENGINE-PERF measured facts

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

ShapeEval p50Eval p95Note
100k rules · FIRST · ~20 candidates (equality index)292 ns334 nsSub-microsecond after O(1) index lookup
100k rules · ALL · ~20 candidates3.5 µs3.9 µsStill ≪ 1 ms at 100k
100k multi-package (2k × 50) guarded container187 µs190 µsp99 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.

ResidualNot productized yet — stated for honesty, not marketed as ready

Named residual — not Live product

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

    ResidualNot productized yet — stated for honesty, not marketed as ready

    No Live RetePlus / Sequential / Fastpath picker, no working-memory agenda product. One single-pass Decision Manager engine.

  • GPU matching

    ResidualNot productized yet — stated for honesty, not marketed as ready

    No GPU rule matcher or accelerator path in product. Throughput comes from indexed single-pass Rust evaluation and admission control.

  • Multi-region active-active

    ResidualNot productized yet — stated for honesty, not marketed as ready

    Hosted 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.

Why this matters under load

Scale the right signal. Fix residual scans before buying pods.

Reproducible refusals

Budget kills and SERVICE_BUSY are properties you can reproduce in test — not load-dependent timer flakes that disagree across nodes.

Scale the right signal

Saturation high + normal latency → add nodes. Residual scans or budget pressure → fix the ruleset first; more pods only buy time.

Compile off the hot path

Deploy cache + prewarm keep compile cost off steady-state execute. Low hit_rate is the operator page, not a mystery GC pause.

Evaluate performance on your rules

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

Show leadership the runtime story in one meeting

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