@compozy/cli 0.2.10 → 0.2.12

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.
Files changed (2) hide show
  1. package/README.md +108 -47
  2. package/package.json +18 -18
package/README.md CHANGED
@@ -100,7 +100,14 @@ Execution runtimes are separate from skill installation. To run `compozy exec`,
100
100
  | Gemini CLI | `gemini` | `gemini --acp` |
101
101
  | Kiro CLI | `kiro` | `kiro-cli acp` |
102
102
 
103
- When the direct ACP command is not installed, Compozy can also fall back to supported launchers such as `npx @zed-industries/codex-acp` when the launcher is available locally. Codex defaults to `gpt-5.5`; using that model with a local `codex-acp` binary requires `@zed-industries/codex-acp >= 0.12.0`. Update with `npm install -g @zed-industries/codex-acp@latest`, or explicitly choose a model supported by your installed adapter.
103
+ When the direct ACP command is not installed, Compozy can fall back to supported launchers such as `npx --yes @agentclientprotocol/codex-acp`. Codex and Droid default to `gpt-5.6-sol`; GPT-5.6 models and the `max`/`ultra` reasoning levels require `@agentclientprotocol/codex-acp >= 1.1.2`. Update with `npm install -g @agentclientprotocol/codex-acp@latest`. The legacy `@zed-industries/codex-acp` package remains compatible only with older combinations such as GPT-5.5 with reasoning through `xhigh`.
104
+
105
+ Compozy negotiates each runtime from the model, reasoning, and mode options advertised by ACP `session/new` or `session/load`, and applies the resolved configuration before sending the first prompt:
106
+
107
+ - Codex supports `gpt-5.6-sol`, `gpt-5.6-terra`, and `gpt-5.6-luna` when the installed adapter advertises them. The built-in default is `gpt-5.6-sol` with `medium` reasoning.
108
+ - Cursor model names resolve against its ACP catalog. For example, `--model grok-4.5` resolves to the advertised `grok-4.5[effort=high,fast=true]`; the exact ID is also accepted when shell-quoted. Cursor does not receive a separate reasoning option when its ACP session does not advertise one.
109
+ - Claude Fable 5 accepts `--model fable`, `--model fable-5`, or `--model claude-fable-5`. Compozy always selects Claude's `auto` permission mode for Fable, even when `--access-mode full` was requested, so it never sends `bypassPermissions` for that model.
110
+ - Claude's `max` reasoning is an advertised ACP effort value, not a system-prompt instruction. `ultracode` is an interactive Claude Code workflow rather than an ACP reasoning value, so Compozy does not emulate it with a parameter or prompt. If a requested effort such as `ultra` is not advertised by Claude, Compozy stops before the prompt and lists the valid choices.
104
111
 
105
112
  ## 🔄 How It Works
106
113
 
@@ -118,7 +125,7 @@ Task and review issue files use YAML frontmatter for parseable metadata such as
118
125
 
119
126
  - `compozy daemon start|status|stop` manages the home-scoped daemon lifecycle. `daemon start` is idempotent, and task/review/exec commands auto-start the daemon when needed.
120
127
  - `compozy workspaces list|show|register|unregister|resolve` exposes the daemon workspace registry. Workspaces are also lazily registered when you run daemon-backed commands inside them.
121
- - `compozy tasks run <slug>` is the canonical single-workflow runner. In interactive terminals it attaches to the TUI by default; in non-interactive environments it falls back to streaming. Use `--ui`, `--stream`, `--detach`, or `--attach` to override that behavior.
128
+ - `compozy tasks run <slug>` is the canonical single-workflow runner. In interactive terminals it attaches to the TUI by default; in non-interactive environments it falls back to streaming. Use `--ui`, `--stream`, `--detach`, or `--attach` to override that behavior. Add `--parallel-tasks` to explicitly opt into dependency-aware parallel execution using per-task worktrees and an integration branch.
122
129
  - `compozy tasks run --multiple alpha,beta` starts one daemon-owned queue for several task workflows. Use `tasks run --multiple` when the same flags and runtime defaults should apply to an ordered batch; keep using `tasks run <slug>` for one workflow or scripts that expect one run ID per invocation. Add `--parallel` to run the batch concurrently — each child runs in its own isolated git worktree, bounded by `--parallel-limit` (default `2`).
