You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Restores workspace test compilation and regenerates the affected CLI reference.\n\nAI assistance: OpenAI gpt-5.6-sol via OpenCode verified the PR evidence and performed the authorized merge. Chris Huber remains responsible for every line.
Copy file name to clipboardExpand all lines: docs/reference/cli/commands/agent-task.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,9 +105,9 @@ Do not infer the wait policy from client interactivity. An orchestration client
105
105
| Option | Value | Description |
106
106
| --- | --- | --- |
107
107
|`--prompt`|`<PROMPT>`| Inline prompt, `@<path>` to read a file, `-` to read stdin, or `@prompt:<id>` for a stored prompt |
108
-
|`--cwd`|`<PATH>`| Existing local repo checkout or worktree path to cook in |
109
-
|`--workspace`|`<ID_OR_PATH>`| Homeboy workspace ID or existing local workspace path to cook in |
110
-
|`--repo`|`<REPO>`| Repo/component slug for metadata and task grouping, e.g. sample-plugin |
108
+
|`--cwd`|`<PATH>`| Existing local repo checkout or worktree path to cook in. For Cook, omitting --repo infers its configured component when the Git remote maps unambiguously to one registered component|
109
+
|`--workspace`|`<ID_OR_PATH>`| Homeboy workspace ID or existing local workspace path to cook in. For Cook, omitting --repo infers its configured component when the workspace Git remote maps unambiguously to one registered component|
110
+
|`--repo`|`<REPO>`| Repo/component slug for metadata and task grouping, e.g. sample-plugin. Cook infers this from an explicit --workspace or --cwd Git checkout when its configured remote mapping is unambiguous; an explicit value must match the checkout|
111
111
|`--task-url`|`<URL>`| Issue, PR, or tracker URL the task is cooking |
112
112
|`--backend`|`<BACKEND>`| Executor backend to request. Defaults to the configured coding backend |
113
113
|`--selector`|`<PROVIDER_ID>`| Optional provider id when more than one provider exists for the backend |
@@ -117,17 +117,17 @@ Do not infer the wait policy from client interactivity. An orchestration client
117
117
|`--run-id`|`<ID>`| Optional durable run id. Generated when omitted |
118
118
|`--provider-config`|`<JSON>`| Provider config JSON object, @file, or - for stdin. Merged with workspace metadata |
119
119
|`--client-context`|`<JSON>`| Opaque client context JSON object, @file, or - for stdin |
120
-
|`--max-provider-executions`|`<N>`| Maximum total provider executions per task, including same-provider retries and provider rotations. For Cook, this must be at least --max-attempts; use --max-same-provider-retries for gate and review-form remediation. `--attempts 1` runs exactly once. When omitted, defaults to the total attempts the configured provider rotation needs, or 1 when no rotation is configured |
120
+
|`--max-provider-executions`|`<N>`| Maximum total provider executions per task, including same-provider retries and provider rotations. For Cook, this must be at least --max-attempts; use --max-same-provider-retries for gate and review-form remediation. `--attempts 1` runs exactly once. An explicit total cap bounds rotations inherited from configuration: for example, `--max-attempts 1 --max-provider-executions 1` runs once even when a rotation is configured, and reports those rotations as unreachable. An explicit `--max-provider-rotations` must fit within this total. When omitted, defaults to the total attempts the configured provider rotation needs, or 1 when no rotation is configured |
121
121
|`--max-same-provider-retries`|`<N>`| Same-provider retries allowed after the first provider execution. Cook needs one for each possible gate or required review-form remediation; provider rotations cannot replace those retries. Defaults to 0; a configured provider rotation never funds these |
122
-
|`--max-provider-rotations`|`<N>`| Cross-provider rotations allowed after the first provider execution. Rotations are distinct from same-provider Cook remediation and do not satisfy its required review-form retry budget. When omitted, defaults to the number of entries in the configured provider rotation, or 0 when no rotation is configured |
122
+
|`--max-provider-rotations`|`<N>`| Cross-provider rotations allowed after the first provider execution. Rotations are distinct from same-provider Cook remediation and do not satisfy its required review-form retry budget. When omitted, defaults to the number of entries in the configured provider rotation, or 0 when no rotation is configured. When supplied with an explicit total execution cap, this request must fit within that cap; only inherited rotations are truncated automatically|
123
123
|`--queue-only`| flag | Persist the run for a daemon/runner but do not execute immediately |
124
124
|`--timeout-ms`|`<MS>`| Provider wall-clock timeout in milliseconds. Defaults to Homeboy's provider timeout |
125
125
|`--deny-command`|`<PATTERN>`| Command pattern the provider agent must not run. Repeatable, and additive to the host-level `agent_task.command_policy` config |
126
126
|`--allow-command`|`<PATTERN>`| Command pattern the provider agent may run. Supplying any `--allow-command` switches the policy to allow-list mode: every command that does not match one of these patterns is refused |
127
127
|`--command-policy-reason`|`<TEXT>`| Why the command policy exists, returned verbatim to the agent with every refusal. Telling the agent what to do instead (e.g. "this host routes builds to CI; make your edits and push") converts a refused command into correct behaviour rather than a wasted budget |
128
128
|`--candidate-completion`|`<POLICY>`| Completion rule for isolated candidates: wait for all results (default) or promote the first successful candidate |
129
129
|`--goal`|`<TEXT>`| One-line statement of what a successful cook must achieve. Recorded as framing metadata for the provider task and used for review. Without --prompt, it supplies the one provider task |
130
-
|`--to-worktree`|`<HANDLE>`| Workspace handle the cook edits, verifies, and finalizes into. The handle is `<repo>@<branch-slug>`, where the slug replaces every character of --head outside [A-Za-z0-9_-] with `-`, so branch `fix/1234-x` is handle `repo@fix-1234-x`. Existing destinations are reused. Creating a missing one is not a built-in capability: it requires an enabled worktree provider with a `commands.ensure` argv template, and without one you must create the destination first with `homeboy worktree create`. When omitted, --repo plus --task-url derives an issue-owned destination through that same configured provider |
130
+
|`--to-worktree`|`<HANDLE>`| Workspace handle the cook edits, verifies, and finalizes into. The handle is `<repo>@<branch-slug>`, where the slug replaces every character of --head outside [A-Za-z0-9_-] with `-`, so branch `fix/1234-x` is handle `repo@fix-1234-x`. Existing destinations are reused. Creating a missing one is not a built-in capability: it requires an enabled worktree provider with a `commands.ensure` argv template, and without one you must create the destination first with `homeboy worktree create`. When omitted, --repo plus --task-url derives an issue-owned destination through that same configured provider. An explicit --workspace or --cwd Git checkout can infer --repo when its remote maps to exactly one configured component; an explicit --repo must match that checkout|
131
131
|`--provider-command`|`<COMMAND>`| Deprecated promotion apply-provider command string. Migrate `--provider-command 'provider --flag value'` to `--provider-argv provider --provider-argv --flag --provider-argv value`; argv preserves exact arguments without shell splitting. The provider reads stdin request schema `homeboy/agent-task-promotion-apply-request/v1` and writes response schema `homeboy/agent-task-promotion-apply-response/v1` with `workspace_path`. |
132
132
|`--provider-argv`|`<ARG>`| Promotion-only apply-provider invocation argument. Repeat once per exact argv element: the first is the executable and later values are its arguments; values are never shell-split. This cannot select an executor. The provider reads stdin request schema `homeboy/agent-task-promotion-apply-request/v1` and writes response schema `homeboy/agent-task-promotion-apply-response/v1` with required `workspace_path`. |
133
133
|`--verify`|`<COMMAND>`| Deterministic verification command that must pass before the cook promotes its work (e.g. `--verify "cargo fmt --check"`). Required unless `--private-verify` is given — a cook that cannot verify its work cannot promote it. Runs in the destination worktree. Repeat to require multiple gates; every one must pass. Its output is included in the review evidence |
@@ -949,6 +949,7 @@ Adopt an immutable commit candidate through a tracked cook's normal gates and fi
949
949
|`--candidate-ref`|`<SHA>`| Immutable commit revision in the recorded source worktree |
950
950
|`--ai-model`|`<MODEL>`| Concrete model that prepared the externally supplied candidate |
951
951
|`--replace-interrupted`| flag | Replace a stale interrupted adoption while retaining its lifecycle evidence |
952
+
|`--accept-inherited-failures`| flag | Permit finalization only when a failed recorded gate reproduces with the same bounded fingerprint on the immutable candidate base. New or changed failures remain blocking and inherited-red evidence remains in the report |
952
953
|`--full`| flag | Return the complete cook adoption report, including nested gate evidence |
953
954
954
955
## `homeboy agent-task finalize-pr`
@@ -963,7 +964,7 @@ This is the core-owned publication boundary for external runtimes.
963
964
964
965
| Option | Value | Description |
965
966
| --- | --- | --- |
966
-
|`--recover`|`<RUN_OR_COOK_ID>`| Hydrate finalization from a durable Cook recipe and its applied promotion|
967
+
|`--recover`|`<RUN_OR_COOK_ID>`| Hydrate finalization from a durable Cook recipe or a validated manual-finalization record|
0 commit comments