sgit newsroom v0.1.29 · snapshot 2026-09-24

Reading room · abp.sgit.ai

On this page

Reading room / abp.sgit.ai · raw text · live ↗

From abp.sgit.ai, the page as fetched on 2026-09-24 · open the live page ↗Everything on this sheet is the source site's own text; the newsroom's chrome is outside it.

write.file.host

Change any file the account can reach. Reach host, undo with-effort. Which published deployment shapes have it, at what barrier, and what the starting mandates say.

Source: https://abp.sgit.ai/model/capabilities/write.file.host/index.html↗ · site v0.11.0 · this file is generated from the same content as the page, so the two cannot drift. Every page on this site has a .md twin; internal links below point at them.


Home↗ / The model↗ / The capabilities↗ / write.file.host

write.file.host

Change any file the account can reach. Its effect is with-effort: undone at a cost.

What this id is made of

This is not a string. It is write↗.file↗.host↗, three nodes joined by three edges, and each of them has an address, a page and a JSON file. Follow any of them and you get the query for that word rather than a definition of it.

NodeEdgeReads as
write↗has_verbthis capability has the verb write
file↗acts_onthis capability acts on file
host↗reachesthis capability reaches host
filesystem↗in_familythis capability is in the filesystem family
with-effort↗has_undo_classthis capability has the undo class with-effort

The gloss above is a convenience, not the definition. A node carries no inherent meaning: what write.file.host is emerges from the edges traceable from it. The strongest case is host↗, where the deployment shapes that use it do not agree about what it means, and the page keeps the disagreement rather than averaging it.

In 8 of 17 published shapes

Deployment shapeBarrier thereKnown byWhose materialNote
●Claude Code on the web (a remote session container)none (not a control)observednot stateda zero-byte file was created and removed in /etc: system configuration of the container is writable
●Claude Code (the CLI, on your own machine)none (not a control)derivednot stated
●Claude Code (the CLI, on your own machine)none (not a control)derivednot stated
◐Claude Desktop (a desktop app with local tools)setting (not a control)derivednot stated
○The official Dropbox MCP server (contributed by riskmandate.ai)boundarydocumentedmixedCopy "can recreate a deleted file or replace an existing file at the destination path"; Move renames or moves files and folders; CreateFile writes up to 5 MB of inline content.
●A scheduled job running as a service accountnone (not a control)derivednot stated
●Actions runner (a hosted CI job)none (not a control)observednot statedthe runner's user with passwordless escalation: every file on the ephemeral machine
○The Google Workspace MCP servers (Gmail, Drive, Docs, Sheets, Slides, Calendar, Chat) (contributed by riskmandate.ai)boundarydocumentedmixeddrive.file creates new files or modifies files the user opened with the app; the Docs, Sheets and Slides servers each ask for the full write scope for their document type beside the read-only one. What "full" includes is open, below.
BarrierWhat stands in the wayIs it a control
●nonenothing in the wayno
◉expectationa rule in prose, enforced by nobodyno
◐settinga switch the agent's own account can flipno
○boundaryenforced above the grant, out of the agent's reachyes

What the starting mandates say about it

The mandate saysWhich mandates
authorisednone
refusedA coding assistant on my machine, The desktop app, with local tools switched on, Chat in the browser, nothing connected, A reader on my drive, Find and read my files, An assistant over my Workspace, reading
unstatedA coding assistant in a container on the web, Chat, with connectors switched on, A CI job on a hosted runner, A browser extension I installed, A scheduled job under a service account, A reader on my mailbox, Find things in the inbox, draft replies, never send, Search our tenant, read-only, A sandbox: build and run one AI-agent workflow, What the agent inferred it was authorised to do, from one session

Unstated is not authorised. A mandate that never mentioned a capability did not authorise it, and the delta on every example page counts it as excess and says which kind it was.

What would move it to the fourth barrier

WhatWhat it costsThe barrier afterwards
the same container or account; the tool's own directory restriction is a setting anything running as you can step aroundas aboveboundary

This is a published reduction, not a recommendation. Whether it is worth doing depends on the assets and the consequences, which are not in this document and are not this site's to guess. Since v0.4.3 it is also a node, setting/write.file.host, in the deployment shape universe↗: it narrows this capability and moves it to the barrier named in the third column, which is the path the prohibitions table's last column is a projection of.

The capability grammar↗ · This primitive as JSON↗


Site index for agents↗ · HTML version↗