orchestratectl 0.1.2

Rust CLI for orchestrating AI-agent workflows on a developer's machine.
---
source: crates/octl-cli/tests/help_json.rs
assertion_line: 66
expression: value
---
{
  "schema_version": 1,
  "data": {
    "schema_version_help": 3,
    "command": "orchestratectl run",
    "about": "Create, list, show, wait on, cancel, merge, or reattach a run",
    "aliases": [],
    "hidden": false,
    "deprecated": false,
    "flags": [
      {
        "name": "help",
        "long": "help",
        "short": "h",
        "long_aliases": [],
        "short_aliases": [],
        "help": "Print help",
        "value_names": [],
        "takes_value": false,
        "multiple": false,
        "required": false,
        "is_global": false,
        "hidden": false,
        "deprecated": false,
        "defaults": [],
        "accepted_values": [],
        "accepts_file_paths": false,
        "conflicts_with": [],
        "requires": [],
        "required_unless_present": [],
        "arity": {
          "min": 0,
          "max": 0,
          "repeated": false,
          "multi_value": false,
          "require_equals": false
        }
      },
      {
        "name": "output",
        "long": "output",
        "long_aliases": [],
        "short_aliases": [],
        "help": "Output format. `jsonl` (default) emits one compact JSON envelope per line on stdout — AI-first. `json` emits a single pretty document. `text` emits a human-readable summary. A path-shaped value (`./out.json`, `./out.jsonl`) routes the machine envelope to that file (the format is inferred from the extension)",
        "value_names": [
          "FMT|PATH"
        ],
        "takes_value": true,
        "multiple": false,
        "required": false,
        "is_global": true,
        "hidden": false,
        "deprecated": false,
        "defaults": [
          "jsonl"
        ],
        "accepted_values": [
          "json",
          "jsonl",
          "text"
        ],
        "accepts_file_paths": true,
        "conflicts_with": [],
        "requires": [],
        "required_unless_present": [],
        "arity": {
          "min": 1,
          "max": 1,
          "repeated": false,
          "multi_value": false,
          "require_equals": false
        }
      }
    ],
    "positionals": [],
    "subcommands": [
      {
        "command": "orchestratectl run cancel",
        "about": "Cancel a run: synthesize terminal `node.report` for non-terminal nodes, emit `run.status: cancelled`. Idempotent",
        "aliases": [],
        "hidden": false,
        "deprecated": false,
        "has_subcommands": false
      },
      {
        "command": "orchestratectl run create",
        "about": "Create a new run. Top-level when `--parent-*` flags are absent, child-spawn when both are set (mutually required)",
        "aliases": [],
        "hidden": false,
        "deprecated": false,
        "has_subcommands": false
      },
      {
        "command": "orchestratectl run list",
        "about": "List runs on disk",
        "aliases": [],
        "hidden": false,
        "deprecated": false,
        "has_subcommands": false
      },
      {
        "command": "orchestratectl run merge",
        "about": "Merge a worktree run's branch back to its source, then submit the terminal `node.report` so the supervisor winds the run down and tears the worktree/window/branch down. Owns the full merge lifecycle: rebase + merge (via the bundled merge backend) AND the report, in one call",
        "aliases": [],
        "hidden": false,
        "deprecated": false,
        "has_subcommands": false
      },
      {
        "command": "orchestratectl run reattach",
        "about": "Restart the run's supervisor process. Refuses if the recorded supervisor PID is still alive. Spawns `orchestratectl supervise <run-id>` detached with stdout/stderr → `supervisor.stderr.log`",
        "aliases": [],
        "hidden": false,
        "deprecated": false,
        "has_subcommands": false
      },
      {
        "command": "orchestratectl run show",
        "about": "Show one run's manifest and counters",
        "aliases": [],
        "hidden": false,
        "deprecated": false,
        "has_subcommands": false
      },
      {
        "command": "orchestratectl run wait",
        "about": "Block until one or more runs reach a terminal state (`done | failed | cancelled`) and emit a structured summary, so callers stop hand-rolling `run show` poll loops. Read-only: never mutates run state. Exit codes: `0` condition met, `1` usage/unknown run, `2` timeout, `3` (`--fail-on-error`) a settled run failed",
        "aliases": [],
        "hidden": false,
        "deprecated": false,
        "has_subcommands": false
      }
    ]
  },
  "warnings": []
}