gleam-agents · Catalog: agent shapes · Plans: N seats, N goals · Scope: what an agent may touch · Graders · Pi extension · Roadmap
Scope: what an agent may touch
Each seat gets a workspace (a copy of its seed) and a write list.
- Reads may name any path inside the workspace.
- Writes (
write_file,edit_file) must match the write list. An exact path matches itself. A path ending in/matches everything under it. - A path that starts with
/, contains.., or is empty is refused for reads and writes. - Each refusal is returned to the model as an error and counted in the receipt as
scope_denials.
The rule lives in one file: src/fleet/scope.gleam. Its unit tests are in test/fleet_test.gleam.
What scope does not cover
Scope guards the agent's file tools. It does not sandbox test_command or grade_command, which run as shell commands with your user's rights. A seat's test command is written by you, not by the agent.
Proof
evals/smoke/plan-scope.json tells an agent to write src/tax.ts, ../escape.txt and notes/ok.txt with a write list of notes/. The grader passes only if the first two were refused and the third landed. Receipt: proof/scope-1/.