123
130
  - Independent `compozy tasks run` invocations from different workspaces run concurrently on the shared home-scoped daemon. When another workspace already has an active run, the CLI prints a warning with the busy workspace and run ID before starting the new run.
124
131
  - `compozy runs attach <run-id>` restores the interactive TUI for an existing daemon-managed run, while `compozy runs watch <run-id>` streams textual observation from the same snapshot-plus-stream transport.
@@ -161,7 +168,7 @@ Example:
161
168
  ```toml
162
169
  [defaults]
163
170
  ide = "codex"
164
- model = "gpt-5.5"
171
+ model = "gpt-5.6-sol"
165
172
  reasoning_effort = "medium"
166
173
  access_mode = "full"
167
174
  timeout = "10m"
@@ -179,9 +186,27 @@ include_completed = false
179
186
  run_multiple_mode = "enqueued"
180
187
  run_multiple_parallel_limit = 2
181
188
 
189
+ [tasks.run.parallel]
190
+ enabled = false # compatibility field; activation still requires a per-run choice
191
+ max_concurrency = 4
192
+
193
+ [tasks.run.parallel.conflict_resolver]
194
+ ide = "codex"
195
+ model = "gpt-5.6-sol"
196
+ reasoning_effort = "medium"
197
+ max_attempts = 1
198
+ validation_command = []
199
+
182
200
  [exec]
183
201
  output_format = "text"
184
202
 
203
+ [recovery]
204
+ enabled = false
205
+ ide = "codex"
206
+ model = "gpt-5.6-sol"
207
+ reasoning_effort = "medium"
208
+ max_attempts = 1
209
+
185
210
  [fix_reviews]
186
211
  concurrent = 2
187
212
  batch_size = 3
@@ -198,8 +223,10 @@ Supported sections:
198
223
  - `[exec]` for `output_format` plus exec-specific runtime overrides such as `ide`, `model`, `reasoning_effort`, `access_mode`, `timeout`, `tail_lines`, `add_dirs`, `max_retries`, and `retry_backoff_multiplier`
199
224
  - `[tasks]` for the allowed task `type` list used by `cy-create-tasks` and `compozy tasks validate`
200
225
  - `[tasks.run]` for workflow-run defaults used by `compozy tasks run`, such as `include_completed`, `run_multiple_mode`, and `run_multiple_parallel_limit`
226
+ - `[tasks.run.parallel]` for options used after dependency-aware parallel execution is explicitly selected for one PRD task workflow, including `max_concurrency` and the conflict-resolver agent under `[tasks.run.parallel.conflict_resolver]`; `enabled` remains parseable for compatibility but is not authorization to create worktrees
201
227
  - `[fix_reviews]` for `concurrent`, `batch_size`, and `include_resolved`
202
228
  - `[fetch_reviews]` for `provider` and `nitpicks` (controls CodeRabbit review-body comments; default is enabled when unset)
229
+ - `[recovery]` for agentic recovery defaults used by run-producing commands: `enabled`, `ide`, `model`, `reasoning_effort`, and `max_attempts`
203
230
  - `[sound]` for optional run-completion audio presets or absolute file paths
204
231
 
205
232
  Notes:
@@ -211,9 +238,14 @@ Notes:
211
238
  - `[tasks.run] run_multiple_mode` controls `tasks run --multiple` scheduling. Valid values are `"enqueued"` and `"parallel"`; when unset, the built-in default is `"enqueued"`.
212
239
  - `run_multiple_mode = "parallel"` runs the batch concurrently, with each child in its own isolated git worktree. The CLI `--parallel` flag overrides this config value for a single invocation.
213
240
  - `[tasks.run] run_multiple_parallel_limit` caps how many children run at once in parallel mode. It must be a positive integer and defaults to `2`. The CLI `--parallel-limit <n>` flag overrides it for a single invocation. The limit has no effect in enqueued mode, which always runs one child at a time.
241
+ - `[tasks.run.parallel] enabled` does not activate worktree-backed execution by itself. A single-workflow run uses task worktrees only after a per-run choice through `--parallel-tasks=true`, the wizard, or `runtime_overrides.parallel_tasks.enabled=true`; `--parallel-tasks=false` keeps the standard runner. The remaining TOML values configure an explicitly enabled run.
242
+ - `[tasks.run.parallel] max_concurrency` caps concurrent task worktrees within a wave and defaults to `4`. The conflict resolver uses `ide`, `model`, `reasoning_effort`, and `max_attempts` for bounded merge-conflict resolution.
243
+ - `[tasks.run.parallel.conflict_resolver] validation_command` is optional and disabled by default. When set, it is an argv-style command such as `["go", "test", "./..."]`, runs without a shell after conflict markers and unmerged entries are gone, and must not modify the integration worktree. Omit it or set `[]` to rely only on universal git validation.
214
244
  - `max_retries` applies to execution-stage ACP failures and inactivity timeouts for `compozy exec`, `compozy tasks run`, and `compozy reviews fix`.
215
245
  - Built-in CLI defaults retry timed-out or transient ACP failures twice; set `max_retries = 0` or pass `--max-retries 0` to opt out.
216
246
  - `retry_backoff_multiplier` only increases the next attempt timeout; retries restart immediately and do not add a sleep delay.
247
+ - Recovery is disabled by default. When enabled, `max_attempts` is the number of remediation plus restart cycles and must be between `1` and `3`.
248
+ - Recovery config is resolved fresh for each invocation and is not persisted into run or exec metadata. Use `--recovery`, `--no-recovery`, `--recovery-ide`, `--recovery-model`, `--recovery-reasoning`, and `--recovery-max-attempts` to override `[recovery]` for one command.
217
249
 
218
250
  ## Reusable Agents
219
251
 
@@ -402,6 +434,7 @@ Generated task files use task schema v2 (`status`, `title`, `type`, `complexity`
402
434
 
403
435
  ```bash
