Agent governance
vops lets a development agent understand the product, propose infrastructure work and invoke approved semantic operations. The agent does not receive the provider tokens or SSH private keys that make those operations possible.
The important choice is not “Codex or Claude Code?” It is how much authority the human wants to make available for this task.
The control loop
human selects approach and client ↓human creates a bounded session ↓agent inspects and proposes a semantic plan ↓local policy allows, denies or requests approval ↓human reviews the immutable plan ↓vops executes with locally resolved credentials ↓agent and human inspect operation and verification ↓human revokes or lets the session expireWhat vops owns
- a versioned capability registry;
- product knowledge and the
flui.yamlschema; - short-lived sessions and policy limits;
- immutable plans and human approvals;
- semantic execution through the existing provider, host and app services;
- redacted operation results;
- a local append-only audit trail;
- client adapters and local MCP transports.
What the human owns
- selecting the repository and targets;
- deciding whether the agent has any infrastructure path;
- setting expiry, operation and spend limits;
- reviewing effects rather than trusting a natural-language summary alone;
- approving, denying, pausing and revoking;
- deciding whether the OS-level execution environment is advisory or protected;
- handling recovery when an operation has effects that cannot be rolled back.
What the agent never owns
The agent-facing surface does not provide:
- raw provider credentials;
- SSH private keys;
- application or registry secrets as normal output;
- a generic SSH or shell-execution capability;
- a raw provider API;
- an approval tool for its own request.
These are product boundaries, not instructions that depend on the model cooperating.
Human docs and agent material
This website explains choices and controls to people. The installed vops version ships the machine-facing material:
SKILL.mdand its routed references;- the concise project bootstrap;
- generated capability and error references;
- MCP tool schemas.
That separation keeps the agent contract synchronized with the executable while letting the human documentation explain the larger trust model.
Continue with Choose an approach before configuring a client.