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.
orvanta dmn <subcommand> [options]Local file layout
Section titled “Local file layout”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.
Subcommands
Section titled “Subcommands”new (alias bootstrap)
Section titled “new (alias bootstrap)”Create a new DMN decision locally — writes both the .dmn file (a minimal empty decision table) and its sidecar. Doesn’t touch the workspace.
orvanta dmn new f/demo/loan_approval --summary "Loan approval"List DMN decisions in the workspace.
orvanta dmn list [--show-archived] [--json]Show a decision’s metadata, or just its raw XML.
orvanta dmn get f/demo/loan_approvalorvanta dmn get f/demo/loan_approval --xmlPush a local .dmn file, overriding the remote version. This deploys — it does not go through the draft table.
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.
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 fullEvaluateResponse(hit policy, matched rules, outputs, and any unmapped inputs) as JSON.-s/--silent— print only theoutputsobject, 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.
history / show-version
Section titled “history / show-version”Version history for a decision, or one specific version’s XML.
orvanta dmn history f/demo/loan_approvalorvanta dmn show-version f/demo/loan_approval 12archive / delete
Section titled “archive / delete”orvanta dmn archive f/demo/loan_approvalorvanta dmn delete f/demo/loan_approvalWhat’s not here
Section titled “What’s not here”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.
Related
Section titled “Related”- Decision models (DMN): hit policies, the FEEL cell grammar, and engine limits.
- The decision-table editor: the same operations from the product UI.
- Sync: deploy a
.dmn/sidecar pair alongside the rest of a workspace. - Build your first decision: a step-by-step tutorial using this CLI and the editor together.