| Plan mode | Changes before anyone has agreed on the approach. Plan mode reads and researches only; nothing changes until you approve the plan. | Topsoil client |
| Diffs and permission prompts | Silent edits. Every edit arrives as a diff, every command as its exact program and arguments. In the default mode Topsoil asks before each file change, command or use of the network. | Topsoil client |
| Command allowlist | Arbitrary commands. Commands run only if they start with an allow-listed prefix, and run without a shell. | Topsoil client |
| Network off by default for commands | Quiet egress. Outbound network access for a command is off unless the tool asks for it, and that asks separately. | Topsoil client |
| Risk classes and path checks | Writes outside the expected place. Tools carry a risk class of read, write or network, and file paths are checked before a tool touches them. | Topsoil client |
| Optional filesystem sandbox | Reach beyond the project, when you turn it on. | Topsoil client |
| Isolated git worktree | Changes to your working tree. A handed-over task is done on its own branch in its own worktree, and comes back as a pull request. Topsoil does not merge. | Your git repository and forge |
| Tests that must fail first | Tests that prove nothing. In /task, /goal and /loop, new tests are run with the rest of the change put back, and have to fail. | Topsoil verify stage |
| IAM | Who can call which model, and who can read which files. | Your AWS account |
| Budgets | Runaway spend. Checked before every model call, with an AWS budget action as the backstop. | Topsoil client and your AWS account |