@compozy/cli 0.2.11 → 0.2.13

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 +80 -64
  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. Add `--parallel-tasks` to opt into dependency-aware parallel execution for task files inside one workflow.
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"
@@ -180,12 +187,12 @@ run_multiple_mode = "enqueued"
180
187
  run_multiple_parallel_limit = 2
181
188
 
182
189
  [tasks.run.parallel]
183
- enabled = false
190
+ enabled = false # compatibility field; activation still requires a per-run choice
184
191
  max_concurrency = 4
185
192
 
186
193
  [tasks.run.parallel.conflict_resolver]
187
194
  ide = "codex"
188
- model = "gpt-5.5"
195
+ model = "gpt-5.6-sol"
189
196
  reasoning_effort = "medium"
190
197
  max_attempts = 1
191
198
  validation_command = []
@@ -196,7 +203,7 @@ output_format = "text"
196
203
  [recovery]
197
204
  enabled = false
198
205
  ide = "codex"
199
- model = "gpt-5.5"
206
+ model = "gpt-5.6-sol"
200
207
  reasoning_effort = "medium"
201
208
  max_attempts = 1
202
209
 
@@ -216,7 +223,7 @@ Supported sections:
216
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`
217
224
  - `[tasks]` for the allowed task `type` list used by `cy-create-tasks` and `compozy tasks validate`
218
225
  - `[tasks.run]` for workflow-run defaults used by `compozy tasks run`, such as `include_completed`, `run_multiple_mode`, and `run_multiple_parallel_limit`
219
- - `[tasks.run.parallel]` for dependency-aware parallel execution inside one PRD task workflow, including `enabled`, `max_concurrency`, and the conflict-resolver agent under `[tasks.run.parallel.conflict_resolver]`
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
220
227
  - `[fix_reviews]` for `concurrent`, `batch_size`, and `include_resolved`
221
228
  - `[fetch_reviews]` for `provider` and `nitpicks` (controls CodeRabbit review-body comments; default is enabled when unset)
222
229
  - `[recovery]` for agentic recovery defaults used by run-producing commands: `enabled`, `ide`, `model`, `reasoning_effort`, and `max_attempts`
@@ -231,7 +238,7 @@ Notes:
231
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"`.
232
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.
233
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.
234
- - `[tasks.run.parallel] enabled = true` runs pending task files in one workflow by dependency waves. The CLI `--parallel-tasks` flag overrides this config value for a single invocation.
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.
235
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.
236
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.
237
244
  - `max_retries` applies to execution-stage ACP failures and inactivity timeouts for `compozy exec`, `compozy tasks run`, and `compozy reviews fix`.
@@ -642,34 +649,34 @@ compozy tasks run <slug> [flags]
642
649
 
643
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.
644
651
 
645
- | Flag | Default | Description |
646
- | ------------------------- | --------- | ------------------------------------------------------------------------------------------------ |
647
- | `--name` | | Workflow slug (defaults to the positional slug) |
648
- | `--multiple` | | Comma-separated workflow slugs to run through one daemon-owned parent queue |
649
- | `--parallel` | `false` | Run `--multiple` workflows concurrently in isolated git worktrees (valid only with `--multiple`) |
650
- | `--parallel-limit` | `2` | Max children started at once in `--parallel` mode; must be `> 0` (valid only with `--multiple`) |
651
- | `--parallel-tasks` | `false` | Run task files inside one PRD workflow in dependency-aware parallel mode |
652
- | `--include-completed` | `false` | Re-run completed tasks |
653
- | `--recursive`, `-r` | `false` | Discover `task_NNN.md` files in nested subdirectories of the workflow root |
654
- | `--skip-validation` | `false` | Skip task metadata preflight; use only when validation already ran elsewhere |
655
- | `--force` | `false` | Continue after task metadata validation fails in non-interactive mode |
656
- | `--attach` | `auto` | Attach mode: `auto`, `ui`, `stream`, or `detach` |
657
- | `--ui` | `false` | Force interactive TUI attach mode |
658
- | `--stream` | `false` | Force textual stream attach mode |
659
- | `--detach` | `false` | Start the run without attaching a client |
660
- | `--task-runtime` | | Per-task runtime override rule (`type=...`, `id=...`, `ide=...`, `model=...`, etc.) |
661
- | `--recovery` | `false` | Enable agentic recovery for failed runs |
662
- | `--no-recovery` | `false` | Disable agentic recovery for this invocation |
663
- | `--recovery-ide` | `codex` | Runtime used by the recovery agent |
664
- | `--recovery-model` | `gpt-5.5` | Model used by the recovery agent |
665
- | `--recovery-reasoning` | `medium` | Recovery agent reasoning effort: `low`, `medium`, `high`, or `xhigh` |
666
- | `--recovery-max-attempts` | `1` | Recovery remediation plus restart cycles; must be between `1` and `3` |
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` |
667
674
 
668
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.
669
676
 
670
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.
671
678
 
672
- For one workflow, `--parallel-tasks` executes pending task files in dependency waves using isolated worktrees, bounded by `[tasks.run.parallel] max_concurrency`:
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`:
673
680
 
