Code runtime

Stacksona for Google ADK

Wrap governed ADK tool execution with Gate while session state and agent reasoning remain in ADK.

Where Gate goes

In a tool wrapper, callback, or sidecar that controls the actual action.

Keep the platform's normal reasoning and orchestration. Gate only the exact action at the last safe point before execution.

ADK agent selects toolWrapper checks GateExecute or return to session

Start here

  1. 1
    Build the final action.

    Let Google ADK choose the action and produce the arguments it intends to execute.

  2. 2
    Check the exact action with Gate.

    Send tool_name and the final payload immediately before the side effect.

  3. 3
    Follow one of four outcomes.

    Continue, wait, revise, or stop. You do not need the advanced features to get this basic path working.

Minimal setup

Store thread_id in session or durable task state when review can pause the action. Reviewer feedback should return to the agent/planning path for revision instead of being treated as execution approval.

Handle the decision

OutcomeGate statusWhat Google ADK should do
Continueallow or approvedExecute the exact proposed action. If signed proof is required, validate it first.
Waitpending_reviewStore thread_id and resume that exact review later.
Revisechanges_requestedReturn reviewer feedback to the part of the runtime that can revise the proposal.
Stopreject or rejectedDo not execute. Replan, fall back, or end the action.
Unknown or failed decision = stop.

Fail closed if Gate cannot be reached, returns an unknown state, or required approval proof is missing or invalid.

Platform notes

  • ADK keeps session context, reasoning, and tool selection.
  • Gate owns policy, human review, approval proof, and audit evidence.
  • Use a wrapper or sidecar when the platform direct tool path cannot be intercepted safely.
Advanced: review threads, revisions, proof, and audit

task_id is your grouping ID. thread_id identifies the exact Gate review and should be persisted whenever work can pause.

For changes_requested, revise on the same review thread using the revision event contract. For high-impact actions that require signed proof, validate the returned approval token before execution. Log execution success or failure when you need complete audit evidence.

For long reviews, use the platform's durable continuation mechanism instead of keeping a process, workflow, or runner open.

Advanced runtime patterns Full Gate API Exact decision states