Five runnable Java simulators that stress-test KCP under realistic and adversarial conditions — from happy-path energy metering to multi-agent AML with a rogue attacker.
Click a card to load that scenario in the player below. Each exercises a different set of KCP spec behaviours.
An energy company's metering agent needs to query billing data. The unit is access: restricted — a human must approve before the agent can proceed.
A legal AI assistant delegates to a research sub-agent, which delegates further to document retrieval. At hop 3 it reaches court-sealed records — where max_depth terminates the chain.
An AML orchestrator has spawned a rogue sub-agent. It tries four simultaneous compliance attacks: moving SAR data out of the EU, claiming inflated scope, tunnelling past delegation depth, and requesting unauthorized data categories. All four are blocked.
Two agents consume the same API documentation manifest. KCP's rate_limits are advisory — the spec declares limits but cannot enforce them. Agent design determines compliance.
A knowledge graph has cross-document dependencies: guides depend on references, references on a glossary. Loading in random order would fail. The agent runs topological sort to find the safe ingestion order.
Pre-recorded output from the Java simulators — plays identically every time. No server, no WASM.
KCP's rate_limits block is advisory — it declares how fast agents should go, but cannot enforce it. How an agent responds is entirely up to its design. Edit the manifest below and see two agents make opposite choices from the same instructions.
Reads rate_limits before each request. If the next request would exceed the declared limit, it waits for the window to reset and retries. Slower — but respectful of shared infrastructure and easy to reason about in audits.
Ignores rate_limits entirely. Makes every request immediately and logs an ADVISORY VIOLATION when a limit is exceeded — but never slows down. In a real deployment this pattern generates noise and strains shared systems.
Change requests_per_minute or requests_per_day on any unit. Hit Run to see how each agent responds. Ctrl+Enter runs from the editor.
Ctrl+Enter runs · Reset restores the example manifest