674
681
  ```bash
675
682
  compozy tasks run my-feature --parallel-tasks
@@ -678,7 +685,7 @@ compozy tasks run my-feature --parallel-tasks
678
685
  The `--multiple` flag takes one comma-separated slug list:
679
686
 
680
687
  ```bash
681
- 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
682
689
  compozy tasks run --multiple alpha,beta --stream
683
690
  compozy tasks run --multiple alpha,beta --detach
684
691
  ```
@@ -703,23 +710,32 @@ Resolution precedence:
703
710
  - Mode: `--parallel` flag > `run_multiple_mode` config > `enqueued` default.
704
711
  - Limit: `--parallel-limit <n>` flag > `run_multiple_parallel_limit` config > `2` default.
705
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
+
706
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.
707
721
 
708
- **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.
709
725
 
710
- **Preservation and V1 non-goals.** Every child worktree is preserved for manual review while the run settles, regardless of child status. Compozy does not auto-merge, auto-push, or branch those results, 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. Preserved worktrees are reclaimed only by explicit retention cleanup through `compozy runs purge`; dirty task worktrees make purge fail before run metadata is deleted.
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.
711
727
 
712
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.
713
729
 
714
- **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:
715
731
 
716
732
  ```text
717
733
  task multi-run handoff:
718
- alpha completed | run=child-alpha | worktree=~/.compozy/state/worktrees/<ws>/<parent>/01-alpha | branch=main
719
- 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
720
736
  ```
721
737
 
722
- 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.
723
739
 
724
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.
725
741
 
@@ -782,32 +798,32 @@ Provide exactly one prompt source: a positional prompt, `--prompt-file`, or `std
782
798
 
783
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.
784
800
 
