Architecture

A control plane in the message path of an ADK/A2A fleet.

Every claim a worker emits is intercepted mid-flight, judged against memory by an adversarial panel and a deterministic tripwire, and — if it survives — written back as verified ground truth. The verification gate is the hero; everything else is neutral plumbing.

Sentinel Mesh architecture: ADK/A2A workers feed a before_tool_callback intercept into a 3-lens Gemini referee and a deterministic tripwire; accepted claims are written to a verified ledger that grounds the next run.
Full-resolution diagram · open architecture.svg ↗
The nodes

What each box is, and which one carries the risk.

The whole design exists to put one adjudication seam between an agent's claim and the tool that would act on it.

ADK / A2A workers

Real LlmAgent workers exposed over A2A with to_a2a() and live AgentCards; the orchestrator delegates as a RemoteA2aAgent. This is a genuine multi-agent fleet, not a single prompt.

The veto seam — before_tool_callback

The non-experimental ADK hook where returning a dict skips the real tool. This is the one seam that makes an in-path veto possible: a vetoed claim's tool never fires.

3-lens Gemini referee (Vertex)

Three adversarial lenses — robust, overreach, nevers — judge the claim in parallel at temperature 0, returning JSON verdicts against memory as ground truth, with retry / backoff.

Deterministic tripwire

A regex word-boundary gate that hard-vetoes money / auth / destructive claims with no model in the loop — the place a confident hallucination is most expensive.

Advisory memory (read-only)

Any SQLite store with a memories table. Agreement supports a claim; contradiction caps at a flag. Curated context, never a hard veto on its own.

Verified ledger (write-back)

sentinel.db — its own file, so broker refresh jobs can't clobber rulings. Provenance-tracked accepts ground the next run, and re-serve at 0 model calls.


Mandatory technologies — all load-bearing

Nothing here is decorative.

Each Google technology is doing real work in the critical path, not name-checked for the rubric.

ADK
before_tool_callback as the veto seam; LlmAgent workers; EvalSet + AgentEvaluator for the referee eval.
A2A protocol
to_a2a() workers with live AgentCards + RemoteA2aAgent orchestration — a real fleet boundary to defend.
Vertex AI · Gemini
The 3-lens adversarial judge — parallel, temperature 0, JSON verdicts, retry / backoff.
MCP
The advisory memory and verified ledger are reachable as tools, so any MCP-compatible agent can read ground truth.
Cloud Run
The live "try to lie to the referee" playground — a single container running the real referee against demo memory.
SQLite + HMAC
Provenance ledger in its own file; the Trust Passport is signed so a forged verdict fails the signature, not just a checksum.
Read the path stage by stage
Follow one claim from the A2A wire to a signed Trust Passport.
How it works