Skip to content
Decision plane

Bounded Planner / Executor / Critic

The Decision plane runs as a bounded triad: the Planner produces a typed plan; the Executor runs only verified steps via the Tool Gateway; the Critic verifies and scores. Subagent lanes isolate parallel work; durable background sessions resume by checkpoint. Replay is a property of the system.

DECISION TRIADplanner proposes · critic verifies · executor acts · critic scoresPlannertyped Plansteps · checkpointsapproval_mode per stepCritic — verifytool allow-listevidence requiredok / replan / rejectExecutor → Tool Gatewayread_onlylocal_writenetworkdelegateddestructive → propose → approve → executeCritic — scoreevaluatorsaccept · retryreplan · escalateDecisionRecorddecision_id · evidence_refsapprovals · controls_activetrace_idSubagent laneisolated RunContextown budget · own traceproposes resultsBackground session (long_running)checkpoint after every Critic verdictsession_id pinned to pack version + KG snapshotreplay re-derives verdict offlineconsolidatespawn lanereplan

Three roles, three artifacts

Plan, transcripts, verdict — each independently auditable. The Critic re-derives its verdict offline during replay without re-executing tools.

Anti-pattern prevented

Single agentic loop: conflates planning, execution, and judgment, making failures uninterpretable. The bounded triad fixes that.

Metrics that matter

Plan-verification pass rate, retry/recovery rate, escalation rate by risk tier, mean time to safe completion, loop-guard trip rate.

Typed plan with decision checkpoints

Plans are typed JSON with steps, dependencies, declared approval_mode per step, and decision checkpoints that resolve to a Decision Spec from the Decision Catalog.

Plan (Planner output)
{
  "plan_id": "plan_refund_01",
  "intent": "support.refund",
  "steps": [
    { "id": "s1", "tool": "adp_orders.lookup", "params": { "order_id": "ord_881" } },
    { "id": "s2", "tool": "adp_policy.eval", "depends_on": ["s1"] },
    {
      "id": "s3",
      "tool": "adp_payments.issue_refund",
      "depends_on": ["s2"],
      "approval_mode": "destructive",
      "requires": ["GATE_FINANCE_APPROVAL"]
    }
  ],
  "decision_checkpoints": [
    { "decision_id": "support.refund.execute", "after_step": "s2" }
  ]
}
Analytics consent

We use Google Analytics to understand site usage. You can opt in or decline.