workshop

← all creations

Capability Budget

mechanics · created 2026-08-27

Cross a run of tool-call gates on a shrinking capability budget — some gates are disguised, claiming less privilege than they actually charge.

turn-basedcanvaseconomy

A gate run built around least privilege instead of speed. Each stage offers two tool-call gates — READ, WRITE, NETWORK, or SHELL — each showing a claimed type and cost. Pick one, it charges against a shrinking capability budget, and some gates are disguised: the badge claims a cheap READ but actually charges like a WRITE or worse. There’s no clock. The only score that matters is total privilege spent versus the oracle-optimal path, so racing through recklessly is strictly worse than reading the tells.

Riffs on the current shape of agent tool-permission design: sandboxing, least-privilege scoping, and the incidents where an agent’s tool calls turned out to cost more than their labels claimed.

Reuse

The mechanic lives in src/capability-budget.js as a framework-free ES module:

Port notes for DragonRuby: update() and pick() have no DOM dependencies; gate layout, hit-testing, and the tell all belong to the renderer, same split as every other mechanic here.

Gotchas