Fermion Fleet

Google All Things Agentic Hackathon — Track 3: The Fortified Enterprise Fleet · #AllThingsAgenticHackathon

A multi-agent fleet where the door is code, not a prompt — and you can watch an agent get stopped by it.

Open API docs Watch the demo video GitHub repo

What it is

A customer places an order and three roles handle it: triage → handler → auditor. The auditor's verdict is parsed by code, and the gate fails closed: every path that cannot read a boolean true (parse failure, missing field, the string "false", retry limit reached) resolves to stop. The ledger only locks the order on a real true.

On top of that sits a context engine (ctx-key) that decides what an agent may read at each step, what gets evicted when the window is full, and what is recalled when a later step needs it. The stack is Google's. The policy is ours.

What it runs on

ModelGemini 3.5 Flash on Vertex AI (global)
Agent frameworkGoogle ADK 2.7.1
InfrastructureCloud Run (dedicated service account, roles/aiplatform.user only)
Selection enginefleet/fermion_garden — pure Python standard library

Try it

Minimal example: create a session, then send one message to the fleet.

URL=https://fleet-843303850287.us-central1.run.app

# 1. Create a session (the first request may take ~15s: cold start)
SID=$(curl -s -X POST $URL/apps/fleet/users/u1/sessions \
      | python3 -c 'import sys,json; print(json.load(sys.stdin)["id"])')

# 2. Run one step (this calls the model for real)
curl -s -X POST $URL/run -H 'Content-Type: application/json' -d "{
  \"app_name\": \"fleet\", \"user_id\": \"u1\", \"session_id\": \"$SID\",
  \"new_message\": {\"role\": \"user\", \"parts\": [{\"text\": \"How much is the dark blue straw cup?\"}]}
}"

To see the gate hold and the recall happen, run the full three-step shift with 跑班.sh from the repository: URL=https://fleet-843303850287.us-central1.run.app ./跑班.sh

Honest limits

Sessions and the ledger live in process memory: if the service restarts they are gone, and the first request after idle can take ~15s (cold start). Firestore and Vertex AI Memory Bank were scoped and cut. This is one shift of three steps, run three times — it shows the mechanism works; it is not a benchmark.