Skip to content

orvanta dmn

Manage DMN decision tables in your workspace. Decisions are addressed by path (e.g. f/demo/loan_approval), the same way flows and scripts are.

Terminal window
orvanta dmn <subcommand> [options]

A DMN decision is kept as two files on disk: the raw, byte-exact {path}.dmn XML, plus a {path}.dmn_decision.json/.yaml sidecar carrying summary, description, and labels — metadata that doesn’t exist in DMN 1.3 XML at all. The XML is never embedded inside the sidecar, so it round-trips byte-for-byte through git.

Create a new DMN decision locally — writes both the .dmn file (a minimal empty decision table) and its sidecar. Doesn’t touch the workspace.

Terminal window
orvanta dmn new f/demo/loan_approval --summary "Loan approval"

List DMN decisions in the workspace.

Terminal window
orvanta dmn list [--show-archived] [--json]

Show a decision’s metadata, or just its raw XML.

Terminal window
orvanta dmn get f/demo/loan_approval
orvanta dmn get f/demo/loan_approval --xml

Push a local .dmn file, overriding the remote version. This deploys — it does not go through the draft table.

Terminal window
orvanta dmn push ./loan_approval.dmn f/demo/loan_approval --message "Add REVIEW band"

Pushing the sidecar file directly is rejected — point push at the raw .dmn file; the sidecar next to it (if present) is picked up automatically.

Evaluate a decision — either one already saved by path, or a local file with --file.

Terminal window
orvanta dmn eval f/demo/loan_approval --data '{"age":30,"country":"NL","amount":10000}'
orvanta dmn eval --file ./loan_approval.dmn --data '{"age":30,"country":"NL","amount":10000}'
  • -d/--data — inputs as a JSON string, @<filename>, or @-/- for stdin.
  • --decision-ref <id> — selects a specific <decision id> when the document defines more than one.
  • --json — print the full EvaluateResponse (hit policy, matched rules, outputs, and any unmapped inputs) as JSON.
  • -s/--silent — print only the outputs object, for scripting.
  • --fail-on-no-match — exit 1 when no rule matched, instead of the default exit 0. “No rule matched” is a normal result (Value::Null), not an error, unless you opt into this.

The human-readable output (no --json/--silent) prints the hit policy, matched rule numbers, a table of output values, and — if any input had no FEEL representation and was silently excluded from evaluation — which one(s), the same warning the decision-table editor’s test panel shows.

Version history for a decision, or one specific version’s XML.

Terminal window
orvanta dmn history f/demo/loan_approval
orvanta dmn show-version f/demo/loan_approval 12
Terminal window
orvanta dmn archive f/demo/loan_approval
orvanta dmn delete f/demo/loan_approval

There is no orvanta dmn service (or any decision-service/DRD subcommand) — Decision Services aren’t a shipped surface yet. There is also no deploy subcommand distinct from push/eval --file: pushing a .dmn file always deploys it.