Runtime
How adversaries execute under the CLI: scope selection, capabilities, host trust, and review output.
Run anywhere you can run the CLI
The same kind of versioned adversary package runs on a developer machine or in CI with the open-source CLI. Hosted pull-request reviews use the official review/code package and hosted inference instead of a workflow you maintain.
Prefer domain/name catalog ids and --path for the repository under review. Full flag list: CLI reference. For pull requests without a workflow, see Hosted reviews. For pipelines you run yourself, see Run reviews in CI.
doomer run go/security --path .
doomer run ci/github-actions --path . --base main --head HEAD
doomer run ./my-adversary --path ../service --build
# Auto-select from catalog + local store for this repo's change scope
doomer run --path .
doomer run --dry-run --explain --path .Execution
The CLI launches the adversary process (HostExecutor today), pins remote artifacts to a digest, and reports identity before run.
Review scope
Infers git change set from CI PR refs, worktree, or feature vs default branch unless you pass --base/--head/--all-files.
Permissions
Manifest permissions describe isolation. Advisory by default; enforcement: required and --no-network fail closed when HostExecutor cannot enforce them.
Trust gate
Official-signed catalog packages may use host execution. Unsigned packages require TTY confirm or --allow-unsafe-host-execution.
Output contract
Structured review on stdout (text or versioned JSON envelope). Progress, trust warnings, and diagnostics on stderr.
Permissions
Packages declare portable access intent in permissions (filesystem, network, model broker, environment). There is no separate requires: capability list. Full field reference: Permissions.
permissions:
enforcement: advisory
filesystem:
read:
- .
write: []
network: false
model: true
environment:
allow: []Deep dive: Execution trust model.