Support configuring effort alongside model
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
A workflow's definition is an object: an optional `description`, optional `auto_merge` and `auto_discard` booleans, then `steps`, which run in order. With `auto_merge`, when a stage task of a run calls `ready_for_merge`, byre merges it right away as the creator of the run, pressing the button the agent picked (`complete` or `continue`); with `auto_discard`, byre discards a stage task that calls `suggest_discard`. Without them the human decides, as for any task. The workflow's name is not in it. `save_workflow` takes it as its `definition` argument and `read_workflow` returns it, both as JSON. Unknown fields are refused.
|
||||
|
||||
Any workflow can run on a brief, each stage as its own task, and any workflow whose stages are single agents can be a project's review workflow (set with `set_review_workflow`), which reviews its tasks' snapshots: each stage is then one reviewer agent on its `model`, given the task's change and its stage's `prompt` (what to look for), and a stage after others also gets their reviews. A project can't review with a workflow that has a team stage (`agents`).
|
||||
Any workflow can run on a brief, each stage as its own task, and any workflow whose stages are single agents can be a project's review workflow (set with `set_review_workflow`), which reviews its tasks' snapshots: each stage is then one reviewer agent on its `model` and `effort`, given the task's change and its stage's `prompt` (what to look for), and a stage after others also gets their reviews. A project can't review with a workflow that has a team stage (`agents`).
|
||||
|
||||
Each step is exactly one of:
|
||||
|
||||
@@ -18,8 +18,9 @@ A stage gets the outputs of the stages that end the step before it: the last sta
|
||||
| Stage field | Meaning |
|
||||
|---|---|
|
||||
| `model` | Also picks the vendor: `gpt-*` models run on Codex, `gemini-*` models on Antigravity, every other model on Claude Code. |
|
||||
| `effort` | Optional: `low`, `medium`, `high`, `xhigh` or `max` (Codex models take `low` to `xhigh`). Without it the agent runs at the vendor's default. |
|
||||
| `prompt` | The stage agent's instructions. |
|
||||
| `agents` | In place of `model`: a list of at least two, each with `name`, `model` and `prompt`, that runs the stage as a team. They work in the stage's one task and worktree and talk through a shared board; each gets the stage's `prompt` and then its own, and the first agent finishes the stage. |
|
||||
| `agents` | In place of `model` and `effort`: a list of at least two, each with `name`, `model`, an optional `effort` and `prompt`, that runs the stage as a team. They work in the stage's one task and worktree and talk through a shared board; each gets the stage's `prompt` and then its own, and the first agent finishes the stage. |
|
||||
|
||||
Where a stage's task branches from follows from the shape. A stage after exactly one stage starts from the commit that stage finished at. A stage after a `parallel` starts from the default branch and is told the branches it can merge. A stage with nothing before it starts where the workflow was started. A run on a brief has a task of its own, with no agent, worktree or branch, and its stage tasks are that task's subtasks; it closes once they all have. A workflow is finished once every stage has finished; when it ends with a `parallel`, each branch's last stage keeps its task to merge, and the run's other stage tasks are discarded. A review is delivered to the task's agent, every stage's findings in one message, once every stage has reviewed. An `order`, `parallel` or `random` can't be empty.
|
||||
|
||||
@@ -27,7 +28,7 @@ Where a stage's task branches from follows from the shape. A stage after exactly
|
||||
{
|
||||
"description": "Build a change, review and test it in parallel, now and then auditing security in depth, then fix what they found.",
|
||||
"steps": [
|
||||
{"stage": "Build", "model": "claude-opus-5-5", "prompt": "Implement the brief."},
|
||||
{"stage": "Build", "model": "claude-opus-5-5", "effort": "high", "prompt": "Implement the brief."},
|
||||
{"parallel": [
|
||||
{"stage": "Review", "model": "gpt-6.1-sol", "prompt": "Review the Build stage's work and list the problems."},
|
||||
{"stage": "Test", "model": "gemini-4-argon-high", "prompt": "Exercise the change and report what fails."},
|
||||
|
||||
Reference in New Issue
Block a user