Play / The map

What each agent can reach

Every question the game asks is a cell in this table. 23 capabilities — a verb, an object and how far it reaches — against 9 products in the setups people actually run them in. The fill says how open the door is; the glyph says the same thing without the colour.

9products × setups
23capabilities
13of them cannot be undone
21/99rows measured, not derived
none — nothing in the way expectation — a rule in prose, enforced by nobody setting — a switch the agent's own account can flip boundary — enforced above the grant, out of the agent's reach· not in this grant
CapabilityUndo Claude Codeweb container Claude Codelocal · confirm off Claude Codelocal · confirm on Claude Desktoplocal tools Claude.aiconnectors on Browser extensionall sites Scheduled jobservice account GitHub Actionshosted runner ChatGPTno connectors
filesystem — files and directories
Read the project it is working onread.file.projectyes · ·
Change the project it is working onwrite.file.projectwith-effort · · · ·
Read any file the account can reachread.file.hostno · ·
Change any file the account can reachwrite.file.hostwith-effort · · ·
Delete files anywhere the account can reachdelete.file.hostno · · · · ·
Read a retained record: shell history, past sessionsread.record.historyno · · · · ·
process — programs and their execution
Run programs as the accountexecute.process.hostwith-effort · · ·
Run programs inside its own sandbox onlyexecute.process.selfyes · · · · · · · · ·
network — endpoints and hosts
Reach a permitted list of hostssend.endpoint.allowedno · · · · · · · ·
Reach any host on the internetsend.endpoint.worldno · · ·
identity — credentials and who the agent can act as
Read credentials stored where it runsread.credential.hostno · · · · ·
Act in accounts with the credentials it holdsauthenticate-as.credential.tenantno · ·
Change its own permission settingsgrant.credential.selfyes · · · · · ·
communication — messages to people
Send a message to anyonesend.message.worldno · · · · · · · · ·
Read mail or chat it is connected toread.message.tenantno · · · · · · · ·
code — repositories and what lands in them
Commit to the repository it was pointed atwrite.repository.projectwith-effort · · · · ·
Push to a code host (any branch it can reach)write.repository.tenantwith-effort · · · · ·
Sign commits with the key it holdsauthenticate-as.credential.signingno · · · · · ·
Publish packages, images or pages under the name it holdscreate.record.worldno · · · · · · ·
money — budgets and spend
Spend money or tokens against an account it holdswrite.budget.tenantno · · · · · · · ·
schedule — things that outlive the turn
Create something that outlives the turn where it runs (a cron, a service)create.schedule.hostyes · · · · ·
Create something that outlives the session, on the platform (a routine, a scheduled trigger, a new session)create.schedule.tenantyes · · · · · · · ·
browser — what a browser extension or automation can see and do in your browser
Read every page you visitread.record.browsingno · · · · · · · ·

How to read it

How sure is any of this

Not very, in most places, and every row says so. Of 99 tool-capability rows across the set, 21 were measured — a probe run on an instance, dated — and the rest are derived from what a thing architecturally is, or documented by the vendor. A derived row is a claim until somebody runs the probes and contributes the file, and the honest reading of this table is mostly claims, structured so that each one can be replaced by a measurement.

That is what the pull request is for. How to contribute — a row, a whole profile, a mandate, or a correction.

The rest of the map

Every product, one page each

Tool by tool: what it reaches, the control on the path, the evidence, what the profile says is out of reach and why, and the reductions that narrow it.

The capabilities

The 23 primitives the questions are built from — which products grant each, what narrows it, which questions ask about it, and which mandates want it.

Mandates, and the deltas

What a reasonable person wanted, per setup — and the gap against what was actually granted, as a matrix: excess in one colour, shortfall in the other.

Above the ceiling

The 17 things no agent in this set can do, each naming the control outside the agent that stops it.

The questions

25 questions the games ask, with what each one is for — the seed of a question pack that could be customised.

The data pack

All of it as JSON, at a stable URL with CORS, which is how the game reads it. Fork it, change it, point the game at yours.