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.

Abstract bounded orchestration visual showing planner, executor, critic checkpoints, subagent lanes, and replayable session state.
Bounded decision loop

Planner, Executor, and Critic operate as separate lanes with checkpoints, verified retries, subagent isolation, and a durable replay path.

PlannerExecutorCriticCheckpointReplay
Bounded orchestration
  1. 01Planner

    Produces typed steps, dependencies, and declared risk.

  2. 02Critic verify

    Rejects unsafe or underspecified plans before action.

  3. 03Executor

    Runs verified steps only through approved tool envelopes.

  4. 04Critic score

    Accepts, retries, replans, or escalates from evidence.

  5. 05Checkpoint

    Persists session state for replay and resume.

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" }
  ]
}