@evolvingmachines/evolve 0.0.67 → 0.0.68
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-FHL4GIAZ.js +1 -0
- package/dist/chunk-ORD7JDZB.js +1 -0
- package/dist/chunk-SQDR2TAW.js +427 -0
- package/dist/cli/index.cjs +38 -38
- package/dist/cli/index.d.cts +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +30 -30
- package/dist/index.cjs +65 -60
- package/dist/index.d.cts +332 -29
- package/dist/index.d.ts +332 -29
- package/dist/index.js +48 -43
- package/dist/managed-modal-IXZBT4D5.js +4 -0
- package/dist/resumable-XNW5SKRW.js +1 -0
- package/dist/{types-84M4J_Vm.d.cts → types-DGx_qo9M.d.cts} +118 -77
- package/dist/{types-84M4J_Vm.d.ts → types-DGx_qo9M.d.ts} +118 -77
- package/harness-capabilities.json +325 -77
- package/hosted-error-codes.json +1 -0
- package/package.json +9 -7
- package/skills/create-adapter/SKILL.md +1 -1
- package/skills/create-task/SKILL.md +1 -1
- package/skills/evolve/SKILL.md +1 -1
- package/skills/evolve-evals/references/cli-reference/agent.md +1 -1
- package/skills/evolve-evals/references/cli-reference/analyze.md +6 -3
- package/skills/evolve-evals/references/cli-reference/check.md +4 -3
- package/skills/evolve-evals/references/cli-reference/index.md +1 -1
- package/skills/evolve-evals/references/cli-reference/run.md +4 -3
- package/skills/evolve-evals/references/core-concepts/agents.md +7 -3
- package/skills/evolve-evals/references/core-concepts/analyze.md +2 -2
- package/skills/evolve-evals/references/core-concepts/check.md +2 -2
- package/skills/evolve-evals/references/core-concepts/datasets.md +1 -1
- package/skills/evolve-evals/references/core-concepts/index.md +1 -1
- package/skills/evolve-evals/references/core-concepts/jobs.md +3 -3
- package/skills/evolve-evals/references/core-concepts/models.md +8 -9
- package/skills/evolve-evals/references/core-concepts/sandboxes.md +1 -1
- package/skills/evolve-evals/references/core-concepts/secrets.md +1 -1
- package/skills/evolve-evals/references/core-concepts/skills.md +1 -1
- package/skills/evolve-evals/references/core-concepts/task-verifiers.md +1 -1
- package/skills/evolve-evals/references/core-concepts/teams.md +1 -1
- package/skills/evolve-evals/references/core-concepts/upload.md +1 -1
- package/skills/evolve-evals/references/getting-started/first-task.md +1 -1
- package/skills/evolve-evals/references/getting-started/quick-start.md +1 -1
- package/skills/evolve-evals/references/index.md +1 -1
- package/skills/evolve-evals/references/sdk/http.md +1 -1
- package/skills/evolve-evals/references/sdk/python.md +1 -1
- package/skills/evolve-evals/references/sdk/typescript.md +1 -1
- package/skills/evolve-evals/references/sdk-reference/analyses.md +11 -4
- package/skills/evolve-evals/references/sdk-reference/checks.md +11 -4
- package/skills/evolve-evals/references/sdk-reference/error-codes.md +1 -0
- package/skills/evolve-evals/references/sdk-reference/jobs.md +2 -2
- package/skills/evolve-evals/references/sdk-reference/meta.md +2 -1
- package/skills/evolve-evals/references/sdk-reference/methods/analyses.md +6 -4
- package/skills/evolve-evals/references/sdk-reference/methods/checks.md +8 -4
- package/skills/evolve-evals/references/sdk-reference/methods/jobs.md +5 -3
- package/skills/evolve-evals/references/sdk-reference/methods/meta.md +15 -4
- package/skills/evolve-evals/references/sdk-reference/skills.md +2 -2
- package/skills/evolve-evals/references/sdk-reference/types.md +11 -5
- package/spec/openapi.yaml +290 -137
- package/dist/chunk-HQJI3HHU.js +0 -1
- package/dist/chunk-RFLMRPGK.js +0 -427
- package/dist/managed-modal-IJW62SSK.js +0 -4
- package/dist/resumable-HFSICSH3.js +0 -1
|
@@ -15,10 +15,11 @@ Each selected trial gets its own analysis run. Read those runs with [`evolve ana
|
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
17
|
evolve analyze --show-defaults
|
|
18
|
+
evolve analyze --show-defaults -a codex
|
|
18
19
|
evolve analyze --show-defaults --json
|
|
19
20
|
```
|
|
20
21
|
|
|
21
|
-
This returns the
|
|
22
|
+
This returns the agent, model, reasoning effort, sandbox provider, prompt, and rubric an analysis runs under when you name none of them. With `-a`, it returns what that agent runs under: its default model and the effort that model takes. Defaults mode takes no job ID and no other analysis options.
|
|
22
23
|
|
|
23
24
|
## Select trials
|
|
24
25
|
|
|
@@ -51,6 +52,7 @@ Cancelled trials are excluded. `--passing` and `--failing` cannot be combined. T
|
|
|
51
52
|
|
|
52
53
|
```bash
|
|
53
54
|
evolve analyze "$JOB_ID" \
|
|
55
|
+
--agent codex --model gpt-6-sol \
|
|
54
56
|
--rubric rubric.toml \
|
|
55
57
|
--prompt prompt.txt \
|
|
56
58
|
--watch
|
|
@@ -58,12 +60,13 @@ evolve analyze "$JOB_ID" \
|
|
|
58
60
|
|
|
59
61
|
| Option | Meaning |
|
|
60
62
|
| --- | --- |
|
|
61
|
-
| `-
|
|
63
|
+
| `-a`, `--agent <name>` | Agent the analyzer runs on. Default `claude`. |
|
|
64
|
+
| `-m`, `--model <name>` | Analyzer model, from that agent's models. Default: the agent's default model. |
|
|
62
65
|
| `--effort <value>` | Reasoning effort. |
|
|
63
66
|
| `-r`, `--rubric <path>` | TOML, YAML, or JSON rubric. |
|
|
64
67
|
| `-p`, `--prompt <path>` | Text file replacing the default prompt. |
|
|
65
68
|
| `-e`, `--env <provider>` | Sandbox provider for analysis. |
|
|
66
|
-
| `--show-defaults` | Print the default policy and exit. |
|
|
69
|
+
| `--show-defaults` | Print the default policy and exit. `-a` picks the agent. |
|
|
67
70
|
|
|
68
71
|
A rubric contains a `criteria` list. Every criterion needs `name`, `description`, and `guidance`.
|
|
69
72
|
|
|
@@ -44,16 +44,17 @@ evolve check --show-defaults
|
|
|
44
44
|
| Option | Meaning |
|
|
45
45
|
| --- | --- |
|
|
46
46
|
| `--name <name>` | Check label. Defaults to the acceptance timestamp. |
|
|
47
|
-
| `-
|
|
47
|
+
| `-a`, `--agent <name>` | Agent the checker runs on. Default `claude`. |
|
|
48
|
+
| `-m`, `--model <name>` | Checker model, from that agent's models. Default: the agent's default model. |
|
|
48
49
|
| `--effort <value>` | Reasoning effort. |
|
|
49
50
|
| `-r`, `--rubric <path>` | TOML, YAML, or JSON rubric. |
|
|
50
51
|
| `-p`, `--prompt <path>` | Replacement prompt text file. |
|
|
51
52
|
| `-e`, `--env <provider>` | Checker sandbox provider. |
|
|
52
|
-
| `--show-defaults` | Print the
|
|
53
|
+
| `--show-defaults` | Print the agent, model, effort, provider, prompt, and rubric, then exit. `-a` picks the agent. |
|
|
53
54
|
| `--watch` | Wait until every task check settles. |
|
|
54
55
|
| `-q`, `--quiet` | With watch, suppress intermediate progress. |
|
|
55
56
|
|
|
56
|
-
`--show-defaults` accepts only [global options](/cli-reference/index#global-options). It cannot be combined with a path, dataset, or checker options.
|
|
57
|
+
`--show-defaults` accepts only `-a` and the [global options](/cli-reference/index#global-options). It cannot be combined with a path, dataset, or other checker options.
|
|
57
58
|
|
|
58
59
|
For rubric format and interpretation, see [Check](/core-concepts/check).
|
|
59
60
|
|
|
@@ -109,7 +109,7 @@ A trial prefix may require reading the trials of every job in scope. On large ac
|
|
|
109
109
|
Repeat a repeatable flag once per value. Do not combine short flags.
|
|
110
110
|
|
|
111
111
|
```bash
|
|
112
|
-
evolve run -d harbor-examples@1.0 -a codex -m gpt-
|
|
112
|
+
evolve run -d harbor-examples@1.0 -a codex -m gpt-6-luna \
|
|
113
113
|
-i 'hello-*' -x '*-slow' --max-trial-spend 0.30 --max-retries 0
|
|
114
114
|
```
|
|
115
115
|
|
|
@@ -9,7 +9,7 @@ Start a hosted job. `evolve job start` accepts exactly the same options.
|
|
|
9
9
|
evolve run \
|
|
10
10
|
-d harbor-examples@1.0 \
|
|
11
11
|
-i hello-world \
|
|
12
|
-
-a codex -m gpt-
|
|
12
|
+
-a codex -m gpt-6-luna \
|
|
13
13
|
--max-trial-spend 0.30 \
|
|
14
14
|
--max-retries 0 \
|
|
15
15
|
--watch
|
|
@@ -51,7 +51,7 @@ datasets:
|
|
|
51
51
|
task_names: [hello-world]
|
|
52
52
|
agents:
|
|
53
53
|
- name: codex
|
|
54
|
-
model_name: gpt-
|
|
54
|
+
model_name: gpt-6-luna
|
|
55
55
|
n_attempts: 1
|
|
56
56
|
n_concurrent_trials: 4
|
|
57
57
|
max_trial_spend_usd: 0.30
|
|
@@ -148,7 +148,8 @@ See [Jobs](/core-concepts/jobs) for the retry and spend rules.
|
|
|
148
148
|
| Option | Meaning |
|
|
149
149
|
| --- | --- |
|
|
150
150
|
| `--analyze` | Enable analysis with the platform defaults. |
|
|
151
|
-
| `--analyze-
|
|
151
|
+
| `--analyze-agent <name>` | Agent the analyzer runs on. Default `claude`. |
|
|
152
|
+
| `--analyze-model <name>` | Analyzer model, from that agent's models. |
|
|
152
153
|
| `--analyze-rubric <path>` | TOML, YAML, or JSON rubric. |
|
|
153
154
|
| `--analyze-prompt <path>` | Replacement prompt file. |
|
|
154
155
|
| `--analyze-provider <provider>` | Analyzer sandbox provider. |
|
|
@@ -8,7 +8,7 @@ An evaluation arm pairs an **agent harness** with a **model**. The harness reads
|
|
|
8
8
|
```text
|
|
9
9
|
One arm
|
|
10
10
|
├── Harness: -a codex
|
|
11
|
-
└── Model: -m gpt-
|
|
11
|
+
└── Model: -m gpt-6-luna
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
## Built-in harnesses
|
|
@@ -17,15 +17,19 @@ One arm
|
|
|
17
17
|
| --- | --- |
|
|
18
18
|
| `claude` | Claude Code |
|
|
19
19
|
| `codex` | Codex |
|
|
20
|
-
| `gemini` | Gemini CLI |
|
|
21
20
|
| `qwen` | Qwen Code |
|
|
22
21
|
| `kimi` | Kimi Code |
|
|
23
22
|
| `opencode` | OpenCode |
|
|
24
23
|
| `droid` | Droid |
|
|
24
|
+
| `pi` | pi |
|
|
25
|
+
| `prime-agent` | Prime Agent |
|
|
26
|
+
| `dsh` | DeepSeek Harness |
|
|
27
|
+
| `zcode` | Z Code |
|
|
28
|
+
| `antigravity` | Antigravity CLI |
|
|
25
29
|
|
|
26
30
|
```bash
|
|
27
31
|
evolve run -d harbor-examples@1.0 -i hello-world \
|
|
28
|
-
-a codex -m gpt-
|
|
32
|
+
-a codex -m gpt-6-luna \
|
|
29
33
|
--max-trial-spend 1 --max-retries 0 --watch
|
|
30
34
|
```
|
|
31
35
|
|
|
@@ -41,7 +41,7 @@ Repeat `-t` with full trial IDs to select specific trials; selection happens bef
|
|
|
41
41
|
```bash
|
|
42
42
|
evolve run \
|
|
43
43
|
-d harbor-examples@1.0 -i hello-world \
|
|
44
|
-
-a codex -m gpt-
|
|
44
|
+
-a codex -m gpt-6-luna \
|
|
45
45
|
--max-trial-spend 1 -r 0 --analyze --watch
|
|
46
46
|
```
|
|
47
47
|
|
|
@@ -104,7 +104,7 @@ evolve analyze "$JOB_ID" -r rubric.toml -p prompt.txt --watch
|
|
|
104
104
|
|
|
105
105
|
An analyzer prompt can use `{trial_path}`, `{task_section}`, and `{criteria_guidance}`. Evolve appends the required output format.
|
|
106
106
|
|
|
107
|
-
Use `-m`, `--effort`, `-e`, and `-n` for model, effort, provider, and concurrency. On job creation, use the corresponding `--analyze-*` flags. See the [full reference](/cli-reference/analyze).
|
|
107
|
+
Use `-a`, `-m`, `--effort`, `-e`, and `-n` for agent, model, effort, provider, and concurrency. The analyzer runs on `claude` unless `-a` names another agent; the model must be one of that agent's [models](/core-concepts/models#analysis-and-check-models). On job creation, use the corresponding `--analyze-*` flags. See the [full reference](/cli-reference/analyze).
|
|
108
108
|
|
|
109
109
|
## The result
|
|
110
110
|
|
|
@@ -52,13 +52,13 @@ A check is a hosted model run and incurs cost. `evolve dataset check` is a separ
|
|
|
52
52
|
| Execution | Valid reference solution; rejection of non-solutions; environment works; stable verification; sufficient limits. |
|
|
53
53
|
| Feasibility | The task is solvable. |
|
|
54
54
|
|
|
55
|
-
Inspect the default rubric's criteria and their complete guidance, and the current model, effort, provider, and prompt:
|
|
55
|
+
Inspect the default rubric's criteria and their complete guidance, and the current agent, model, effort, provider, and prompt:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
58
|
evolve check --show-defaults
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
Use `-r rubric.toml` or `-p prompt.txt` to customize. Check prompt tokens are `{task_path}`, `{file_tree}`, and `{criteria_guidance}`. The required result format is appended automatically.
|
|
61
|
+
Use `-r rubric.toml` or `-p prompt.txt` to customize. Check prompt tokens are `{task_path}`, `{file_tree}`, and `{criteria_guidance}`. The required result format is appended automatically. The checker runs on `claude` unless `-a` names another agent; pass a model from that agent's [models](/core-concepts/models#analysis-and-check-models) with `-m`, or omit `-m` for that agent's default model.
|
|
62
62
|
|
|
63
63
|
## The result
|
|
64
64
|
|
|
@@ -102,7 +102,7 @@ Configuration validation cannot prove that images build or tests are correct. Ru
|
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
104
|
# Run an exact version.
|
|
105
|
-
evolve run -d my-dataset@1.0 -a codex -m gpt-
|
|
105
|
+
evolve run -d my-dataset@1.0 -a codex -m gpt-6-luna
|
|
106
106
|
|
|
107
107
|
# Change what the bare name resolves to.
|
|
108
108
|
evolve dataset activate my-dataset 1.0
|
|
@@ -20,7 +20,7 @@ flowchart TD
|
|
|
20
20
|
| --- | --- | --- |
|
|
21
21
|
| [Task](/core-concepts/tasks) | An instruction, environment, and grading logic. | Fix a bug and pass the tests. |
|
|
22
22
|
| [Dataset](/core-concepts/datasets) | A named, versioned collection of tasks. | `harbor-examples@1.0`. |
|
|
23
|
-
| [Agent](/core-concepts/agents) | A harness running a selected model. | Codex with `gpt-
|
|
23
|
+
| [Agent](/core-concepts/agents) | A harness running a selected model. | Codex with `gpt-6-luna`. |
|
|
24
24
|
| [Sandbox](/core-concepts/sandboxes) | The isolated environment where a trial runs. | A task image on Daytona, E2B, or Modal. |
|
|
25
25
|
| [Job](/core-concepts/jobs) | A group of trials with shared run settings. | 10 tasks × 2 configurations × 3 attempts = 60 trials. |
|
|
26
26
|
| [Trial](/core-concepts/trials) | One attempt at one task. | One score and its supporting evidence. |
|
|
@@ -19,7 +19,7 @@ Each of the three tasks runs twice in Arm A and twice in Arm B.
|
|
|
19
19
|
```bash
|
|
20
20
|
evolve run \
|
|
21
21
|
-d harbor-examples@1.0 -i hello-world \
|
|
22
|
-
-a codex -m gpt-
|
|
22
|
+
-a codex -m gpt-6-luna \
|
|
23
23
|
--max-trial-spend 1 -r 0 \
|
|
24
24
|
--watch
|
|
25
25
|
```
|
|
@@ -50,7 +50,7 @@ Use a [config file](#config-files) to compare different harnesses in one job.
|
|
|
50
50
|
`-i` and `-x` accept task-name globs. Quote them so your shell does not expand them.
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
evolve run -d my-dataset@1.0 -a codex -m gpt-
|
|
53
|
+
evolve run -d my-dataset@1.0 -a codex -m gpt-6-luna \
|
|
54
54
|
-i 'auth-*' -x 'auth-legacy' -l 20 \
|
|
55
55
|
--max-trial-spend 2 -r 0 --watch
|
|
56
56
|
```
|
|
@@ -198,7 +198,7 @@ datasets:
|
|
|
198
198
|
task_names: [hello-world]
|
|
199
199
|
agents:
|
|
200
200
|
- name: codex
|
|
201
|
-
model_name: gpt-
|
|
201
|
+
model_name: gpt-6-luna
|
|
202
202
|
- name: claude
|
|
203
203
|
model_name: fable
|
|
204
204
|
n_attempts: 2
|
|
@@ -8,7 +8,7 @@ description: "Select models, compare them, and control metered spend."
|
|
|
8
8
|
```bash
|
|
9
9
|
evolve run -d harbor-examples@1.0 -i hello-world \
|
|
10
10
|
-a codex \
|
|
11
|
-
-m gpt-
|
|
11
|
+
-m gpt-6-luna -m gpt-5.6-terra \
|
|
12
12
|
--max-trial-spend 1 --max-retries 0 --watch
|
|
13
13
|
```
|
|
14
14
|
|
|
@@ -49,7 +49,6 @@ If you enable your own provider key, supported model requests bill that provider
|
|
|
49
49
|
| --- | --- |
|
|
50
50
|
| Supports effort levels | Use a value from `limits.job.reasoning_efforts` |
|
|
51
51
|
| Qwen thinking mode | Use `off` or `minimal` to disable thinking; `medium` or `thinking` to enable it |
|
|
52
|
-
| Gemini | Do not pass effort; it is unsupported |
|
|
53
52
|
| Custom agent | Configure reasoning in its run command |
|
|
54
53
|
|
|
55
54
|
When omitted, Evolve resolves the harness's default and records it in `agent_info.reasoning_effort`. The same harness and model at different efforts are distinct arms.
|
|
@@ -58,15 +57,15 @@ In `/api/meta`, `agents[].effort_support` identifies the mode: `level`, `binary`
|
|
|
58
57
|
|
|
59
58
|
## Analysis and check models
|
|
60
59
|
|
|
61
|
-
Trace analysis and task checks
|
|
60
|
+
Trace analysis and task checks run on Claude Code unless you choose another agent. Select their agent and model separately from the evaluation arms:
|
|
62
61
|
|
|
63
|
-
| Operation | Model option |
|
|
64
|
-
| --- | --- |
|
|
65
|
-
| `evolve analyze` | `-m` |
|
|
66
|
-
| `evolve check` | `-m` |
|
|
67
|
-
| Analysis attached to `evolve run` | `--analyze-model` |
|
|
62
|
+
| Operation | Agent option | Model option |
|
|
63
|
+
| --- | --- | --- |
|
|
64
|
+
| `evolve analyze` | `-a` | `-m` |
|
|
65
|
+
| `evolve check` | `-a` | `-m` |
|
|
66
|
+
| Analysis attached to `evolve run` | `--analyze-agent` | `--analyze-model` |
|
|
68
67
|
|
|
69
|
-
|
|
68
|
+
Omit the model and the agent runs its default: `openrouter/deepseek/deepseek-v4.1-flash` on every agent whose models include it, otherwise that agent's own default model. A model you name must be one of the chosen agent's models. In `/api/meta`, `analyze.agents` lists the agents these commands accept, each agent's default model and models, and the effort each model runs at when you pass none. `evolve analyze --show-defaults -a <agent>` prints what that agent runs under.
|
|
70
69
|
|
|
71
70
|
**[Configure a run](/cli-reference/run)**
|
|
72
71
|
|
|
@@ -7,7 +7,7 @@ Each trial runs in its own cloud sandbox. Use `-e` to request E2B, Daytona, or M
|
|
|
7
7
|
|
|
8
8
|
```bash
|
|
9
9
|
evolve run -d harbor-examples@1.0 -i hello-world \
|
|
10
|
-
-a codex -m gpt-
|
|
10
|
+
-a codex -m gpt-6-luna -e modal \
|
|
11
11
|
--max-trial-spend 1 --max-retries 0 --watch
|
|
12
12
|
```
|
|
13
13
|
|
|
@@ -29,7 +29,7 @@ Eval jobs support **direct** delivery: the value enters the agent sandbox. Broke
|
|
|
29
29
|
## Attach it to a job
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
evolve run -d my-dataset@1.0 -a codex -m gpt-
|
|
32
|
+
evolve run -d my-dataset@1.0 -a codex -m gpt-6-luna \
|
|
33
33
|
--secret GITHUB_TOKEN@staging \
|
|
34
34
|
--max-trial-spend 1 --max-retries 0 --watch
|
|
35
35
|
```
|
|
@@ -197,7 +197,7 @@ Evolve supplies a gateway credential and the matching base URL. Recognized crede
|
|
|
197
197
|
For a Reward Kit judge, override its agent and model for one job with:
|
|
198
198
|
|
|
199
199
|
```bash
|
|
200
|
-
evolve run -d my-dataset@1.0 -a codex -m gpt-
|
|
200
|
+
evolve run -d my-dataset@1.0 -a codex -m gpt-6-luna \
|
|
201
201
|
--ve REWARDKIT_JUDGE=claude \
|
|
202
202
|
--ve REWARDKIT_MODEL=sonnet
|
|
203
203
|
```
|
|
@@ -70,7 +70,7 @@ This is a minimal illustrative trial record with a reward. Replace the task, age
|
|
|
70
70
|
"agent_info": {
|
|
71
71
|
"name": "codex",
|
|
72
72
|
"version": "",
|
|
73
|
-
"model_info": { "name": "gpt-
|
|
73
|
+
"model_info": { "name": "gpt-6-luna" }
|
|
74
74
|
},
|
|
75
75
|
"verifier_result": { "rewards": { "reward": 1.0 } }
|
|
76
76
|
}
|
|
@@ -39,7 +39,7 @@ After [installation and authentication](/getting-started/installation), run one
|
|
|
39
39
|
```bash
|
|
40
40
|
evolve run \
|
|
41
41
|
-d harbor-examples@1.0 -i hello-world \
|
|
42
|
-
-a codex -m gpt-
|
|
42
|
+
-a codex -m gpt-6-luna \
|
|
43
43
|
--max-trial-spend 1 --max-retries 0 --watch
|
|
44
44
|
```
|
|
45
45
|
|
|
@@ -27,7 +27,7 @@ async def main():
|
|
|
27
27
|
"version": "1.0",
|
|
28
28
|
"task_names": ["hello-world"],
|
|
29
29
|
}],
|
|
30
|
-
agents=[{"name": "codex", "model_name": "gpt-
|
|
30
|
+
agents=[{"name": "codex", "model_name": "gpt-6-luna"}],
|
|
31
31
|
max_trial_spend_usd=0.50,
|
|
32
32
|
retry={"max_retries": 0},
|
|
33
33
|
)
|
|
@@ -25,7 +25,7 @@ const job = await evolve.jobs.start({
|
|
|
25
25
|
version: "1.0",
|
|
26
26
|
task_names: ["hello-world"],
|
|
27
27
|
}],
|
|
28
|
-
agents: [{ name: "codex", model_name: "gpt-
|
|
28
|
+
agents: [{ name: "codex", model_name: "gpt-6-luna" }],
|
|
29
29
|
max_trial_spend_usd: 0.50,
|
|
30
30
|
retry: { max_retries: 0 },
|
|
31
31
|
});
|
|
@@ -49,8 +49,9 @@ The field names are the same in both languages. TypeScript passes an object; Pyt
|
|
|
49
49
|
|
|
50
50
|
| Field | Purpose |
|
|
51
51
|
| --- | --- |
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
52
|
+
| `agent` | Agent the analyzer runs on; default `claude` |
|
|
53
|
+
| `model_name` | Analyzer model, one of that agent's models |
|
|
54
|
+
| `reasoning_effort` | Effort that agent accepts |
|
|
54
55
|
| `sandbox_provider` | Analyzer's sandbox provider |
|
|
55
56
|
| `rubric` | `{criteria: [{name, description, guidance}, ...]}` |
|
|
56
57
|
| `prompt` | Replacement prompt template text |
|
|
@@ -77,14 +78,20 @@ Polling slows to at most 30 seconds while the tally stays unchanged. Call the wa
|
|
|
77
78
|
```ts TypeScript
|
|
78
79
|
const defaults = await analyses().defaults();
|
|
79
80
|
console.log(defaults.model_name, defaults.rubric, defaults.prompt);
|
|
81
|
+
|
|
82
|
+
const codex = await analyses().defaults({ agent: "codex" });
|
|
83
|
+
console.log(codex.model_name, codex.reasoning_effort);
|
|
80
84
|
```
|
|
81
85
|
|
|
82
86
|
```python Python
|
|
83
87
|
defaults = await analyses().defaults()
|
|
84
88
|
print(defaults["model_name"], defaults["rubric"], defaults["prompt"])
|
|
89
|
+
|
|
90
|
+
codex = await analyses().defaults(agent="codex")
|
|
91
|
+
print(codex["model_name"], codex["reasoning_effort"])
|
|
85
92
|
```
|
|
86
93
|
|
|
87
|
-
The response includes `model_name`, `rubric`, `prompt`, `reasoning_effort`, and `sandbox_provider`. The prompt is the editable template text.
|
|
94
|
+
The response includes `agent`, `model_name`, `rubric`, `prompt`, `reasoning_effort`, and `sandbox_provider`. The prompt is the editable template text. Pass an agent to read what that agent runs under when you name no model: its default model and the effort that model takes.
|
|
88
95
|
|
|
89
96
|
A custom analyze prompt may use `{trial_path}`, `{task_section}`, and `{criteria_guidance}`. The required result schema is appended by the platform. See [analysis concepts](/core-concepts/analyze) for rubric design.
|
|
90
97
|
|
|
@@ -110,7 +117,7 @@ The latest analysis also appears on `trial.analysis`. Each criterion reports `pa
|
|
|
110
117
|
| Method | TypeScript | Python |
|
|
111
118
|
| --- | --- | --- |
|
|
112
119
|
| List runs | `list(options)` | `list(...)` |
|
|
113
|
-
| Read defaults | `defaults()` | `defaults()` |
|
|
120
|
+
| Read defaults | `defaults({ agent })` | `defaults(agent=...)` |
|
|
114
121
|
| Download run | `download(analysisId, { to })` | `download(analysis_id, to=...)` |
|
|
115
122
|
| Browse sandbox files | `filesystem(analysisId)` | `filesystem(analysis_id)` |
|
|
116
123
|
| Read one analysis directly | `get(analysisId)` | Use list results or `trial.analysis` |
|
|
@@ -55,8 +55,9 @@ Choose one source. A local check does not first publish a dataset.
|
|
|
55
55
|
| Option | Purpose |
|
|
56
56
|
| --- | --- |
|
|
57
57
|
| `name` | Check label; defaults to an acceptance timestamp |
|
|
58
|
-
| `
|
|
59
|
-
| `
|
|
58
|
+
| `agent` | Agent the checker runs on; default `claude` |
|
|
59
|
+
| `model_name` | Checker model, one of that agent's models |
|
|
60
|
+
| `reasoning_effort` | Effort that agent accepts |
|
|
60
61
|
| `sandbox_provider` | Checker sandbox provider |
|
|
61
62
|
| `rubric` | `{criteria: [{name, description, guidance}, ...]}` |
|
|
62
63
|
| `prompt` | Replacement prompt template |
|
|
@@ -73,14 +74,20 @@ TypeScript places these alongside `source` in the input object. Python takes key
|
|
|
73
74
|
```ts TypeScript
|
|
74
75
|
const defaults = await client.defaults();
|
|
75
76
|
console.log(defaults.rubric, defaults.prompt);
|
|
77
|
+
|
|
78
|
+
const codex = await client.defaults({ agent: "codex" });
|
|
79
|
+
console.log(codex.model_name, codex.reasoning_effort);
|
|
76
80
|
```
|
|
77
81
|
|
|
78
82
|
```python Python
|
|
79
83
|
defaults = await client.defaults()
|
|
80
84
|
print(defaults["rubric"], defaults["prompt"])
|
|
85
|
+
|
|
86
|
+
codex = await client.defaults(agent="codex")
|
|
87
|
+
print(codex["model_name"], codex["reasoning_effort"])
|
|
81
88
|
```
|
|
82
89
|
|
|
83
|
-
Defaults include model, rubric, prompt, effort, and provider. Check prompt tokens are `{task_path}`, `{file_tree}`, and `{criteria_guidance}`. They differ from analysis prompt tokens.
|
|
90
|
+
Defaults include agent, model, rubric, prompt, effort, and provider. Pass an agent to read what that agent runs under when you name no model: its default model and the effort that model takes. Check prompt tokens are `{task_path}`, `{file_tree}`, and `{criteria_guidance}`. They differ from analysis prompt tokens.
|
|
84
91
|
|
|
85
92
|
## Understand the result
|
|
86
93
|
|
|
@@ -116,7 +123,7 @@ Evolve derives no verdict from a result. Read the criterion outcomes and evidenc
|
|
|
116
123
|
| `get(id)` | Full check and its task results |
|
|
117
124
|
| `list(...)` | `scope`, `status` list, `dataset`, `limit`, `cursor`; paginated handle |
|
|
118
125
|
| `watch(id, ...)` | Wait until completed; callback on changes |
|
|
119
|
-
| `defaults()` | Current policy and editable prompt |
|
|
126
|
+
| `defaults({ agent })` | Current policy and editable prompt; with an agent, what that agent runs under |
|
|
120
127
|
|
|
121
128
|
Watch options are `onProgress`, `pollIntervalMs`, `signal` in TypeScript; `on_progress`, `poll_interval_s`, `timeout_s` in Python. Polling starts at 2 seconds and slows to 30 seconds while unchanged.
|
|
122
129
|
|
|
@@ -95,6 +95,7 @@ These codes apply to chunked dataset and job uploads. They describe the transfer
|
|
|
95
95
|
| `agent_config_unsupported` | This harness does not support a native config. Omit it or choose a harness listed in `details.config_supporting_agents`. |
|
|
96
96
|
| `agent_config_key_refused` | Native config contains settings that Evolve controls, such as routing or credentials. Remove the keys named in `details.refused_keys`. |
|
|
97
97
|
| `agent_preset_unsupported` | This harness cannot apply the requested preset. Choose a supported harness or remove the preset. |
|
|
98
|
+
| `agent_retired` | A new job, resume, retry, analysis or check named a retired harness. Use the harness in `details.retired_agents[].replaced_by`; its past runs stay readable. |
|
|
98
99
|
|
|
99
100
|
## Registered agents
|
|
100
101
|
|
|
@@ -28,7 +28,7 @@ const job = await client.start({
|
|
|
28
28
|
version: "1.0",
|
|
29
29
|
task_names: ["hello-world"],
|
|
30
30
|
}],
|
|
31
|
-
agents: [{ name: "codex", model_name: "gpt-
|
|
31
|
+
agents: [{ name: "codex", model_name: "gpt-6-luna" }],
|
|
32
32
|
max_trial_spend_usd: 0.50,
|
|
33
33
|
retry: { max_retries: 0 },
|
|
34
34
|
});
|
|
@@ -44,7 +44,7 @@ job = await client.start(
|
|
|
44
44
|
"version": "1.0",
|
|
45
45
|
"task_names": ["hello-world"],
|
|
46
46
|
}],
|
|
47
|
-
agents=[{"name": "codex", "model_name": "gpt-
|
|
47
|
+
agents=[{"name": "codex", "model_name": "gpt-6-luna"}],
|
|
48
48
|
max_trial_spend_usd=0.50,
|
|
49
49
|
retry={"max_retries": 0},
|
|
50
50
|
)
|
|
@@ -31,10 +31,11 @@ Also available as `hosted().meta()` in both languages.
|
|
|
31
31
|
| Field | Use it to answer |
|
|
32
32
|
| --- | --- |
|
|
33
33
|
| `agents` | Which harnesses run? Which models, efforts, versions, kwargs, and presets do they support? |
|
|
34
|
+
| `retired_agents` | Which harnesses are retired, and which harness replaces each? |
|
|
34
35
|
| `sandbox_providers` | Which providers support the task's resources and features? |
|
|
35
36
|
| `platform_constraints` | Which requirements cannot run on this deployment? |
|
|
36
37
|
| `network_modes` | Which network modes can a task declare? |
|
|
37
|
-
| `analyze` | Which
|
|
38
|
+
| `analyze` | Which agents can analyses and checks run on, with which models and reasoning efforts? |
|
|
38
39
|
| `limits` | What are the current defaults and bounds for jobs, pages, uploads, and comparisons? |
|
|
39
40
|
| `statuses` | Which states exist, and which are terminal? |
|
|
40
41
|
| `agent_registration` | Which names, environment keys, and upload sizes can a custom agent use? |
|
|
@@ -54,27 +54,29 @@ Python analysis rows are dictionaries: `row["id"]`, `row["checks"]`. [Analysis r
|
|
|
54
54
|
|
|
55
55
|
## defaults
|
|
56
56
|
|
|
57
|
-
Read the current analysis defaults. Returns `AnalyzeDefaults`: model, effort, sandbox provider, rubric, and unrendered prompt template.
|
|
57
|
+
Read the current analysis defaults. Returns `AnalyzeDefaults`: agent, model, effort, sandbox provider, rubric, and unrendered prompt template. Pass an agent to read what that agent runs under when you name no model.
|
|
58
58
|
|
|
59
59
|
### Signature
|
|
60
60
|
|
|
61
61
|
```ts TypeScript signature
|
|
62
|
-
defaults(): Promise<AnalyzeDefaults>;
|
|
62
|
+
defaults(options?: { agent?: string }): Promise<AnalyzeDefaults>;
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
```python Python signature
|
|
66
|
-
async def defaults() -> AnalyzeDefaults: ...
|
|
66
|
+
async def defaults(*, agent: Optional[str] = None) -> AnalyzeDefaults: ...
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
```ts TypeScript
|
|
70
70
|
const defaults = await client.defaults();
|
|
71
|
+
const codex = await client.defaults({ agent: "codex" });
|
|
71
72
|
```
|
|
72
73
|
|
|
73
74
|
```python Python
|
|
74
75
|
defaults = await client.defaults()
|
|
76
|
+
codex = await client.defaults(agent="codex")
|
|
75
77
|
```
|
|
76
78
|
|
|
77
|
-
Python returns a dictionary. These are current defaults; an existing analysis records the policy it actually ran under.
|
|
79
|
+
Python returns a dictionary. These are current defaults; an existing analysis records the policy it actually ran under. An agent the platform does not offer is refused with `invalid_input`.
|
|
78
80
|
|
|
79
81
|
## get
|
|
80
82
|
|
|
@@ -37,6 +37,7 @@ async def create(
|
|
|
37
37
|
*,
|
|
38
38
|
dataset: Optional[str] = None,
|
|
39
39
|
name: Optional[str] = None,
|
|
40
|
+
agent: Optional[str] = None,
|
|
40
41
|
model_name: Optional[str] = None,
|
|
41
42
|
rubric: Optional[Rubric] = None,
|
|
42
43
|
prompt: Optional[str] = None,
|
|
@@ -80,6 +81,7 @@ Optional `onUploadProgress(sent, total)` / `on_upload_progress(sent, total)` rep
|
|
|
80
81
|
```ts
|
|
81
82
|
interface CheckConfigInput {
|
|
82
83
|
name?: string;
|
|
84
|
+
agent?: string;
|
|
83
85
|
model_name?: string;
|
|
84
86
|
rubric?: Rubric;
|
|
85
87
|
prompt?: string;
|
|
@@ -160,27 +162,29 @@ Optional `scope`: `my` (default), `shared`, or `org`; `status`: a list of `queue
|
|
|
160
162
|
|
|
161
163
|
## defaults
|
|
162
164
|
|
|
163
|
-
Read `CheckDefaults`: current model, reasoning effort, sandbox provider, rubric, and unrendered prompt template.
|
|
165
|
+
Read `CheckDefaults`: current agent, model, reasoning effort, sandbox provider, rubric, and unrendered prompt template. Pass an agent to read what that agent runs under when you name no model.
|
|
164
166
|
|
|
165
167
|
### Signature
|
|
166
168
|
|
|
167
169
|
```ts TypeScript signature
|
|
168
|
-
defaults(): Promise<CheckDefaults>;
|
|
170
|
+
defaults(options?: { agent?: string }): Promise<CheckDefaults>;
|
|
169
171
|
```
|
|
170
172
|
|
|
171
173
|
```python Python signature
|
|
172
|
-
async def defaults() -> CheckDefaults: ...
|
|
174
|
+
async def defaults(*, agent: Optional[str] = None) -> CheckDefaults: ...
|
|
173
175
|
```
|
|
174
176
|
|
|
175
177
|
```ts TypeScript
|
|
176
178
|
const defaults = await client.defaults();
|
|
179
|
+
const codex = await client.defaults({ agent: "codex" });
|
|
177
180
|
```
|
|
178
181
|
|
|
179
182
|
```python Python
|
|
180
183
|
defaults = await client.defaults()
|
|
184
|
+
codex = await client.defaults(agent="codex")
|
|
181
185
|
```
|
|
182
186
|
|
|
183
|
-
Python returns a dictionary. The check’s prompt uses `{task_path}`, `{file_tree}`, and `{criteria_guidance}`; the output contract is appended after your template.
|
|
187
|
+
Python returns a dictionary. The check’s prompt uses `{task_path}`, `{file_tree}`, and `{criteria_guidance}`; the output contract is appended after your template. An agent the platform does not offer is refused with `invalid_input`.
|
|
184
188
|
|
|
185
189
|
## watch
|
|
186
190
|
|
|
@@ -67,7 +67,7 @@ const job = await client.start({
|
|
|
67
67
|
agents: [
|
|
68
68
|
{
|
|
69
69
|
name: "codex",
|
|
70
|
-
model_name: "gpt-
|
|
70
|
+
model_name: "gpt-6-luna"
|
|
71
71
|
}
|
|
72
72
|
],
|
|
73
73
|
max_trial_spend_usd: 1,
|
|
@@ -89,7 +89,7 @@ job = await client.start(
|
|
|
89
89
|
agents=[
|
|
90
90
|
{
|
|
91
91
|
'name': 'codex',
|
|
92
|
-
'model_name': 'gpt-
|
|
92
|
+
'model_name': 'gpt-6-luna',
|
|
93
93
|
},
|
|
94
94
|
],
|
|
95
95
|
max_trial_spend_usd=1,
|
|
@@ -528,6 +528,7 @@ analyze(
|
|
|
528
528
|
async def analyze(
|
|
529
529
|
id: str,
|
|
530
530
|
*,
|
|
531
|
+
agent: Optional[str] = None,
|
|
531
532
|
model_name: Optional[str] = None,
|
|
532
533
|
rubric: Optional[Rubric] = None,
|
|
533
534
|
prompt: Optional[str] = None,
|
|
@@ -556,7 +557,7 @@ job = await client.analyze(
|
|
|
556
557
|
)
|
|
557
558
|
```
|
|
558
559
|
|
|
559
|
-
All options are optional. `analyses().defaults()` reads the current model, effort, provider, rubric, and prompt defaults.
|
|
560
|
+
All options are optional. `analyses().defaults()` reads the current agent, model, effort, provider, rubric, and prompt defaults.
|
|
560
561
|
|
|
561
562
|
| Selection | Meaning |
|
|
562
563
|
| --- | --- |
|
|
@@ -572,6 +573,7 @@ Cancelled trials are excluded. `trial_ids` is accepted here, but refused inside
|
|
|
572
573
|
|
|
573
574
|
```ts
|
|
574
575
|
interface AnalyzeConfigInput {
|
|
576
|
+
agent?: string;
|
|
575
577
|
model_name?: string;
|
|
576
578
|
rubric?: Rubric;
|
|
577
579
|
prompt?: string;
|