404
436
  compozy tasks run user-auth --ide claude
437
+ compozy tasks run user-auth --parallel-tasks
405
438
  compozy tasks run --multiple user-auth,cleanup --ide claude
406
439
  compozy tasks run --multiple user-auth,cleanup --parallel --parallel-limit 2
407
440
  ```
@@ -616,30 +649,43 @@ compozy tasks run <slug> [flags]
616
649
 
617
650
  The CLI resolves workspace defaults locally, validates the task metadata, auto-starts the daemon when needed, and then starts the workflow through the daemon transport.
618
651
 
619
- | Flag | Default | Description |
620
- | --------------------- | ------- | ------------------------------------------------------------------------------------------------ |
621
- | `--name` | | Workflow slug (defaults to the positional slug) |
622
- | `--multiple` | | Comma-separated workflow slugs to run through one daemon-owned parent queue |
623
- | `--parallel` | `false` | Run `--multiple` workflows concurrently in isolated git worktrees (valid only with `--multiple`) |
624
- | `--parallel-limit` | `2` | Max children started at once in `--parallel` mode; must be `> 0` (valid only with `--multiple`) |
625
- | `--include-completed` | `false` | Re-run completed tasks |
626
- | `--recursive`, `-r` | `false` | Discover `task_NNN.md` files in nested subdirectories of the workflow root |
627
- | `--skip-validation` | `false` | Skip task metadata preflight; use only when validation already ran elsewhere |
628
- | `--force` | `false` | Continue after task metadata validation fails in non-interactive mode |
629
- | `--attach` | `auto` | Attach mode: `auto`, `ui`, `stream`, or `detach` |
630
- | `--ui` | `false` | Force interactive TUI attach mode |
631
- | `--stream` | `false` | Force textual stream attach mode |
632
- | `--detach` | `false` | Start the run without attaching a client |
633
- | `--task-runtime` | | Per-task runtime override rule (`type=...`, `id=...`, `ide=...`, `model=...`, etc.) |
652
+ | Flag | Default | Description |
653
+ | ------------------------- | ------------- | ------------------------------------------------------------------------------------------------ |
654
+ | `--name` | | Workflow slug (defaults to the positional slug) |
655
+ | `--multiple` | | Comma-separated workflow slugs to run through one daemon-owned parent queue |
656
+ | `--parallel` | `false` | Run `--multiple` workflows concurrently in isolated git worktrees (valid only with `--multiple`) |
657
+ | `--parallel-limit` | `2` | Max children started at once in `--parallel` mode; must be `> 0` (valid only with `--multiple`) |
658
+ | `--parallel-tasks` | `false` | Use per-task worktrees plus an integration branch for dependency-aware waves |
659
+ | `--include-completed` | `false` | Re-run completed tasks |
660
+ | `--recursive`, `-r` | `false` | Discover `task_NNN.md` files in nested subdirectories of the workflow root |
661
+ | `--skip-validation` | `false` | Skip task metadata preflight; use only when validation already ran elsewhere |
662
+ | `--force` | `false` | Continue after task metadata validation fails in non-interactive mode |
663
+ | `--attach` | `auto` | Attach mode: `auto`, `ui`, `stream`, or `detach` |
664
+ | `--ui` | `false` | Force interactive TUI attach mode |
665
+ | `--stream` | `false` | Force textual stream attach mode |
666
+ | `--detach` | `false` | Start the run without attaching a client |
667
+ | `--task-runtime` | | Per-task runtime override rule (`type=...`, `id=...`, `ide=...`, `model=...`, etc.) |
668
+ | `--recovery` | `false` | Enable agentic recovery for failed runs |
669
+ | `--no-recovery` | `false` | Disable agentic recovery for this invocation |
670
+ | `--recovery-ide` | `codex` | Runtime used by the recovery agent |
671
+ | `--recovery-model` | `gpt-5.6-sol` | Model used by the recovery agent |
672
+ | `--recovery-reasoning` | `medium` | Recovery agent reasoning effort: `low`, `medium`, `high`, `xhigh`, `max`, or `ultra` |
673
+ | `--recovery-max-attempts` | `1` | Recovery remediation plus restart cycles; must be between `1` and `3` |
634
674
 
635
675
  When `--recursive` is set, tasks are grouped by directory (root tasks first, then each subdirectory in alphabetical order, numerically within), and `_`/`.`-prefixed directories, `reviews-*` rounds, `adrs/`, and `memory/` are skipped. The same setting can be persisted as `[tasks.run] recursive = true` in workspace TOML or chosen from the interactive task-runtime form.
636
676
 
637
677
  Use `tasks run --multiple` when you want to start several task workflows from one invocation with the same runtime flags. Use `tasks run <slug>` when you only need one workflow run, when a script expects a single workflow slug, or when you want the existing single-run command path.
638
678
 
679
+ For one workflow, `--parallel-tasks` is the explicit per-run choice to execute pending task files in dependency waves using isolated task worktrees and a dedicated integration branch, bounded by `[tasks.run.parallel] max_concurrency`:
680
+
681
+ ```bash
682
+ compozy tasks run my-feature --parallel-tasks
683
+ ```
684
+
639
685
  The `--multiple` flag takes one comma-separated slug list:
640
686
 
641
687
  ```bash
