Skip to content

API Surface (Conceptual)

Criterion aims for a minimal public API.

defineDecision(definition)

Defines a decision:

  • id, version
  • input schema
  • output schema
  • rules
  • metadata

engine.run(decision, context, options)

Evaluates a decision against a context. Profiles are injected via options:

ts
engine.run(decision, context, { profile: "high-inflation" })

engine.explain(result)

A helper utility that formats the explanation for display.

The canonical explanation always lives in result.meta.explanation. This method is a formatter, not a data source.

Returns a structured explanation:

  • matched rule
  • evaluated rules
  • reasons
  • profile used
ts
// Canonical source (always available)
result.meta.explanation

// Formatter helper (optional)
engine.explain(result)

Released under the MIT License.