@evolvingmachines/evolve 0.0.65 → 0.0.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-DK2MGUPB.js → chunk-RFLMRPGK.js} +5 -5
- package/dist/cli/index.cjs +39 -39
- package/dist/cli/index.d.cts +3 -3
- package/dist/cli/index.d.ts +3 -3
- package/dist/cli/index.js +30 -30
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/{types-B_qmzlMk.d.cts → types-84M4J_Vm.d.cts} +11 -44
- package/dist/{types-B_qmzlMk.d.ts → types-84M4J_Vm.d.ts} +11 -44
- package/package.json +4 -4
- package/skills/create-adapter/SKILL.md +71 -26
- package/skills/create-task/SKILL.md +124 -66
- package/skills/evolve/SKILL.md +37 -20
- package/skills/evolve-evals/SKILL.md +142 -69
- package/skills/evolve-evals/references/cli-reference/agent.md +76 -0
- package/skills/evolve-evals/references/cli-reference/analysis.md +78 -0
- package/skills/evolve-evals/references/cli-reference/analyze.md +95 -0
- package/skills/evolve-evals/references/cli-reference/auth.md +96 -0
- package/skills/evolve-evals/references/cli-reference/check.md +156 -0
- package/skills/evolve-evals/references/cli-reference/dataset.md +154 -0
- package/skills/evolve-evals/references/cli-reference/filesystem.md +168 -0
- package/skills/evolve-evals/references/cli-reference/index.md +149 -0
- package/skills/evolve-evals/references/cli-reference/job.md +198 -0
- package/skills/evolve-evals/references/cli-reference/run.md +187 -0
- package/skills/evolve-evals/references/cli-reference/secrets.md +77 -0
- package/skills/evolve-evals/references/cli-reference/session.md +56 -0
- package/skills/evolve-evals/references/cli-reference/skill.md +52 -0
- package/skills/evolve-evals/references/cli-reference/skills.md +85 -0
- package/skills/evolve-evals/references/cli-reference/trial.md +115 -0
- package/skills/evolve-evals/references/cli-reference/upload.md +72 -0
- package/skills/evolve-evals/references/core-concepts/agents.md +96 -0
- package/skills/evolve-evals/references/core-concepts/analyze.md +143 -0
- package/skills/evolve-evals/references/core-concepts/check.md +116 -0
- package/skills/evolve-evals/references/core-concepts/compatibility.md +39 -0
- package/skills/evolve-evals/references/core-concepts/compose.md +103 -0
- package/skills/evolve-evals/references/core-concepts/datasets.md +234 -0
- package/skills/evolve-evals/references/core-concepts/index.md +52 -0
- package/skills/evolve-evals/references/core-concepts/jobs.md +223 -0
- package/skills/evolve-evals/references/core-concepts/models.md +73 -0
- package/skills/evolve-evals/references/core-concepts/multi-step.md +93 -0
- package/skills/evolve-evals/references/core-concepts/rewardkit.md +341 -0
- package/skills/evolve-evals/references/core-concepts/sandboxes.md +73 -0
- package/skills/evolve-evals/references/core-concepts/secrets.md +86 -0
- package/skills/evolve-evals/references/core-concepts/sharing.md +81 -0
- package/skills/evolve-evals/references/core-concepts/skills.md +100 -0
- package/skills/evolve-evals/references/core-concepts/task-config.md +169 -0
- package/skills/evolve-evals/references/core-concepts/task-environment.md +127 -0
- package/skills/evolve-evals/references/core-concepts/task-reference.md +191 -0
- package/skills/evolve-evals/references/core-concepts/task-verifiers.md +209 -0
- package/skills/evolve-evals/references/core-concepts/tasks.md +90 -0
- package/skills/evolve-evals/references/core-concepts/teams.md +128 -0
- package/skills/evolve-evals/references/core-concepts/trial-outputs.md +225 -0
- package/skills/evolve-evals/references/core-concepts/trials.md +129 -0
- package/skills/evolve-evals/references/core-concepts/upload-sdk-session.md +240 -0
- package/skills/evolve-evals/references/core-concepts/upload.md +166 -0
- package/skills/evolve-evals/references/dashboard/checks.md +54 -0
- package/skills/evolve-evals/references/dashboard/datasets.md +65 -0
- package/skills/evolve-evals/references/dashboard/jobs.md +106 -0
- package/skills/evolve-evals/references/dashboard/traces.md +54 -0
- package/skills/evolve-evals/references/dashboard/trial-viewer.md +77 -0
- package/skills/evolve-evals/references/getting-started/first-task.md +228 -0
- package/skills/evolve-evals/references/getting-started/installation.md +79 -0
- package/skills/evolve-evals/references/getting-started/quick-start.md +100 -0
- package/skills/evolve-evals/references/index.md +58 -0
- package/skills/evolve-evals/references/sdk/http.md +110 -0
- package/skills/evolve-evals/references/sdk/python.md +108 -0
- package/skills/evolve-evals/references/sdk/typescript.md +104 -0
- package/skills/evolve-evals/references/sdk-reference/agents.md +75 -0
- package/skills/evolve-evals/references/sdk-reference/analyses.md +124 -0
- package/skills/evolve-evals/references/sdk-reference/auth.md +171 -0
- package/skills/evolve-evals/references/sdk-reference/checks.md +145 -0
- package/skills/evolve-evals/references/sdk-reference/datasets.md +170 -0
- package/skills/evolve-evals/references/sdk-reference/error-codes.md +231 -0
- package/skills/evolve-evals/references/sdk-reference/errors.md +98 -0
- package/skills/evolve-evals/references/sdk-reference/filesystem.md +166 -0
- package/skills/evolve-evals/references/sdk-reference/index.md +161 -0
- package/skills/evolve-evals/references/sdk-reference/jobs.md +250 -0
- package/skills/evolve-evals/references/sdk-reference/meta.md +54 -0
- package/skills/evolve-evals/references/sdk-reference/methods/agents.md +154 -0
- package/skills/evolve-evals/references/sdk-reference/methods/analyses.md +211 -0
- package/skills/evolve-evals/references/sdk-reference/methods/auth.md +257 -0
- package/skills/evolve-evals/references/sdk-reference/methods/checks.md +460 -0
- package/skills/evolve-evals/references/sdk-reference/methods/datasets.md +687 -0
- package/skills/evolve-evals/references/sdk-reference/methods/filesystem.md +527 -0
- package/skills/evolve-evals/references/sdk-reference/methods/jobs.md +1021 -0
- package/skills/evolve-evals/references/sdk-reference/methods/meta.md +209 -0
- package/skills/evolve-evals/references/sdk-reference/methods/secrets.md +157 -0
- package/skills/evolve-evals/references/sdk-reference/methods/skills.md +125 -0
- package/skills/evolve-evals/references/sdk-reference/methods/trials.md +371 -0
- package/skills/evolve-evals/references/sdk-reference/secrets.md +104 -0
- package/skills/evolve-evals/references/sdk-reference/skills.md +66 -0
- package/skills/evolve-evals/references/sdk-reference/trials.md +164 -0
- package/skills/evolve-evals/references/sdk-reference/types.md +1249 -0
- package/skills/publish/SKILL.md +103 -79
- package/skills/rewardkit/SKILL.md +78 -23
- package/spec/openapi.yaml +19 -74
- package/skills/evolve-evals/references/cli-reference/agent.mdx +0 -79
- package/skills/evolve-evals/references/cli-reference/analysis.mdx +0 -160
- package/skills/evolve-evals/references/cli-reference/analyze.mdx +0 -84
- package/skills/evolve-evals/references/cli-reference/auth.mdx +0 -133
- package/skills/evolve-evals/references/cli-reference/check.mdx +0 -263
- package/skills/evolve-evals/references/cli-reference/dataset.mdx +0 -151
- package/skills/evolve-evals/references/cli-reference/index.mdx +0 -108
- package/skills/evolve-evals/references/cli-reference/job.mdx +0 -278
- package/skills/evolve-evals/references/cli-reference/run.mdx +0 -204
- package/skills/evolve-evals/references/cli-reference/secrets.mdx +0 -95
- package/skills/evolve-evals/references/cli-reference/skill.mdx +0 -61
- package/skills/evolve-evals/references/cli-reference/skills.mdx +0 -81
- package/skills/evolve-evals/references/cli-reference/trial.mdx +0 -181
- package/skills/evolve-evals/references/cli-reference/upload.mdx +0 -36
- package/skills/evolve-evals/references/core-concepts/agents.mdx +0 -106
- package/skills/evolve-evals/references/core-concepts/analyze.mdx +0 -86
- package/skills/evolve-evals/references/core-concepts/check.mdx +0 -64
- package/skills/evolve-evals/references/core-concepts/datasets.mdx +0 -138
- package/skills/evolve-evals/references/core-concepts/index.mdx +0 -42
- package/skills/evolve-evals/references/core-concepts/jobs.mdx +0 -151
- package/skills/evolve-evals/references/core-concepts/models.mdx +0 -68
- package/skills/evolve-evals/references/core-concepts/sandboxes.mdx +0 -52
- package/skills/evolve-evals/references/core-concepts/secrets.mdx +0 -41
- package/skills/evolve-evals/references/core-concepts/sharing.mdx +0 -35
- package/skills/evolve-evals/references/core-concepts/skills.mdx +0 -42
- package/skills/evolve-evals/references/core-concepts/tasks.mdx +0 -216
- package/skills/evolve-evals/references/core-concepts/teams.mdx +0 -36
- package/skills/evolve-evals/references/core-concepts/trial-outputs.mdx +0 -117
- package/skills/evolve-evals/references/core-concepts/trials.mdx +0 -103
- package/skills/evolve-evals/references/core-concepts/upload.mdx +0 -93
- package/skills/evolve-evals/references/dashboard/checks.mdx +0 -21
- package/skills/evolve-evals/references/dashboard/datasets.mdx +0 -24
- package/skills/evolve-evals/references/dashboard/jobs.mdx +0 -65
- package/skills/evolve-evals/references/dashboard/traces.mdx +0 -17
- package/skills/evolve-evals/references/dashboard/trial-viewer.mdx +0 -30
- package/skills/evolve-evals/references/getting-started/installation.mdx +0 -56
- package/skills/evolve-evals/references/getting-started/quick-start.mdx +0 -94
- package/skills/evolve-evals/references/index.mdx +0 -48
- package/skills/evolve-evals/references/sdk/python.mdx +0 -161
- package/skills/evolve-evals/references/sdk/typescript.mdx +0 -163
- package/skills/evolve-evals/references/sdk-reference/agents.mdx +0 -108
- package/skills/evolve-evals/references/sdk-reference/analyses.mdx +0 -222
- package/skills/evolve-evals/references/sdk-reference/auth.mdx +0 -116
- package/skills/evolve-evals/references/sdk-reference/checks.mdx +0 -300
- package/skills/evolve-evals/references/sdk-reference/datasets.mdx +0 -346
- package/skills/evolve-evals/references/sdk-reference/errors.mdx +0 -210
- package/skills/evolve-evals/references/sdk-reference/index.mdx +0 -60
- package/skills/evolve-evals/references/sdk-reference/jobs.mdx +0 -822
- package/skills/evolve-evals/references/sdk-reference/meta.mdx +0 -52
- package/skills/evolve-evals/references/sdk-reference/skills.mdx +0 -69
- package/skills/evolve-evals/references/sdk-reference/trials.mdx +0 -302
- package/skills/evolve-evals/references/sdk-reference/types.mdx +0 -274
- package/skills/evolve-evals/references/snippets/global-options.mdx +0 -13
- package/skills/evolve-evals/references/snippets/list-flags.mdx +0 -23
|
@@ -12,8 +12,16 @@ Guide the user through creating a new task end-to-end. Don't just dump commands
|
|
|
12
12
|
walk them through each decision, especially around the verifier (which is usually the
|
|
13
13
|
hardest part).
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
Evolve accepts Harbor-format tasks subject to managed-platform support. Read
|
|
16
|
+
`evolve skills get evals core-concepts/tasks` and
|
|
17
|
+
`evolve skills get evals core-concepts/task-config` for supported behavior. The upstream
|
|
18
|
+
format specification is at https://docs.harborframework.com/core-concepts/tasks/overview.
|
|
19
|
+
|
|
20
|
+
Before the hosted check or publish steps, confirm `evolve --version` and
|
|
21
|
+
`evolve auth status` succeed. If needed, install the CLI with
|
|
22
|
+
`npm install -g @evolvingmachines/evolve` and set `EVOLVE_API_KEY` from the
|
|
23
|
+
dashboard's API keys page. Read `evolve skills get evals getting-started/installation`
|
|
24
|
+
for setup.
|
|
17
25
|
|
|
18
26
|
## Step 1: Create the task directory
|
|
19
27
|
|
|
@@ -36,9 +44,6 @@ The files to write, one per step below:
|
|
|
36
44
|
The directory name is the task's name on the platform: letters, digits, `.`, `_` and `-`,
|
|
37
45
|
at most 128 characters, starting with a letter or digit; use lowercase (Harbor's convention).
|
|
38
46
|
|
|
39
|
-
Where Harbor is installed, `harbor task init "<org>/<task-name>"` produces the same layout
|
|
40
|
-
(optional).
|
|
41
|
-
|
|
42
47
|
If the user wants a **multi-step task** (ordered steps with per-step
|
|
43
48
|
instructions, tests, and early stopping against a shared container), write
|
|
44
49
|
the single-step layout first, then convert to the `steps/` layout described in
|
|
@@ -68,7 +73,7 @@ Edit `environment/Dockerfile` to install dependencies the task needs. The agent
|
|
|
68
73
|
inside this container.
|
|
69
74
|
|
|
70
75
|
```dockerfile
|
|
71
|
-
FROM
|
|
76
|
+
FROM python:3.12-slim
|
|
72
77
|
WORKDIR /app
|
|
73
78
|
|
|
74
79
|
# Install what the task requires — NOT the solution
|
|
@@ -77,7 +82,8 @@ RUN apt-get update && apt-get install -y openssh-client && rm -rf /var/lib/apt/l
|
|
|
77
82
|
|
|
78
83
|
For multi-container setups, use `environment/docker-compose.yaml` instead. After
|
|
79
84
|
publishing, `evolve dataset show "<dataset>@<version>"` prints which sandbox providers can
|
|
80
|
-
run each task.
|
|
85
|
+
run each task. Read `evolve skills get evals core-concepts/compose` for Evolve's
|
|
86
|
+
supported Compose layout and limits.
|
|
81
87
|
|
|
82
88
|
**Test the environment interactively** before writing the solution or tests:
|
|
83
89
|
```bash
|
|
@@ -105,18 +111,23 @@ For a separate verifier container with no pinned `[verifier.environment] docker_
|
|
|
105
111
|
`tests/` is the verifier image's build context and its `tests/Dockerfile` must provide
|
|
106
112
|
`/tests/test.sh`. A verifier that pins the task's own image gets `tests/` uploaded to
|
|
107
113
|
`/tests`; one that pins a distinct image boots as it is with nothing uploaded, so that
|
|
108
|
-
image must carry `/tests/test.sh` itself.
|
|
109
|
-
|
|
110
|
-
whole workspace.
|
|
114
|
+
image must carry `/tests/test.sh` itself. Declare the files the verifier needs under
|
|
115
|
+
top-level `artifacts`; Evolve also transfers `/logs/artifacts/` and the collection
|
|
116
|
+
script's patch file, but not the agent's whole workspace.
|
|
111
117
|
|
|
112
118
|
```toml
|
|
119
|
+
artifacts = ["/app/out.json"]
|
|
120
|
+
|
|
113
121
|
[verifier]
|
|
114
122
|
environment_mode = "separate"
|
|
115
123
|
|
|
116
124
|
[verifier.environment]
|
|
117
|
-
|
|
125
|
+
workdir = "/app"
|
|
118
126
|
```
|
|
119
127
|
|
|
128
|
+
This configuration builds `tests/Dockerfile`. Read
|
|
129
|
+
`evolve skills get evals core-concepts/task-verifiers` for the complete setup.
|
|
130
|
+
|
|
120
131
|
### Option A: Reward Kit (recommended for most cases)
|
|
121
132
|
|
|
122
133
|
Use when the verifier has multiple criteria, needs partial credit, uses an LLM/agent
|
|
@@ -128,15 +139,25 @@ Good fit signals:
|
|
|
128
139
|
- Want partial credit rather than pass/fail
|
|
129
140
|
- Want to compose built-ins like `file_contains`, `command_succeeds`, `json_key_equals`
|
|
130
141
|
|
|
131
|
-
|
|
142
|
+
Install Reward Kit in the image that runs verification: the task image for shared
|
|
143
|
+
mode, or the verifier image for separate mode. It requires Python 3.12 or newer.
|
|
144
|
+
|
|
145
|
+
```dockerfile
|
|
146
|
+
RUN pip install --no-cache-dir 'harbor-rewardkit==0.2.1'
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
`tests/test.sh` (for a workspace at `/app`):
|
|
132
150
|
```bash
|
|
133
151
|
#!/bin/bash
|
|
134
|
-
|
|
152
|
+
set -euo pipefail
|
|
153
|
+
python3 -m rewardkit /tests \
|
|
154
|
+
--workspace /app \
|
|
155
|
+
--output /logs/verifier/reward.json
|
|
135
156
|
```
|
|
136
157
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
`
|
|
158
|
+
The package name remains `harbor-rewardkit`; the Python module is `rewardkit`.
|
|
159
|
+
Install any required extras in that image too. Read
|
|
160
|
+
`evolve skills get evals core-concepts/rewardkit` for dependencies and managed judges.
|
|
140
161
|
|
|
141
162
|
Then add `tests/checks.py` and/or `tests/judge.toml`. Read `evolve skills get rewardkit` to
|
|
142
163
|
design the criteria.
|
|
@@ -145,16 +166,20 @@ design the criteria.
|
|
|
145
166
|
|
|
146
167
|
Use when the verification is straightforward assertion-style Python.
|
|
147
168
|
|
|
169
|
+
Install pytest in the image that runs verification, rather than downloading it
|
|
170
|
+
in `test.sh`. For a Python image:
|
|
171
|
+
|
|
172
|
+
```dockerfile
|
|
173
|
+
RUN pip install --no-cache-dir 'pytest==8.4.1'
|
|
174
|
+
```
|
|
175
|
+
|
|
148
176
|
`tests/test.sh`:
|
|
149
177
|
```bash
|
|
150
178
|
#!/bin/bash
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
source $HOME/.local/bin/env
|
|
154
|
-
|
|
155
|
-
uvx --with pytest==8.4.1 pytest /tests/test_outputs.py
|
|
179
|
+
set -uo pipefail
|
|
180
|
+
mkdir -p /logs/verifier
|
|
156
181
|
|
|
157
|
-
if
|
|
182
|
+
if python3 -m pytest /tests/test_outputs.py; then
|
|
158
183
|
echo 1 > /logs/verifier/reward.txt
|
|
159
184
|
else
|
|
160
185
|
echo 0 > /logs/verifier/reward.txt
|
|
@@ -183,21 +208,25 @@ fi
|
|
|
183
208
|
|
|
184
209
|
### Reward file format (all options)
|
|
185
210
|
|
|
186
|
-
- `/logs/verifier/reward.txt` —
|
|
187
|
-
- `/logs/verifier/reward.json` — `{"
|
|
211
|
+
- `/logs/verifier/reward.txt` — one finite number from `0` to `1`
|
|
212
|
+
- `/logs/verifier/reward.json` — `{"reward": 0.95, "runtime_sec": 1.2}` for multiple metrics
|
|
188
213
|
|
|
189
|
-
|
|
214
|
+
A nonempty `reward.json` wins when both exist. Its primary score is the `reward`
|
|
215
|
+
key, or the only key in a one-key object, and must be in `[0, 1]`. Multiple keys
|
|
216
|
+
without `reward` produce metrics but no primary score. Everything the script
|
|
217
|
+
prints is kept as the verifier log.
|
|
190
218
|
|
|
191
219
|
**Always use absolute paths in `test.sh`.**
|
|
192
220
|
|
|
193
221
|
## Step 5: Write the solution
|
|
194
222
|
|
|
195
|
-
Write `solution/solve.sh` — a script that actually solves the task.
|
|
196
|
-
it
|
|
197
|
-
|
|
223
|
+
Write `solution/solve.sh` — a script that actually solves the task. The checker
|
|
224
|
+
reviews it and can run it when its sandbox supports the task's environment.
|
|
225
|
+
Evolve does not give it to the evaluated agent.
|
|
198
226
|
|
|
199
227
|
```bash
|
|
200
228
|
#!/bin/bash
|
|
229
|
+
mkdir -p ~/.ssh
|
|
201
230
|
ssh-keygen -t rsa -f ~/.ssh/id_rsa -N ""
|
|
202
231
|
```
|
|
203
232
|
|
|
@@ -215,8 +244,8 @@ description = "One-line description"
|
|
|
215
244
|
keywords = ["jax", "mnist", "rewardkit"] # 3–8 lowercase tokens: domain, verifier style, hardware
|
|
216
245
|
|
|
217
246
|
[metadata]
|
|
218
|
-
difficulty = "easy"
|
|
219
|
-
category = "programming"
|
|
247
|
+
difficulty = "easy"
|
|
248
|
+
category = "programming"
|
|
220
249
|
tags = ["..."]
|
|
221
250
|
|
|
222
251
|
[agent]
|
|
@@ -247,8 +276,8 @@ Network access has two layers:
|
|
|
247
276
|
| --- | --- | --- |
|
|
248
277
|
| `[environment].network_mode` | Baseline | Agent env start; shared verifier uses this too |
|
|
249
278
|
| `[verifier.environment].network_mode` | Baseline | Separate verifier env start |
|
|
250
|
-
| `[agent].network_mode
|
|
251
|
-
| `[verifier].network_mode
|
|
279
|
+
| `[agent].network_mode` | Override | During the agent phase |
|
|
280
|
+
| `[verifier].network_mode` | Override | Separate verifier policy; shared mode must match the baseline |
|
|
252
281
|
|
|
253
282
|
Modes: `public`, `no-network`, or `allowlist` with `allowed_hosts = ["pypi.org"]`
|
|
254
283
|
(exact hostnames, IPv4/IPv6 address literals or CIDR ranges, or leading wildcard hostnames, when supported by the selected environment; not URLs,
|
|
@@ -288,7 +317,9 @@ environment_mode = "separate"
|
|
|
288
317
|
network_mode = "public" # Verifier baseline — not a phase override
|
|
289
318
|
```
|
|
290
319
|
|
|
291
|
-
|
|
320
|
+
Evolve rejects per-step network overrides. Read
|
|
321
|
+
`evolve skills get evals core-concepts/task-config` for network access and
|
|
322
|
+
`evolve skills get evals core-concepts/compatibility` for supported task features.
|
|
292
323
|
|
|
293
324
|
For Reward Kit judges needing API keys:
|
|
294
325
|
```toml
|
|
@@ -301,19 +332,37 @@ the whole value, and the judge's credential is supplied at run time.
|
|
|
301
332
|
|
|
302
333
|
## Step 7: Check the task
|
|
303
334
|
|
|
335
|
+
First validate the task metadata, then request the hosted rubric review:
|
|
336
|
+
|
|
304
337
|
```bash
|
|
338
|
+
evolve dataset check "<task-path>"
|
|
305
339
|
evolve check "<task-path>" --watch
|
|
306
340
|
```
|
|
307
341
|
|
|
308
|
-
|
|
309
|
-
the verifier, then rules on every criterion of a rubric (eleven by default); `executed` in
|
|
310
|
-
the result says whether it ran the task. `evolve check show <check-id>` prints one entry
|
|
311
|
-
per criterion, with an `outcome`, an `explanation` and `evidence`, and one label per task:
|
|
312
|
-
`has_a_problem`, `unclear` or `no_problem_found`.
|
|
342
|
+
Set `CHECK_ID` to the parent check ID returned by `evolve check`, then read it:
|
|
313
343
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
344
|
+
```bash
|
|
345
|
+
evolve check show "$CHECK_ID"
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
`evolve dataset check` sends `task.toml` and any `dataset.toml` to the API for
|
|
349
|
+
validation. It does not upload the full task package or execute the task.
|
|
350
|
+
`evolve check` runs a paid checker agent. It reviews the files against the
|
|
351
|
+
default criteria (`evolve check --show-defaults`) and can run the environment,
|
|
352
|
+
solution, and verifier when its sandbox supports them. It is not a dedicated
|
|
353
|
+
reference-solution runner; the Evolve CLI has no standalone oracle command.
|
|
354
|
+
|
|
355
|
+
Read each criterion's `outcome`, `explanation`, and `evidence`. The result is
|
|
356
|
+
that per-criterion JSON; Evolve derives no verdict from it. The default rubric's execution
|
|
357
|
+
criteria say whether the checker ran the task: `unknown` on them is not proof
|
|
358
|
+
that the solution or verifier ran. Inspect the evidence and checker trace;
|
|
359
|
+
unresolved execution needs a test in an environment that can run the task.
|
|
360
|
+
|
|
361
|
+
Read `evolve skills get evals core-concepts/check` and
|
|
362
|
+
`evolve skills get evals cli-reference/check` for results, traces, and custom rubrics.
|
|
363
|
+
|
|
364
|
+
When a solution or verifier fails, debug in this order:
|
|
365
|
+
1. Does `solve.sh` actually solve it in the task's intended environment?
|
|
317
366
|
2. Does the verifier correctly detect success? (check `/logs/verifier/` output)
|
|
318
367
|
3. Are paths correct? (absolute vs relative)
|
|
319
368
|
4. Are dependencies installed in the Dockerfile?
|
|
@@ -329,7 +378,12 @@ evolve run -d "<dataset>@1.0" -a codex -m gpt-5.5 --watch
|
|
|
329
378
|
```
|
|
330
379
|
|
|
331
380
|
If the task is too easy (every model 1.0) or impossible (every model 0.0), consider
|
|
332
|
-
adjusting difficulty. `evolve skills get publish`
|
|
381
|
+
adjusting difficulty. `evolve skills get publish` explains the workflow;
|
|
382
|
+
`evolve skills get evals cli-reference/dataset` covers every dataset publish option.
|
|
383
|
+
For TypeScript or Python automation, load
|
|
384
|
+
`evolve skills get evals sdk-reference/methods/datasets`,
|
|
385
|
+
`evolve skills get evals sdk-reference/methods/checks`, and
|
|
386
|
+
`evolve skills get evals sdk-reference/methods/jobs`.
|
|
333
387
|
|
|
334
388
|
## Step 9: Write README.md (always the final step)
|
|
335
389
|
|
|
@@ -362,12 +416,10 @@ persist across steps.
|
|
|
362
416
|
Replace the task-root `instruction.md`, `tests/`, and `solution/` with a
|
|
363
417
|
`steps/` directory containing one sub-directory per step:
|
|
364
418
|
|
|
365
|
-
Each `[[steps]].name` must match
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
validation permits shared links inside the task. Use regular files and directories
|
|
370
|
-
for shared inputs when publishing tasks.
|
|
419
|
+
Each `[[steps]].name` must match a directory under `steps/`. Names must be unique
|
|
420
|
+
and use 1–128 ASCII letters, digits, `.`, `_`, or `-`, starting with a letter or
|
|
421
|
+
digit. Keep task inputs inside the task directory as regular files and
|
|
422
|
+
directories. Copy shared inputs into it; Evolve's importer rejects symbolic links.
|
|
371
423
|
|
|
372
424
|
```
|
|
373
425
|
<task-name>/
|
|
@@ -401,15 +453,15 @@ with cwd = WORKDIR. Non-zero exit aborts the step and the trial. Have it
|
|
|
401
453
|
```toml
|
|
402
454
|
schema_version = "1.4"
|
|
403
455
|
|
|
404
|
-
[task]
|
|
405
|
-
name = "<org>/<task-name>"
|
|
406
|
-
version = "1.0.0"
|
|
407
|
-
|
|
408
456
|
# How per-step rewards roll up into the trial-level verifier_result.
|
|
409
457
|
# "mean" (default): per-key mean across steps that produced a result.
|
|
410
458
|
# "final": the last step's verifier_result verbatim.
|
|
411
459
|
multi_step_reward_strategy = "mean"
|
|
412
460
|
|
|
461
|
+
[task]
|
|
462
|
+
name = "<org>/<task-name>"
|
|
463
|
+
version = "1.0.0"
|
|
464
|
+
|
|
413
465
|
[[steps]]
|
|
414
466
|
name = "scaffold" # Must match the directory under steps/
|
|
415
467
|
min_reward = 1.0 # Abort trial if this step's reward < 1.0
|
|
@@ -435,11 +487,12 @@ timeout_sec = 60.0
|
|
|
435
487
|
timeout_sec = 30.0
|
|
436
488
|
```
|
|
437
489
|
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
490
|
+
Evolve supports per-step agent and verifier timeouts, `verifier.env`, and
|
|
491
|
+
healthchecks. Timeouts and verifier variables fall back to task-level values.
|
|
492
|
+
Set the environment, agent user, and network policies once for the task.
|
|
493
|
+
Multi-step tasks require shared verification. Compose, per-step agent users,
|
|
494
|
+
network policies, verifier environments, and collection hooks are rejected.
|
|
495
|
+
Step verifiers run as root; a different verifier user is rejected.
|
|
443
496
|
|
|
444
497
|
### Choosing a reward strategy
|
|
445
498
|
|
|
@@ -452,20 +505,25 @@ fields fall back to the task-level values.
|
|
|
452
505
|
|
|
453
506
|
### Artifacts
|
|
454
507
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
508
|
+
Evolve accepts step-level `artifacts` in the task configuration, but does not
|
|
509
|
+
currently collect per-step artifact snapshots. Do not rely on
|
|
510
|
+
`steps/{name}/artifacts/` being present. Step results and verifier logs are
|
|
511
|
+
recorded separately; see `evolve skills get evals core-concepts/multi-step`.
|
|
458
512
|
|
|
459
513
|
### Checking a multi-step task
|
|
460
514
|
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
515
|
+
Use the metadata check and hosted review in Step 7. Inspect evidence for each
|
|
516
|
+
step's solution and verifier; the review does not guarantee their execution.
|
|
517
|
+
Then publish and run with an evaluated agent (Step 8). Inspect `step_results`
|
|
518
|
+
and per-step verifier logs, including any threshold that stopped later steps.
|
|
464
519
|
|
|
465
520
|
### Full reference + worked example
|
|
466
521
|
|
|
467
|
-
-
|
|
468
|
-
-
|
|
522
|
+
- Evolve behavior: `evolve skills get evals core-concepts/multi-step`
|
|
523
|
+
- Optional upstream example: https://github.com/laude-institute/harbor/tree/main/examples/tasks/hello-multi-step-advanced
|
|
524
|
+
|
|
525
|
+
The upstream example illustrates the format. Apply Evolve's supported options
|
|
526
|
+
above; upstream execution commands do not define the managed workflow.
|
|
469
527
|
|
|
470
528
|
## Special features (mention if relevant)
|
|
471
529
|
|
|
@@ -479,7 +537,7 @@ should be `1.0` across the aggregation strategy. Then publish and run it (Step 8
|
|
|
479
537
|
|
|
480
538
|
## Common pitfalls
|
|
481
539
|
|
|
482
|
-
- Forgetting to write the reward file →
|
|
540
|
+
- Forgetting to write the reward file → trial is `INDETERMINATE`, with no score
|
|
483
541
|
- Using relative paths in `test.sh` → breaks when the verifier runs it from a different cwd
|
|
484
542
|
- Installing the solution into the Dockerfile → agent already gets the answer
|
|
485
543
|
- Test script leaks into `instruction.md` → agent sees the rubric and gaming becomes trivial
|
package/skills/evolve/SKILL.md
CHANGED
|
@@ -4,37 +4,54 @@ description: "Evolve runs agent evaluations in the cloud: any model on any codin
|
|
|
4
4
|
allowed-tools: Bash(evolve:*), Bash(npx evolve:*)
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
#
|
|
7
|
+
# Evolve
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Run evaluations in the cloud and inspect the results. This is the entry point; the versioned manual ships inside the CLI.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## Read the relevant page first
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
```bash
|
|
14
|
+
evolve skills get evals # documentation index
|
|
15
|
+
evolve skills get evals cli-reference/run # one focused page
|
|
16
|
+
evolve run --help # installed command options
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Choose pages from the index. Load `--full` only when the entire reference is needed.
|
|
20
|
+
|
|
21
|
+
| Task | Starting page |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| First evaluation | `getting-started/quick-start` |
|
|
24
|
+
| Run or configure a job | `cli-reference/run` |
|
|
25
|
+
| Inspect, compare, stop, or retry | `cli-reference/job` |
|
|
26
|
+
| Read files, logs, or processes | `cli-reference/filesystem` |
|
|
27
|
+
| Check task quality | `cli-reference/check` |
|
|
28
|
+
| Analyze completed traces | `cli-reference/analyze` |
|
|
29
|
+
| Publish a dataset | `cli-reference/dataset` |
|
|
30
|
+
| Import completed results | `cli-reference/upload` |
|
|
31
|
+
| Upload a recorded SDK run | `core-concepts/upload-sdk-session` |
|
|
32
|
+
| Python or TypeScript client | `sdk-reference/index` |
|
|
14
33
|
|
|
15
|
-
|
|
34
|
+
For example: `evolve skills get evals cli-reference/job`.
|
|
16
35
|
|
|
17
|
-
|
|
36
|
+
## Task-authoring skills
|
|
18
37
|
|
|
19
38
|
```bash
|
|
20
|
-
evolve skills get
|
|
21
|
-
evolve skills get
|
|
22
|
-
evolve skills get
|
|
39
|
+
evolve skills get create-task # write a Harbor-format task
|
|
40
|
+
evolve skills get rewardkit # write its verifier
|
|
41
|
+
evolve skills get create-adapter # convert a benchmark
|
|
42
|
+
evolve skills get publish # publish tasks or import results
|
|
23
43
|
```
|
|
24
44
|
|
|
25
|
-
|
|
45
|
+
`evolve skills list` shows the installed bundle. Plural `skills` reads this manual; singular `skill` uploads content for evaluated agents.
|
|
26
46
|
|
|
27
|
-
##
|
|
47
|
+
## Setup, when needed
|
|
28
48
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
evolve
|
|
32
|
-
evolve skills get create-adapter # convert an existing benchmark into a folder of Harbor-format tasks
|
|
33
|
-
evolve skills get publish # publish a dataset of tasks, or upload a job you ran elsewhere (a Harbor job, or SDK runs packed as one)
|
|
34
|
-
```
|
|
49
|
+
CLI: `npm install -g @evolvingmachines/evolve`. Set `EVOLVE_API_KEY` using a key from https://dashboard.evolvingmachines.ai/api-keys; confirm with `evolve auth status`.
|
|
50
|
+
|
|
51
|
+
Python: `pip install evolvingmachines-evolve` (`import evolve`). Managed evals references still come from `evolve skills get evals`.
|
|
35
52
|
|
|
36
|
-
|
|
53
|
+
To install this pointer into an agent's skills directory, use `evolve skills install --target <agent>`. Do not reinstall or update the CLI merely to read its manual.
|
|
37
54
|
|
|
38
|
-
|
|
55
|
+
The separate managed-agents SDK skill installs from the repository: `npx skills add evolving-machines-lab/evolve --skill evolve-agents`. It is not served by `evolve skills`.
|
|
39
56
|
|
|
40
|
-
|
|
57
|
+
Inside an Evolve checkout, read `skills/evolve-evals/SKILL.md` and its `references/` directly; no installation is needed.
|