642
- compozy tasks run --multiple alpha,beta --ide codex --model gpt-5.5
688
+ compozy tasks run --multiple alpha,beta --ide codex --model gpt-5.6-sol
643
689
  compozy tasks run --multiple alpha,beta --stream
644
690
  compozy tasks run --multiple alpha,beta --detach
645
691
  ```
@@ -664,29 +710,38 @@ Resolution precedence:
664
710
  - Mode: `--parallel` flag > `run_multiple_mode` config > `enqueued` default.
665
711
  - Limit: `--parallel-limit <n>` flag > `run_multiple_parallel_limit` config > `2` default.
666
712
 
713
+ Before starting, the CLI prints the resolved execution kind, whether it uses
714
+ worktrees, and the source of the choice (explicit flag, workspace config, or
715
+ built-in default). The interactive wizard always presents an exclusive choice
716
+ between **Serial queue (no worktrees)** and **Parallel workflows (git
717
+ worktrees)** when multiple workflows are selected, and repeats it on the review
718
+ screen.
719
+
667
720
  `--parallel` and `--parallel-limit` are valid only with `--multiple`, and the limit must be a positive integer; invalid combinations are rejected before the daemon is contacted.
668
721
 
669
- **Worktree isolation.** In parallel mode the parent workspace must be on a named git branch. Compozy resolves the current branch and `HEAD` once, then creates one detached git worktree per child under `~/.compozy/state/worktrees/`. Each child runs with its workspace root and task directory remapped into that worktree, so concurrent agents get isolated working trees, indexes, and `HEAD`s while sharing the repository object store. Worktrees do **not** isolate shared runtime resources such as ports, credentials, provider rate limits, caches, or external services — treat parallel batches as genuinely independent tasks.
722
+ **Worktree isolation.** In parallel mode the parent workspace must be on a named git branch. Compozy resolves the current branch and `HEAD` once, then creates one named-result git worktree per child under `~/.compozy/state/worktrees/`. Each child runs with its workspace root and task directory remapped into that worktree, so concurrent agents get isolated working trees, indexes, and `HEAD`s while sharing the repository object store. Worktrees do **not** isolate shared runtime resources such as ports, credentials, provider rate limits, caches, or external services — treat parallel batches as genuinely independent tasks.
723
+
724
+ **Safe cleanup and result branches.** Multi-spec output is never merged automatically into the user's branch. Each child receives a deterministic `compozy/multi-*` result branch. After settlement, a clean worktree can be removed while its committed output remains on that branch; an empty result branch is deleted when it still points at the base. Dirty trees or output without a proven retention point remain `preserved` with an explicit reason. `compozy runs purge` applies the same ownership, dirty-tree, and commit-retention checks before deleting old run metadata.
670
725
 
671
- **Preservation and V1 non-goals.** Every child worktree is preserved for manual review regardless of child status. Compozy does not auto-merge, auto-push, branch, or delete worktrees, and it does not predict semantic conflicts; recombining results is a manual step. Each detached worktree records its base branch and commit so you can branch or merge from it yourself.
726
+ Within one workflow, successful dependency-wave output is squash-merged into a temporary integration branch and fast-forwarded only if every required task succeeds. Task worktrees are removed after that output is retained. On failure, the user's branch is unchanged; partial output and unsafe trees are preserved with reasons for inspection.
672
727
 
673
728
  **Fail-late aggregation.** A child failure does not cancel its siblings. The parent reaches a terminal status only after every started child settles: `completed` when all children complete, or `failed` when any child fails, crashes, or cannot start (the parent error names the failed slugs). Canceling the parent cancels running children and marks not-started children canceled. In non-TUI runs the parent command exits non-zero when the aggregate status is failed, canceled, or crashed.
674
729
 
675
- **Handoff output.** After the queue settles, `--stream` runs (and the UI-settled fallback) print a final handoff that lists each child in requested order so every preserved worktree is locatable:
730
+ **Handoff output.** After the queue settles, `--stream` runs (and the UI-settled fallback) print a final handoff that lists each child in requested order, including the retained result branch and any worktree preserved for inspection:
676
731
 
677
732
  ```text