785
- | Flag | Default | Description |
786
- | ---------------------------- | ----------- | ------------------------------------------------------------------------------------------ |
787
- | `--ide` | `codex` | Runtime: `claude`, `codex`, `copilot`, `cursor-agent`, `droid`, `gemini`, `opencode`, `pi` |
788
- | `--model` | _(per IDE)_ | Model override |
789
- | `--agent` | | Reusable agent to execute from `.compozy/agents/` or `~/.compozy/agents/` |
790
- | `--prompt-file` | | Read prompt text from a file |
791
- | `--format` | `text` | Output contract: `text`, `json`, or `raw-json` |
792
- | `--reasoning-effort` | `medium` | `low`, `medium`, `high`, `xhigh` |
793
- | `--access-mode` | `full` | `default` or `full` runtime access policy |
794
- | `--timeout` | `10m` | Activity timeout per job |
795
- | `--recovery` | `false` | Enable agentic recovery for failed exec runs |
796
- | `--no-recovery` | `false` | Disable agentic recovery for this invocation |
797
- | `--recovery-ide` | `codex` | Runtime used by the recovery agent |
798
- | `--recovery-model` | `gpt-5.5` | Model used by the recovery agent |
799
- | `--recovery-reasoning` | `medium` | Recovery agent reasoning effort: `low`, `medium`, `high`, or `xhigh` |
800
- | `--recovery-max-attempts` | `1` | Recovery remediation plus restart cycles; must be between `1` and `3` |
801
- | `--max-retries` | `2` | Retry execution-stage ACP failures or timeouts N times |
802
- | `--retry-backoff-multiplier` | `1.5` | Multiplier applied to the next timeout after each retry |
803
- | `--tail-lines` | `0` | Maximum log lines retained per job in UI (`0` = full history) |
804
- | `--add-dir` | | Additional directories to allow (repeatable; currently `claude` and `codex` only) |
805
- | `--auto-commit` | `false` | Include automatic commit instructions when the prompt asks for code changes |
806
- | `--verbose` | `false` | Emit operational runtime logs to stderr during exec |
807
- | `--tui` | `false` | Open the interactive TUI instead of headless stdout output |
808
- | `--persist` | `false` | Persist exec artifacts under `~/.compozy/runs/<run-id>/` |
809
- | `--run-id` | | Resume a previously persisted exec session by run id |
810
- | `--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 |
811
827
 
812
828
  </details>
813
829
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@compozy/cli",
3
3
  "type": "module",
4
- "version": "0.2.11",
4
+ "version": "0.2.13",
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.11_darwin_arm64.tar.gz",
31
- "url": "https://github.com/compozy/compozy/releases/download/v0.2.11/compozy_0.2.11_darwin_arm64.tar.gz",
30
+ "name": "compozy_0.2.13_darwin_arm64.tar.gz",
31
+ "url": "https://github.com/compozy/compozy/releases/download/v0.2.13/compozy_0.2.13_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": "085f7c59bdcdaf95688ba12eb8df49df59fb243bcd550771e76f810ae70a3f59"
38
+ "digest": "4a10523b761a08eb0abdacd11fe12aee0bc57e2f80fbfc6caa14e21c9af8e564"
39
39
  }
40
40
  },
41
41
  "darwin-x64": {
42
- "name": "compozy_0.2.11_darwin_x86_64.tar.gz",
43
- "url": "https://github.com/compozy/compozy/releases/download/v0.2.11/compozy_0.2.11_darwin_x86_64.tar.gz",
42
+ "name": "compozy_0.2.13_darwin_x86_64.tar.gz",
43
+ "url": "https://github.com/compozy/compozy/releases/download/v0.2.13/compozy_0.2.13_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": "f6f28f751b83929e7c33baafc8ee61cab007b9d574848e6cc9cb8481f266b32a"
50
+ "digest": "002d4e00af2e9b05133fa2701f2a4167f09c0a4e1e9a95979e3e81fc5ac34d7c"
51
51
  }
52
52
  },
53
53
  "linux-arm64": {
54
- "name": "compozy_0.2.11_linux_arm64.tar.gz",
55
- "url": "https://github.com/compozy/compozy/releases/download/v0.2.11/compozy_0.2.11_linux_arm64.tar.gz",
54
+ "name": "compozy_0.2.13_linux_arm64.tar.gz",
55
+ "url": "https://github.com/compozy/compozy/releases/download/v0.2.13/compozy_0.2.13_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": "a6f22fe7da79e791eb5c5cc370afa0135c316fec52e66cfa87e75e1d24ef809b"
62
+ "digest": "735714168be0b507b89fe2a812db767bce35d19ffbbc35b64a7bfd06b3c42253"
63
63
  }
64
64
  },
65
65
  "linux-x64": {
66
- "name": "compozy_0.2.11_linux_x86_64.tar.gz",
67
- "url": "https://github.com/compozy/compozy/releases/download/v0.2.11/compozy_0.2.11_linux_x86_64.tar.gz",
66
+ "name": "compozy_0.2.13_linux_x86_64.tar.gz",
67
+ "url": "https://github.com/compozy/compozy/releases/download/v0.2.13/compozy_0.2.13_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": "c87cd7055f75b258557466cbb87a019850b567bb247dbefe334b8e5dc683cf1d"
74
+ "digest": "b1a13e411be8c5a86cf03862422ee9d4fb7c323bfce7870c5a6141ea7b6cf6cc"
75
75
  }
76
76
  },
77
77
  "win32-x64": {
78
- "name": "compozy_0.2.11_windows_x86_64.zip",
79
- "url": "https://github.com/compozy/compozy/releases/download/v0.2.11/compozy_0.2.11_windows_x86_64.zip",
78
+ "name": "compozy_0.2.13_windows_x86_64.zip",
79
+ "url": "https://github.com/compozy/compozy/releases/download/v0.2.13/compozy_0.2.13_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": "bfdf1fcc2b6b0445a65b916cc8130240a136b153d77ce6b881d872d00637504a"
86
+ "digest": "902bb3080565beabf16c9d1cc73f1d560069b17370a79b35b2ec8e0caa37a85e"
87
87
  }
88
88
  }
89
89
  }