Configure Advisory Decisions

Complex workflows often force agents to make judgment calls between competing approaches. The Decision subsystem gives agents a way to request a structured second opinion through the AdvisoryDecision tool without granting that advisor any execution authority.

This guide walks through choosing a decision provider, configuring model routes, and setting call guardrails.

Prerequisites

Step 1: Choose a Decision Provider

Holon supports two provider architectures for decisions:

  1. Local ONNX (zero-egress): Runs a compact classifier entirely on your CPU using ONNX Runtime. No prompts or decisions leave your machine.
  2. Remote Provider: Sends structured decision queries to an external model endpoint over HTTP (such as TypeSafe Jev or OpenAI-compatible endpoints).

For private environments or air-gapped tasks, choose the local ONNX provider.

Step 2: Configure the Provider

Option A: Use the Local ONNX Provider

Enable the local provider and select a preset:

holon config set decision.enabled true
holon config set decision.local_onnx.enabled true
holon config set decision.local_onnx.preset "jev-selector-q4f16"

You can allocate additional CPU threads if your system has spare cores:

holon config set decision.local_onnx.num_threads 2

Option B: Use a Remote Provider

Set the decision model route directly:

holon config set decision.enabled true
holon config set decision.model "typesafe@default/typesafe-ai/jev"

You can also configure these settings visually in the Web GUI under Settings → Decision Settings.

Step 3: Enable the Advisory Tool and Set Guardrails

The AdvisoryDecision tool remains hidden from agents until you explicitly turn it on. Enable the tool and set safety boundaries to prevent runaway loops:

# Expose the tool to agent execution loops
holon config set decision.tools.enabled true

# Cap tool invocations to 3 calls per agent turn
holon config set decision.tools.max_calls_per_turn 3

# Require at least 65% confidence; lower scores result in an explicit abstain
holon config set decision.tools.min_confidence 0.65

# Set an execution timeout (in milliseconds)
holon config set decision.tools.timeout_ms 10000

Step 4: Verify with a Test Prompt

Run a short prompt that requires choosing between explicit options:

holon run "Evaluate whether to use an index scan or table scan for 50 rows in PostgreSQL. Consult the advisory decision tool before recommending."

Inspect the output or run transcript:

holon transcript

You will see an AdvisoryDecision tool invocation containing:

Notice that the agent receives the outcome as advisory evidence. It remains free to accept, weigh, or reject the recommendation.

Next Steps