678
733
  task multi-run handoff:
679
- alpha completed | run=child-alpha | worktree=~/.compozy/state/worktrees/<ws>/<parent>/01-alpha | branch=main
680
- beta failed | run=child-beta | worktree=~/.compozy/state/worktrees/<ws>/<parent>/02-beta | boom
734
+ alpha completed | run=child-alpha | worktree=~/.compozy/state/worktrees/<ws>/<parent>/01-alpha | result_branch=compozy/multi-...-01-alpha | worktree_status=removed
735
+ beta failed | run=child-beta | worktree=~/.compozy/state/worktrees/<ws>/<parent>/02-beta | worktree_status=preserved | worktree_reason=uncommitted changes | boom
681
736
  ```
682
737
 
683
- Missing run ids or worktree paths render as `-`. Streamed child events also carry `worktree=<path>`, and the TUI shows a worktree status line for the selected child.
738
+ Missing run ids or worktree metadata render as `-`. Streamed child events carry the path, lifecycle status, reason, and result branch when known; the TUI shows the same handoff metadata for the selected child.
684
739
 
685
740
  Cross-workspace runs are different from `--multiple` scheduling: the home-scoped daemon accepts separate `compozy tasks run` invocations from different workspaces concurrently and does not queue or reject the second run. Before starting a non-dry-run task workflow, the CLI checks daemon status; if active runs belong to another registered workspace, it warns with the busy workspace name/path and run ID, then proceeds. The warning is skipped when the daemon is idle, when the active run belongs to the same workspace, or when `--dry-run` is set.
686
741
 
687
742
  In the TUI, every requested slug has a tab. Queued tabs appear before their child run exists, the running tab shows the familiar task-run surface, and completed, failed, or canceled tabs remain available for inspection. The quit dialog applies to the parent queue: `Close TUI` detaches and leaves the queue running in the daemon, `Stop Run` cancels the parent queue, cancels the active child, and marks queued workflows canceled, and `Cancel` returns to the TUI without changing execution.
688
743
 
689
- The multi-run path uses the same attach and runtime flags as single-run `tasks run`, except `--multiple` cannot be combined with a positional slug or `--name`.
744
+ The multi-run path uses the same attach and runtime flags as single-run `tasks run`, except `--multiple` cannot be combined with a positional slug, `--name`, or `--parallel-tasks`.
690
745
 
691
746
  </details>
692
747
 
@@ -713,7 +768,7 @@ compozy runs watch <run-id>
713
768
  compozy runs purge
714
769
  ```
