Business rules that an AI writes and a machine proves.

feelc is a generic business-rule engine: a readable DMN/FEEL .rules language, compiled to a small deterministic VM. An LLM can author the rules — but at execution time everything is 100% deterministic, reproducible and auditable. No backend below: the playground runs the real engine in your browser via WebAssembly.

Features

Deterministic by construction

Exact decimals, no floats, no LLM on the execution path. The same inputs always give the same output — bit-for-bit, on every platform.

Formally verified

The engine proves completeness (no uncovered case), absence of conflicts, and flags dead rules — with concrete counter-examples.

AI-authored

Describe rules in natural language and let an LLM draft the model; the engine compiles, verifies and repairs it. AI proposes, the VM disposes.

Explainable & traceable

Every decision is replayable with a justification trace and @source citations back to the policy it encodes.

Visual decision graph

See the decision-requirements graph (inputs → decisions) rendered live, with verification findings overlaid.

Runs anywhere

One static WebAssembly module — no server, works offline. The same engine ships as a CLI and an HTTP service.

Scales to projects

Group hundreds of rules into modules linked into one model, with cross-module references, project-wide verification and a web editor. Project mode →

A rule looks like this — paste it into the playground:

model "promo" {}

input cart_total : number >= 0
input is_member  : boolean

# Keep the BEST applicable discount (collect max).
decision discount_pct : number {
  needs: cart_total, is_member
  hit: collect max
  >= 50  | -    => 5
  >= 100 | -    => 10
  -      | true => 8
}