Technical walkthrough · version 1.0.0

An agent with no owner should not get a single call through.

Run a small offline example: three made-up agents, five tool requests and the rules that decide each one. Every result below comes from the downloadable files.

Published October 16, 2026

What this example is

Synthetic data written by Kosmoy to show the method. The script runs on your machine, calls no model and connects to nothing. It is not Kosmoy product output or an export format.

1. Download and run it.

Download evaluate.mjs, inventory.json and sample-audit.json into one folder. With Node.js 22 or newer, run the commands below. Nothing to install, no credentials.

node evaluate.mjs inventory.json > reproduced-audit.json
diff reproduced-audit.json sample-audit.json

If diff prints nothing, you reproduced the published result (on Windows, use fc). The input fingerprint is SHA-256 over the parsed inventory. It shows whether the input changed; it is not a signature or proof of origin.

Input fingerprint: 75be3a17a6605d70c06c250de799967f2aa71708c2a0e4d067f35f19bc293abf

2. Read the five decisions.

One request passes: an approved agent with an owner and a fresh source, calling a tool it may use, within budget. Four are denied: a tool the agent may not use, a request that costs more than the remaining budget, an agent with no owner that was never approved, and an agent whose source was last seen 45 days ago against a seven-day limit. The output keeps the reason for every decision.

Decisions in the published audit record (synthetic data)
RequestAgentDecisionReasons
allow-demosupport-demoAllowedAll checks passed
denied-tool-demosupport-demoDeniedTool not allowed
budget-demosupport-demoDeniedOver budget
unknown-owner-demounassigned-demoDeniedNo owner; Not approved; Tool not allowed
stale-source-demostale-demoDeniedSource not seen within the 7-day limit

Each agent record holds: id, owner, purpose, source, last_seen, status, allowed_tools, budget_cents and spent_cents. Already using the agent registry worksheet? Its Agent name, Owner, Business purpose, Platform / runtime and Tools columns map to id, owner, purpose, source and allowed_tools.

Break it on purpose

  • Set the first agent's owner to null and rerun: its allowed request is now denied.
  • Set a request's cost to -1: validation fails instead of enlarging the budget.
  • Retire the first agent: none of its requests pass.
  • Point a request at an agent ID that is not in the inventory: it is denied.

3. Know what it leaves out.

The script handles requests one at a time. It does not reserve budget for concurrent calls, reconcile invoices, discover agents or store an audit trail. A real pilot must test those and record failures and gaps next to the results.

In Kosmoy these checks live in separate layers: the registries hold owners and approvals, the AI Gateway enforces tool and budget policy on routed calls, and an Action Capsule contains the agent's runtime. Registering an agent does not contain it. The README (download) lists the acceptance steps for a real deployment. For evaluation evidence, compare the reproducible red-team report.

4. See the same checks in Kosmoy.

Enterprise proof

Built for environments where AI cannot become another unmanaged SaaS silo.

Kosmoy works with regulated and operationally critical organizations, including Banca d’Italia and Leonardo.

Banca d'Italia
Leonardo
  • Runs in your Kubernetes
  • Azure · AWS · GCP · on-prem
  • LLM · MCP · A2A
  • No mandatory vendor-hosted control plane

Run these checks on your own agents.

Bring an anonymized agent list and one policy. We show the same owner, tool and budget checks in Kosmoy.

Or email sales@kosmoy.com.