Infra SetupSAFE
turns your codebase into an autoresearch loop — discovers what to measure, instruments the benchmark, then runs tree search with parallel subagents.
Overview
turns your codebase into an autoresearch loop — discovers what to measure, instruments the benchmark, then runs tree search with parallel subagents.
f8edbd9e89c5OBSERVED · 2026-10-12What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: infra-setup
description: Non-user-invocable provider/setup reference for evo backend switching, prerequisite checks, and auth/install guidance.
evo_version: 0.8.0
---
# Infra Setup
Use this when the user wants to change where experiments run: local worktrees, pool slots, or a remote provider such as Modal, E2B, Daytona, AWS, Azure, SSH, manual, or a custom dotted-path provider.
## Goals
- Be explicit about the target backend/provider.
- Check prerequisites before mutating evo config.
- Never install provider SDKs silently.
- Give one actionable auth command per provider.
- Keep provider credentials separate from benchmark runtime env.
## Flow
1. Identify the target:
- `worktree` or `pool` means local backends.
- `modal`, `e2b`, `ssh:...`, or another remote spec means `backend=remote`.
2. If the target is remote, parse the provider choice the same way evo CLI does:
- `modal`
- `e2b`
- `daytona`
- `aws`
- `azure`
- `manual`
- `ssh:user@host[:port]`
- another built-in provider name
- dotted import path for a custom provider
3. Check whether `evo` is on PATH and whether it is the expected `evo-hq-cli` package (`evo --version`). If the provider SDK is missing, evo's provider loader prints the provider-specific extra or SDK package to install; use that message rather than guessing.
4. For SDK-backed providers, verify the SDK import only when you can run the check in the same environment that owns the `evo` executable. If missing, ask the user before installing it.
- If `evo` was installed with `uv tool` or `pip`/`venv`, prefer the matching extra on `evo-hq-cli`:
- `uv-tool`: `uv tool install --reinstall 'evo-hq-cli[<provider-extra>]'`
- `venv` / `pip`: `python -m pip install 'evo-hq-cli[<provider-extra>]'`
- If `evo` was installed with `pipx`, inject the provider SDK into the same `evo-hq-cli` environment:
- `pipx`: `pipx inject evo-hq-cli <provider-sdk>`
5. Check auth and show exactly one provider-specific auth command or setup step. Use `references/provider-matrix.md`.
6. Once prerequisites are satisfied, run the explicit config command:
```bash
evo config backend remote --provider <provider> --provider-config ...
```
Or for local backends:
```bash
evo config backend worktree
evo config backend pool --workspaces /abs/slot-a,/abs/slot-b
```
7. Be explicit that incomplete provider setup usually surfaces on
`evo new --remote <provider> ...`, because that is where remote
allocation and bootstrap actually happen.
8. If the benchmark itself needs application keys, configure runtime env
separately with `evo env load <path> --all` or
`evo env load <path> --allow KEY1,KEY2`. Provider auth provisions the
sandbox; runtime env is what benchmark/gate processes see.
## Pre-assumptions
Before trying to switch a workspace to a remote provider, confirm the basics:
- the target backend is clear from the user's request; only ask if the
intent is genuinely ambiguous between `worktree`, `pool`, and `remote`
- the machine running evo has the right provider SDK or transport installed
- the user has auth for that provider available now, not "somewhere else"
- the provider-specific minimum config exists
- `modal`: auth + optional config
- `e2b`: API key + optional config
- `daytona`: API key and API URL/target if needed
- `aws`: creds, region, image, SSH key pair/private key, and usually network config
- `azure`: subscription, resource group, region, SSH key/private key, and VM/image choices
- `ssh`: reachable host, working SSH user, and key/port if needed
- `manual`: reachable remote endpoint URL and bearer token
- for SSH-backed VM providers, the guest assumptions are plausible before allocation:
- the image enables SSH
- the SSH user matches the image
- the image architecture matches the selected instance type
- the host can run evo's remote workspace runtime
## Provider notes
See `references/provider-matrix.md` for the compact provider summary, common config, and provider-specific setup/auth command.Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
f8edbd9e89c5full audit observations/trust-audit/skill/evo-hq__infra-setup.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | f8edbd9e89c5 | SAFE | B | 89 | first audit |
Questions
What does the Infra Setup skill do?
turns your codebase into an autoresearch loop — discovers what to measure, instruments the benchmark, then runs tree search with parallel subagents.
Is Infra Setup safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Infra Setup access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (f8edbd9e89c5), read on 2026-10-12. The repository is watched, and a new audit runs when it changes — this is the first audit.