715
770
 
716
- Use `runs attach` to restore the interactive TUI for an existing run, `runs watch` for textual streaming observation, and `runs purge` to delete terminal run artifacts according to the configured retention policy.
771
+ Use `runs attach` to restore the interactive TUI for an existing run, `runs watch` for textual streaming observation, and `runs purge` to delete terminal run artifacts according to the configured retention policy. Purge also removes clean Compozy-owned preserved worktrees recorded by terminal run events under `~/.compozy/state/worktrees/`; it ignores paths outside that root and stops before deleting run metadata if a task worktree is dirty.
717
772
 
718
773
  </details>
719
774
 
@@ -743,26 +798,32 @@ Provide exactly one prompt source: a positional prompt, `--prompt-file`, or `std
743
798
 
744
799
  `compozy exec` is headless and ephemeral by default. Use `--agent <name>` to execute a reusable agent from `.compozy/agents/` or `~/.compozy/agents/`, `--persist` to create `~/.compozy/runs/<run-id>/` for resumable sessions, `--run-id` to continue a persisted session, `--format json` for lean JSONL, `--format raw-json` for the full raw event stream, and `--tui` to opt back into the interactive UI.
745
800
 
746
- | Flag | Default | Description |
747
- | ---------------------------- | ----------- | ------------------------------------------------------------------------------------------ |
748
- | `--ide` | `codex` | Runtime: `claude`, `codex`, `copilot`, `cursor-agent`, `droid`, `gemini`, `opencode`, `pi` |
749
- | `--model` | _(per IDE)_ | Model override |
750
- | `--agent` | | Reusable agent to execute from `.compozy/agents/` or `~/.compozy/agents/` |
751
- | `--prompt-file` | | Read prompt text from a file |
752
- | `--format` | `text` | Output contract: `text`, `json`, or `raw-json` |
753
- | `--reasoning-effort` | `medium` | `low`, `medium`, `high`, `xhigh` |
754
- | `--access-mode` | `full` | `default` or `full` runtime access policy |
755
- | `--timeout` | `10m` | Activity timeout per job |
756
- | `--max-retries` | `2` | Retry execution-stage ACP failures or timeouts N times |
757
- | `--retry-backoff-multiplier` | `1.5` | Multiplier applied to the next timeout after each retry |
758
- | `--tail-lines` | `0` | Maximum log lines retained per job in UI (`0` = full history) |
759
- | `--add-dir` | | Additional directories to allow (repeatable; currently `claude` and `codex` only) |
760
- | `--auto-commit` | `false` | Include automatic commit instructions when the prompt asks for code changes |
761
- | `--verbose` | `false` | Emit operational runtime logs to stderr during exec |
762
- | `--tui` | `false` | Open the interactive TUI instead of headless stdout output |
763
- | `--persist` | `false` | Persist exec artifacts under `~/.compozy/runs/<run-id>/` |
764
- | `--run-id` | | Resume a previously persisted exec session by run id |
765
- | `--dry-run` | `false` | Preview prompts without executing |
801
+ | Flag | Default | Description |
802
+ | ---------------------------- | ------------- | ------------------------------------------------------------------------------------------ |
803
+ | `--ide` | `codex` | Runtime: `claude`, `codex`, `copilot`, `cursor-agent`, `droid`, `gemini`, `opencode`, `pi` |
804
+ | `--model` | _(per IDE)_ | Model override |
805
+ | `--agent` | | Reusable agent to execute from `.compozy/agents/` or `~/.compozy/agents/` |
806
+ | `--prompt-file` | | Read prompt text from a file |
807
+ | `--format` | `text` | Output contract: `text`, `json`, or `raw-json` |
808
+ | `--reasoning-effort` | `medium` | `low`, `medium`, `high`, `xhigh`, `max`, `ultra` |
809
+ | `--access-mode` | `full` | `default` or `full` runtime access policy |
810
+ | `--timeout` | `10m` | Activity timeout per job |
811
+ | `--recovery` | `false` | Enable agentic recovery for failed exec runs |
812
+ | `--no-recovery` | `false` | Disable agentic recovery for this invocation |
813
+ | `--recovery-ide` | `codex` | Runtime used by the recovery agent |
814
+ | `--recovery-model` | `gpt-5.6-sol` | Model used by the recovery agent |
815
+ | `--recovery-reasoning` | `medium` | Recovery agent reasoning effort: `low`, `medium`, `high`, `xhigh`, `max`, or `ultra` |
816
+ | `--recovery-max-attempts` | `1` | Recovery remediation plus restart cycles; must be between `1` and `3` |
817
+ | `--max-retries` | `2` | Retry execution-stage ACP failures or timeouts N times |
818
+ | `--retry-backoff-multiplier` | `1.5` | Multiplier applied to the next timeout after each retry |
819
+ | `--tail-lines` | `0` | Maximum log lines retained per job in UI (`0` = full history) |
820
+ | `--add-dir` | | Additional directories to allow (repeatable; currently `claude` and `codex` only) |
821
+ | `--auto-commit` | `false` | Include automatic commit instructions when the prompt asks for code changes |
822
+ | `--verbose` | `false` | Emit operational runtime logs to stderr during exec |
823
+ | `--tui` | `false` | Open the interactive TUI instead of headless stdout output |
824
+ | `--persist` | `false` | Persist exec artifacts under `~/.compozy/runs/<run-id>/` |
825
+ | `--run-id` | | Resume a previously persisted exec session by run id |
826
+ | `--dry-run` | `false` | Preview prompts without executing |
766
827
 
767
828
  </details>
768
829
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@compozy/cli",
3
3
  "type": "module",
4
- "version": "0.2.10",
4
+ "version": "0.2.12",
5
5
  "description": "Compozy CLI",
6
6
  "scripts": {
7
7
  "postinstall": "node install.js",
@@ -22,68 +22,68 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "jszip": "3.10.1",
25
- "proxy-agent": "8.0.1",
26
- "tar": "7.5.15"
25
+ "proxy-agent": "8.0.2",
26
+ "tar": "7.5.19"
27
27
  },
28
28
  "archives": {
29
29
  "darwin-arm64": {
30
- "name": "compozy_0.2.10_darwin_arm64.tar.gz",
31
- "url": "https://github.com/compozy/compozy/releases/download/v0.2.10/compozy_0.2.10_darwin_arm64.tar.gz",
30
+ "name": "compozy_0.2.12_darwin_arm64.tar.gz",
31
+ "url": "https://github.com/compozy/compozy/releases/download/v0.2.12/compozy_0.2.12_darwin_arm64.tar.gz",
32
32
  "bins": [
33
33
  "compozy"
34
34
  ],
35
35
  "format": "tar.gz",
36
36
  "checksum": {
37
37
  "algorithm": "sha256",
38
- "digest": "7bc8f1c350dabd229f5ffa3f40538b3a02b6cedd67c3329de76e7365e12054b4"
38
+ "digest": "b998cc81eaa7fe8e1eb35a3fac7bc85f7f174930d8199a8773e6548aa7119048"
39
39
  }
40
40
  },
41
41
  "darwin-x64": {
42
- "name": "compozy_0.2.10_darwin_x86_64.tar.gz",
43
- "url": "https://github.com/compozy/compozy/releases/download/v0.2.10/compozy_0.2.10_darwin_x86_64.tar.gz",
42
+ "name": "compozy_0.2.12_darwin_x86_64.tar.gz",
43
+ "url": "https://github.com/compozy/compozy/releases/download/v0.2.12/compozy_0.2.12_darwin_x86_64.tar.gz",
44
44
  "bins": [
45
45
  "compozy"
46
46
  ],
47
47
  "format": "tar.gz",
48
48
  "checksum": {
49
49
  "algorithm": "sha256",
50
- "digest": "d912bc15cca91336bcb20bfb2a1693f8e8558327a1893648958d3b25677068c2"
50
+ "digest": "d3061688017a809ea6fb3245dc6dbddcee4df0f9c776da2b293dc181f699f4ed"
51
51
  }
52
52
  },
53
53
  "linux-arm64": {
54
- "name": "compozy_0.2.10_linux_arm64.tar.gz",
55
- "url": "https://github.com/compozy/compozy/releases/download/v0.2.10/compozy_0.2.10_linux_arm64.tar.gz",
54
+ "name": "compozy_0.2.12_linux_arm64.tar.gz",
55
+ "url": "https://github.com/compozy/compozy/releases/download/v0.2.12/compozy_0.2.12_linux_arm64.tar.gz",
56
56
  "bins": [
57
57
  "compozy"
58
58
  ],
59
59
  "format": "tar.gz",
60
60
  "checksum": {
61
61
  "algorithm": "sha256",
62
- "digest": "923321db294487f03d4939fd2a71041f40fd25bb30638c15a028a554955be95e"
62
+ "digest": "73463c21c282e256768dbcb770db7786282ce622150721579f18d727abdd3f3d"
63
63
  }
64
64
  },
65
65
  "linux-x64": {
66
- "name": "compozy_0.2.10_linux_x86_64.tar.gz",
67
- "url": "https://github.com/compozy/compozy/releases/download/v0.2.10/compozy_0.2.10_linux_x86_64.tar.gz",
66
+ "name": "compozy_0.2.12_linux_x86_64.tar.gz",
67
+ "url": "https://github.com/compozy/compozy/releases/download/v0.2.12/compozy_0.2.12_linux_x86_64.tar.gz",
68
68
  "bins": [
69
69
  "compozy"
70
70
  ],
71
71
  "format": "tar.gz",
72
72
  "checksum": {
73
73
  "algorithm": "sha256",
74
- "digest": "2811f0aa961c994ac87d1b93e819543561c362f3fac88ee883c174aa04e627ae"
74
+ "digest": "2b1afcd5a03a25499b2881c1eef3b3742a7139adcc177cad1482559292b81b45"
75
75
  }
76
76
  },
77
77
  "win32-x64": {
78
- "name": "compozy_0.2.10_windows_x86_64.zip",
79
- "url": "https://github.com/compozy/compozy/releases/download/v0.2.10/compozy_0.2.10_windows_x86_64.zip",
78
+ "name": "compozy_0.2.12_windows_x86_64.zip",
79
+ "url": "https://github.com/compozy/compozy/releases/download/v0.2.12/compozy_0.2.12_windows_x86_64.zip",
80
80
  "bins": [
81
81
  "compozy.exe"
82
82
  ],
83
83
  "format": "zip",
84
84
  "checksum": {
85
85
  "algorithm": "sha256",
86
- "digest": "c72bc6e2d242e6d740714846f9ca308b4d9bec2610a55f58d50db9a3939b56a8"
86
+ "digest": "4affc05fe219b9bcefe8cae6ca68d7fa90ca13a4a53d1c8ae0314f29fc35d94c"
87
87
  }
88
88
  }
89
89
  }