Play / The map / The mandates / A coding assistant on my machine

A coding assistant on my machine

I want it to read and change the project I pointed it at, run the build and the tests, commit to that repository, and fetch the packages and docs it needs. I did not sign up for it reading the rest of my disk, my credentials or my shell history, sending anything to anyone, publishing under my name, changing its own permission settings, or leaving anything behind that runs after it stops.

Status: starting-point · authored 2026-09-09 · the site, as a starting point — not measured, not surveyed; the first thing to argue with · edit this mandate

The delta

Against every profile this mandate applies to. ▲ is authority you did not ask for; ▼ is something you were counting on that is not there. The tally is at the bottom.

excess — it can, and you did not want it to shortfall — it cannot, and you wanted it to aligned — it can, and you wanted it to aligned — it cannot, and you did not want it to? it can, and the mandate does not say· it cannot, and the mandate does not say
Capability Claude Codelocal · confirm on Claude Codelocal · confirm off
filesystem
Read the project it is working on
Change the project it is working on
Read any file the account can reach
Change any file the account can reach
Delete files anywhere the account can reach
Read a retained record: shell history, past sessions
process
Run programs as the account‘run my tests’ is, on a machine with no sandbox, ‘run programs as me’ — the want is honest and the consequence is the whole point of the delta
Run programs inside its own sandbox only · ·
network
Reach a permitted list of hosts
Reach any host on the internetunstated: the want is ‘the hosts it needs’, which is the allowed-list capability; whether the whole internet is acceptable is a real decision ? ?
identity
Read credentials stored where it runs
Act in accounts with the credentials it holds
Change its own permission settings
communication
Send a message to anyone
Read mail or chat it is connected to · ·
code
Commit to the repository it was pointed at
Push to a code host (any branch it can reach)left unstated on purpose: some people want it to push, some do not, and the mandate should not pretend to know ? ?
Sign commits with the key it holds
Publish packages, images or pages under the name it holds
money
Spend money or tokens against an account it holds · ·
schedule
Create something that outlives the turn where it runs (a cron, a service)
Create something that outlives the session, on the platform (a routine, a scheduled trigger, a new session) · ·
browser
Read every page you visit · ·
The delta ▲ 10 ▼ 1 ▲ 10 ▼ 1

In words

The mandate, row by row

CapabilityPositionNote
Read the project it is working onwant
Change the project it is working onwant
Run programs as the accountwant‘run my tests’ is, on a machine with no sandbox, ‘run programs as me’ — the want is honest and the consequence is the whole point of the delta
Commit to the repository it was pointed atwant
Reach a permitted list of hostswant
Read any file the account can reachdo not want
Change any file the account can reachdo not want
Delete files anywhere the account can reachdo not want
Read credentials stored where it runsdo not want
Act in accounts with the credentials it holdsdo not want
Sign commits with the key it holdsdo not want
Change its own permission settingsdo not want
Send a message to anyonedo not want
Publish packages, images or pages under the name it holdsdo not want
Create something that outlives the turn where it runs (a cron, a service)do not want
Read a retained record: shell history, past sessionsdo not want
Reach any host on the internetunstatedunstated: the want is ‘the hosts it needs’, which is the allowed-list capability; whether the whole internet is acceptable is a real decision
Push to a code host (any branch it can reach)unstatedleft unstated on purpose: some people want it to push, some do not, and the mandate should not pretend to know
You cannot deny the excess rows. The agent already has the access. What is left is how long you are prepared to live with each one and who says so — what to do next.