diff --git a/cli/testdata/compatibility-baseline/v2/metadata.json b/cli/testdata/compatibility-baseline/v2/metadata.json new file mode 100644 index 000000000..57f3a970a --- /dev/null +++ b/cli/testdata/compatibility-baseline/v2/metadata.json @@ -0,0 +1,42 @@ +{ + "schema_version": 2, + "behavioral_source_sha": "c59d36e58d2c5f6cefce2aa5c48e97be1db8f66f", + "capture_sha": "3d7e57a63d3cefbcb857d004a7feaf5eda1a2e96", + "equivalent_main_sha": "6e42defdd4da35f68280b22333f09e725ad908e7", + "normalized_fields": [ + "tool_version", + "platform.os", + "platform.arch" + ], + "intentional_deltas": [ + "provenance_reconcile", + "pawl_review_hold_5", + "verify_hold_5", + "environment_projection" + ], + "profiles": { + "default": { + "tags": [], + "sha256": "42b12620452e61f82d2dfddddb3f9f6c15587d6da25234af2dce9c73d3a9ef6a" + }, + "flywheel": { + "tags": [ + "flywheel" + ], + "sha256": "c7d7903e74c06e4bbaf63eee7a086823f172ce759f41d2b2e562ab4ed3fc50e4" + }, + "legacy": { + "tags": [ + "legacy" + ], + "sha256": "49db9b85853341bf7f2528501037032ab93884f22da62f1a01eefe5a9de890a5" + }, + "combined": { + "tags": [ + "flywheel", + "legacy" + ], + "sha256": "89ebabc479b62c5baa53c78838e0733a1b1ea7786575bfc3aa93763ecedf2463" + } + } +} diff --git a/cli/testdata/compatibility-baseline/v2/profiles/combined.json b/cli/testdata/compatibility-baseline/v2/profiles/combined.json new file mode 100644 index 000000000..97806153f --- /dev/null +++ b/cli/testdata/compatibility-baseline/v2/profiles/combined.json @@ -0,0 +1,22492 @@ +{ + "command_exit_codes": { + "governor budget": { + "0": "ship — within error budget", + "3": "HARDEN — burn-rate over tolerance; stop the line" + }, + "pawl review": { + "0": "CONFIRMED — cross-family verdict written", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — auto-redo", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — strict quorum could not run at two-family strength" + }, + "plan-pawl decide": { + "0": "PASS — the door opens", + "2": "usage error", + "3": "REDO — auto-redo loop (no human)", + "4": "BLOCKED — a circuit breaker tripped (andon)", + "5": "DEGRADED — transient panel lane loss below quorum; retry the panel" + }, + "verify": { + "0": "CONFIRMED — verdict written and bound to the commit", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — defects printed; fix and re-run", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — committed policy is invalid or strict quorum cannot run at two-family strength" + } + }, + "command_groups": [ + { + "commands": [ + { + "name": "demo", + "short": "Show the council-first AgentOps 3.0 value path" + }, + { + "name": "init", + "short": "Initialize AgentOps in the current repository" + }, + { + "name": "quick-start", + "short": "Set up AgentOps in your project (5 minutes)" + }, + { + "name": "seed", + "short": "Plant the seed in any repository" + } + ], + "id": "start", + "title": "Getting Started:" + }, + { + "commands": [ + { + "name": "anti-patterns", + "short": "List learnings marked as anti-patterns" + }, + { + "name": "badge", + "short": "Display knowledge flywheel health badge" + }, + { + "name": "canon", + "short": "Team-knowledge canon: learnings earned by independent attestation" + }, + { + "name": "capabilities", + "short": "Print the machine-readable CLI contract (JSON)" + }, + { + "name": "ci", + "short": "BC2 CI status operations (latest run by SHA, recent runs)" + }, + { + "name": "citation", + "short": "BC1 CitationPort operations (verify file/function/symbol citations)" + }, + { + "name": "claim", + "short": "Claim a BR bead or manage claim-evidence bindings" + }, + { + "name": "constraint", + "short": "Manage compiled constraints" + }, + { + "name": "contradict", + "short": "Detect potentially contradictory learnings" + }, + { + "name": "doctor", + "short": "Check AgentOps health" + }, + { + "name": "gate", + "short": "Human review gates" + }, + { + "name": "harness", + "short": "BC5 HarnessPort operations (sync state across skill harnesses)" + }, + { + "name": "loop", + "short": "BC3 Loop operations (cycle history, etc.)" + }, + { + "name": "metrics", + "short": "Knowledge flywheel metrics" + }, + { + "name": "operator", + "short": "BC4 OperatorPort operations (record/list operator intents)" + }, + { + "name": "reconcile", + "short": "Join git, CI, release, beads, and .agents truth into one report" + }, + { + "name": "redact", + "short": "Scrub secrets from stdin to stdout (canonical redactor)" + }, + { + "name": "robot-docs", + "short": "Print the paste-ready agent handbook for the ao CLI (Markdown)" + }, + { + "name": "status", + "short": "Show AgentOps status" + }, + { + "name": "version", + "short": "Show version information" + }, + { + "name": "vibe-check", + "short": "Analyze codebase health and vibe" + } + ], + "id": "core", + "title": "Core Commands:" + }, + { + "commands": [ + { + "name": "autodev", + "short": "Manage the PROGRAM.md operational contract for autonomous development" + }, + { + "name": "codex", + "short": "Codex lifecycle commands (fallback for pre-v0.115.0; native hooks preferred)" + }, + { + "name": "eval", + "short": "Run deterministic local evaluation suites" + }, + { + "name": "feedback-loop", + "short": "Close the MemRL feedback loop for a session" + }, + { + "name": "goals", + "short": "Fitness goal measurement and validation" + }, + { + "name": "land", + "short": "Land a bead through the trusted pawl path with a fresh in-checkout binary, then atomic pawl-land" + }, + { + "name": "orchestrate", + "short": "Out-of-session orchestration instruments (windshield)" + }, + { + "name": "session", + "short": "Session lifecycle operations" + }, + { + "name": "tick", + "short": "Typed port of the assured loop tick oracle" + }, + { + "name": "validate", + "short": "Umbrella validation gate (exit-code-as-verdict with --gate)" + } + ], + "id": "workflow", + "title": "Workflow:" + }, + { + "commands": [ + { + "name": "config", + "short": "Manage configuration" + }, + { + "name": "notebook", + "short": "Manage the session notebook (MEMORY.md)" + }, + { + "name": "worktree", + "short": "Worktree maintenance utilities" + } + ], + "id": "config", + "title": "Configuration:" + }, + { + "commands": [ + { + "name": "beads", + "short": "Complementary tooling for the bd (beads) issue tracker" + }, + { + "name": "findings", + "short": "Manage promoted findings" + }, + { + "name": "forge", + "short": "Extract knowledge from sources" + }, + { + "name": "harvest", + "short": "Sweep all rigs, extract and deduplicate cross-rig knowledge" + }, + { + "name": "inject", + "short": "Output relevant knowledge for explicit or JIT injection" + }, + { + "name": "knowledge", + "short": "Operationalize a mature .agents corpus into reusable operator surfaces" + }, + { + "name": "lookup", + "short": "Retrieve specific knowledge artifacts by ID or query" + }, + { + "name": "membrane", + "short": "Self-improving membrane: turn escapes into membrane checks" + }, + { + "name": "mind", + "short": "Knowledge graph operations" + }, + { + "name": "mine", + "short": "Extract knowledge signal from git, .agents/, and code" + }, + { + "name": "patterns", + "short": "Inspect and repair .agents/patterns/ artifacts" + }, + { + "name": "search", + "short": "Search workspace session history and repo-local knowledge" + }, + { + "name": "sessions", + "short": "Manage indexed session pages" + }, + { + "name": "trace", + "short": "Track artifact provenance" + } + ], + "id": "knowledge", + "title": "Knowledge:" + }, + { + "commands": [ + { + "name": "compile", + "short": "Compile .agents knowledge into an interlinked wiki" + }, + { + "name": "corpus", + "short": "Corpus-quality probes for Dream and the knowledge flywheel" + }, + { + "name": "curate", + "short": "Curation pipeline operations" + }, + { + "name": "dedup", + "short": "Detect near-duplicate learnings" + }, + { + "name": "defrag", + "short": "Prune and deduplicate .agents/ learning artifacts" + }, + { + "name": "flywheel", + "short": "Knowledge flywheel operations" + }, + { + "name": "maturity", + "short": "Check and manage learning maturity levels" + }, + { + "name": "pool", + "short": "Manage quality pools" + }, + { + "name": "ratchet", + "short": "Brownian Ratchet workflow tracking" + }, + { + "name": "wiki", + "short": "Unified wiki knowledge surface (experimental)" + } + ], + "id": "experimental", + "title": "Experimental (corpus/flywheel):" + }, + { + "commands": [ + { + "name": "agent", + "short": "Produce AgentOps-native Agent definitions for out-of-session loops" + }, + { + "name": "agents", + "short": "Inspect and manage .agents/ contracts and surfaces" + }, + { + "name": "close", + "short": "Close a bead and persist the explicit ledger/evidence paths" + }, + { + "name": "converge", + "short": "Bounded fix -> re-run-judge-panel loop to terminal agreement or a 3-consecutive-fail BLOCK" + }, + { + "name": "council-gate", + "short": "Fail-closed two-plus judge verdict aggregation" + }, + { + "name": "done", + "short": "Close a bead with a verdict-referenced stamp — no verdict = not done" + }, + { + "name": "extract", + "short": "Process pending learning extractions" + }, + { + "name": "governor", + "short": "The membrane's SPC control-loop governor (error budget, special-cause)" + }, + { + "name": "guard-status", + "short": "Verify guard hook and validator launcher installation" + }, + { + "name": "install-guards", + "short": "Install repo-local git guard hooks" + }, + { + "name": "mcp", + "short": "Expose the ao tool surface over MCP for hosted/SDK Claude loops" + }, + { + "name": "next-work", + "short": "Operate on the harvested next-work queue (.agents/rpi/next-work.jsonl)" + }, + { + "name": "pawl", + "short": "Cross-family membrane review and verdict tooling (the in-repo acceptance pawl)" + }, + { + "name": "plan-pawl", + "short": "The plan-pawl duel gate over discovery plans (docs/contracts/pawls.md)" + }, + { + "name": "provenance", + "short": "Write and read the SDLC provenance edge ledger" + }, + { + "name": "ready", + "short": "Print harness-neutral ready bead state as JSON" + }, + { + "name": "refinery", + "short": "Continuous main-validation backstop (run on bushido)" + }, + { + "name": "registry", + "short": "Query the unified registry" + }, + { + "name": "scope", + "short": "Manage edit-scope guard (freeze, unfreeze, status)" + }, + { + "name": "skills", + "short": "Inspect and validate the skills/ tree" + }, + { + "name": "turn", + "short": "Evidenced-Turn operations (the enforced unit-of-work definition-of-done)" + }, + { + "name": "verdict-gate", + "short": "Reject verdicts without commands and independent judge identity" + }, + { + "name": "verify", + "short": "Independent cross-family verdict on your change — no verdict = not done" + }, + { + "name": "yield", + "short": "Record dynamo yield-ledger events (per-bead operational stream)" + } + ], + "id": "", + "title": "Additional Commands:" + } + ], + "commands": [ + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agent", + "output": "none", + "path": "ao agent", + "short": "Produce AgentOps-native Agent definitions for out-of-session loops", + "use": "agent" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (always JSON for now; reserved for parity)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Write the bundle to this path instead of stdout", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Target runtime: managed | codex-ntm (required)", + "name": "runtime", + "origin": "local", + "required": false + }, + { + "description": "Sandbox placement: self-hosted | cloud", + "name": "sandbox", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated skill names (default: session-bootstrap,standards,validation,provenance)", + "name": "skills", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agent.bundle", + "output": "none", + "path": "ao agent bundle", + "short": "Emit a runtime-specific Agent definition (managed | codex-ntm)", + "use": "bundle" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents", + "output": "none", + "path": "ao agents", + "short": "Inspect and manage .agents/ contracts and surfaces", + "use": "agents" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Path to the .agents/ directory under inspection", + "name": "agents-dir", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the .agents/ write-surfaces contract doc", + "name": "contract", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to the lint script", + "name": "script", + "origin": "local", + "required": false + }, + { + "description": "Path to the skills/ directory used for skill-owned-subdir cross-check", + "name": "skills-dir", + "origin": "local", + "required": false + }, + { + "description": "Exit non-zero on any orphan or undocumented surface", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents.doctor", + "output": "none", + "path": "ao agents doctor", + "short": "Combined health check: inspect + lint + orphan/stray-dir report", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the .agents/ write-surfaces contract doc", + "name": "contract", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents.inspect", + "output": "none", + "path": "ao agents inspect", + "short": "Show catalogued .agents/ write surfaces and active skill-owned subdirs", + "use": "inspect" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Forward --json to the lint script", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to the lint script", + "name": "script", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents.lint", + "output": "none", + "path": "ao agents lint", + "short": "Run the .agents/ write-surfaces contract lint", + "use": "lint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.anti-patterns", + "output": "none", + "path": "ao anti-patterns", + "short": "List learnings marked as anti-patterns", + "use": "anti-patterns" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.autodev", + "output": "none", + "path": "ao autodev", + "short": "Manage the PROGRAM.md operational contract for autonomous development", + "use": "autodev" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to PROGRAM.md or AUTODEV.md (auto-detects PROGRAM.md then AUTODEV.md)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite an existing program file", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.autodev.init", + "output": "none", + "path": "ao autodev init", + "short": "Create a PROGRAM.md template", + "use": "init [objective]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to PROGRAM.md or AUTODEV.md (auto-detects PROGRAM.md then AUTODEV.md)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.autodev.show", + "output": "none", + "path": "ao autodev show", + "short": "Show the parsed PROGRAM.md contract", + "use": "show" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to PROGRAM.md or AUTODEV.md (auto-detects PROGRAM.md then AUTODEV.md)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.autodev.validate", + "output": "none", + "path": "ao autodev validate", + "short": "Validate PROGRAM.md structure", + "use": "validate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.badge", + "output": "none", + "path": "ao badge", + "short": "Display knowledge flywheel health badge", + "use": "badge" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads", + "output": "none", + "path": "ao beads", + "short": "Complementary tooling for the bd (beads) issue tracker", + "use": "beads" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Close likely-fixed beads when commit or file-change evidence is found", + "name": "auto-close", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit audit report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit 1 when any likely-fixed, likely-stale, or consolidatable bead is found", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.audit", + "output": "none", + "path": "ao beads audit", + "short": "Audit open beads for likely-fixed, stale, or consolidatable work", + "use": "audit" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Reparent non-representative beads under the cluster representative", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit cluster report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.cluster", + "output": "none", + "path": "ao beads cluster", + "short": "Suggest consolidation clusters for overlapping open beads", + "use": "cluster" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {beads_dir, source} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Fail closed: exit non-zero (printing nothing to stdout) unless the resolved directory holds a br ledger", + "name": "require", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.dir", + "output": "none", + "path": "ao beads dir", + "short": "Print the resolved live br ledger directory", + "use": "dir" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as a JSON object instead of a human-readable line.", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Map the verdict to the process exit code (0 terminal / 2 not-terminal / 3 skipped).", + "name": "terminal", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.epic-status", + "output": "none", + "path": "ao beads epic-status", + "short": "Deterministic group-terminality verdict for an epic/wave", + "use": "epic-status " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.exec", + "output": "none", + "path": "ao beads exec", + "short": "Run a bead CRUD command against whichever tracker (bd or br) this environment uses", + "use": "exec [args...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print the learning content to stdout without writing a file", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Directory to write the learning file into", + "name": "out-dir", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.harvest", + "output": "none", + "path": "ao beads harvest", + "short": "Materialize a closed bead's reason as a structured learning file", + "use": "harvest " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit lint report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "bd status filter (open, closed, all)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.lint", + "output": "none", + "path": "ao beads lint", + "short": "Batch-verify every open bead (or filtered set) against HEAD", + "use": "lint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "New claimant id (defaults to BEADS_ACTOR env var, else ao-beads-resume).", + "name": "agent", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the claim_transferred event to stdout (always written to ledger).", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Path to the provenance ledger (relative to repo root).", + "name": "ledger", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.resume", + "output": "none", + "path": "ao beads resume", + "short": "Atomically transfer an in_progress claim from a stale agent to this one", + "use": "resume " + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.scenarios", + "output": "none", + "path": "ao beads scenarios", + "short": "[DEPRECATED — use 'ao beads verify-acceptance'] Convert bead acceptance criteria into Gherkin scenarios", + "use": "scenarios" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Extract even when the bead already has a '## Scenarios' block", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Emit extracted scenarios as JSON (data on stdout) instead of a Gherkin block", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "After printing the block and an operator y/N confirmation, append it to the bead via 'bd update'", + "name": "write", + "origin": "local", + "required": false + } + ], + "id": "ao.beads.scenarios.extract", + "output": "none", + "path": "ao beads scenarios extract", + "short": "Print a candidate Gherkin '## Scenarios' block from a bead's acceptance (dry-run)", + "use": "extract " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit a structured validation verdict as JSON on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.scenarios.validate", + "output": "none", + "path": "ao beads scenarios validate", + "short": "Check that a bead's authored '## Scenarios' block is well-formed Gherkin", + "use": "validate " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON array conforming to stale-claim-event.v1 (event_type: stale_detected).", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Staleness threshold in hours (claim updated more than N hours ago).", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.stale-claims", + "output": "none", + "path": "ao beads stale-claims", + "short": "List in_progress beads whose claim looks stale", + "use": "stale-claims" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {tracker, binary, ledger_dir, source} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.tracker", + "output": "none", + "path": "ao beads tracker", + "short": "Print the resolved beads tracker (bd or br) for this environment", + "use": "tracker" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit verification report as JSON instead of human-readable text", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Include FRESH citations in the output (default: stale only)", + "name": "verbose", + "origin": "local", + "required": false + } + ], + "id": "ao.beads.verify", + "output": "none", + "path": "ao beads verify", + "short": "Detect stale citations in a bead description (files, functions, symbols)", + "use": "verify " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit verdicts as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero on any FAIL or UNDEFINED verdict", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.verify-acceptance", + "output": "none", + "path": "ao beads verify-acceptance", + "short": "Assert each bead carries the acceptance contract for its type (br-native)", + "use": "verify-acceptance ..." + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon", + "output": "none", + "path": "ao canon", + "short": "Team-knowledge canon: learnings earned by independent attestation", + "use": "canon" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "acting actor override (\"Name\" or \"Name \"); else AGENTOPS_ACTOR / git", + "name": "as", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "path to the learning file (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "search query that surfaced the learning", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "session ID", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon.cite", + "output": "none", + "path": "ao canon cite", + "short": "Record that you used a learning (the 'useful' signal)", + "use": "cite " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "promote despite an unmet gate (records the override loudly)", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "path to the learning file (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon.promote", + "output": "none", + "path": "ao canon promote", + "short": "Promote an earned learning into the team canon", + "use": "promote " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon.status", + "output": "none", + "path": "ao canon status", + "short": "Show promotion eligibility for one or all tracked entries", + "use": "status [entry-id]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "acting actor override (\"Name\" or \"Name \"); else AGENTOPS_ACTOR / git", + "name": "as", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "obtain the verdict from an independent cross-vendor judge (cmd: AGENTOPS_CANON_VERIFIER_CMD) instead of asserting it", + "name": "council", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "how it was checked: manual|ao-verify|council|cross-model", + "name": "method", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "path to the learning file (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "evidence you independently gathered (gate log, file:line, hash)", + "name": "receipt", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "confirmed|refuted", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.canon.verify", + "output": "none", + "path": "ao canon verify", + "short": "Record an independent check of a learning (the 'true' signal)", + "use": "verify " + }, + { + "args": "range", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "help for capabilities", + "name": "help", + "origin": "local", + "required": false, + "shorthand": "h" + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.capabilities", + "output": "structured", + "path": "ao capabilities", + "short": "Print the machine-readable CLI contract (JSON)", + "use": "capabilities" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ci", + "output": "none", + "path": "ao ci", + "short": "BC2 CI status operations (latest run by SHA, recent runs)", + "use": "ci" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ci.latest", + "output": "none", + "path": "ao ci latest", + "short": "Get the most recent CI run for a given SHA via BC2 CIStatusPort", + "use": "latest " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "max runs to emit (0 = all up to port cap of 50)", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ci.recent", + "output": "none", + "path": "ao ci recent", + "short": "List recent CI runs via BC2 CIStatusPort", + "use": "recent" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.citation", + "output": "none", + "path": "ao citation", + "short": "BC1 CitationPort operations (verify file/function/symbol citations)", + "use": "citation" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "citation kind (required: file|function|symbol)", + "name": "kind", + "origin": "local", + "required": true + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "citation text to verify (required)", + "name": "raw", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.citation.verify", + "output": "none", + "path": "ao citation verify", + "short": "Verify a single citation via BC1 CitationPort", + "use": "verify --kind --raw " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim", + "output": "none", + "path": "ao claim", + "short": "Claim a BR bead or manage claim-evidence bindings", + "use": "claim [id]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "optional in-file anchors (repeatable)", + "name": "anchor", + "origin": "local", + "required": false + }, + { + "description": "artifact author identity for reviewer separation checks", + "name": "author-id", + "origin": "local", + "required": false + }, + { + "description": "claim ID (required, e.g. AOP-CLAIM-X)", + "name": "claim", + "origin": "local", + "required": true + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "judge/verifier identity for reviewer separation checks", + "name": "judge-id", + "origin": "local", + "required": false + }, + { + "description": "promotion level: PG1|PG2|PG3|PG4", + "name": "level", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "evidence file path (required, relative to repo root)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.bind", + "output": "none", + "path": "ao claim bind", + "short": "Bind a claim to an evidence file at a promotion level", + "use": "bind --claim --path [--level PG1|PG2|PG3|PG4] [--anchor ...] [--author-id --judge-id ]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "base ref for --changed comparison", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "check claim markers in files changed against --base plus worktree changes", + "name": "changed", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.check", + "output": "none", + "path": "ao claim check", + "short": "Report proof cards for changed public claims", + "use": "check --changed [--base ]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.list", + "output": "none", + "path": "ao claim list", + "short": "List recorded claim→evidence bindings (most-recent first)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.close", + "output": "none", + "path": "ao close", + "short": "Close a bead and persist the explicit ledger/evidence paths", + "use": "close [paths...]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex", + "output": "none", + "path": "ao codex", + "short": "Codex lifecycle commands (fallback for pre-v0.115.0; native hooks preferred)", + "use": "codex" + }, + { + "aliases": [ + "run" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to a Codex task packet JSON file", + "name": "packet", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.dispatch", + "output": "none", + "path": "ao codex dispatch", + "short": "Run a non-mutating Codex task packet and write a receipt", + "use": "dispatch --packet " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum artifacts to surface per category", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Skip safe close-loop maintenance on start", + "name": "no-maintenance", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Optional startup query (defaults to the current Codex thread name)", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.ensure-start", + "output": "none", + "path": "ao codex ensure-start", + "short": "Ensure Codex startup context exists once per thread", + "use": "ensure-start" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Write lightweight learnings and handoff artifacts during closeout", + "name": "auto-extract", + "origin": "local", + "required": false + }, + { + "description": "Run mutating flywheel close-loop maintenance after forging", + "name": "close-loop", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Skip flywheel close-loop maintenance after forging", + "name": "no-close-loop", + "origin": "local", + "required": false + }, + { + "description": "Disable history.jsonl fallback when no archived Codex transcript exists", + "name": "no-history-fallback", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Codex session ID to close (defaults to the active thread)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Explicit transcript path to forge instead of runtime discovery", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.ensure-stop", + "output": "none", + "path": "ao codex ensure-stop", + "short": "Ensure Codex closeout runs once per thread", + "use": "ensure-stop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Per-check timeout budget for image health checks", + "name": "check-timeout", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.image-health", + "output": "none", + "path": "ao codex image-health", + "short": "Run read-only Codex image and runtime health checks", + "use": "image-health" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum artifacts to surface per category", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Skip safe close-loop maintenance on start", + "name": "no-maintenance", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Optional startup query (defaults to the current Codex thread name)", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.start", + "output": "none", + "path": "ao codex start", + "short": "Start a Codex session with explicit flywheel maintenance (fallback for pre-v0.115.0)", + "use": "start" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Citation window in days for Codex lifecycle health", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.status", + "output": "none", + "path": "ao codex status", + "short": "Show Codex lifecycle health (native hooks detected when available)", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Write lightweight learnings and handoff artifacts during closeout", + "name": "auto-extract", + "origin": "local", + "required": false + }, + { + "description": "Run mutating flywheel close-loop maintenance after forging", + "name": "close-loop", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Skip flywheel close-loop maintenance after forging", + "name": "no-close-loop", + "origin": "local", + "required": false + }, + { + "description": "Disable history.jsonl fallback when no archived Codex transcript exists", + "name": "no-history-fallback", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Codex session ID to close (defaults to the active thread)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Explicit transcript path to forge instead of runtime discovery", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.stop", + "output": "none", + "path": "ao codex stop", + "short": "Close a Codex session explicitly (fallback for pre-v0.115.0)", + "use": "stop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Max changed files per LLM prompt (prevents single-giant-prompt on large corpora)", + "name": "batch-size", + "origin": "local", + "required": false + }, + { + "description": "Skip mine and defrag; run compile plus lint", + "name": "compile-only", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Only run mechanical defrag cleanup", + "name": "defrag-only", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Recompile all source artifacts regardless of hashes", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Actually delete orphans during --repair. Without --force-repair, --repair runs dry.", + "name": "force-repair", + "origin": "local", + "required": false + }, + { + "description": "Run the full mine, compile, lint, and defrag cycle", + "name": "full", + "origin": "local", + "required": false + }, + { + "description": "Publish the sanitized OKF gold wiki to .ao/wiki after the compile cycle", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "Compile only changed source artifacts", + "name": "incremental", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Only lint the existing compiled wiki", + "name": "lint-only", + "origin": "local", + "required": false + }, + { + "description": "Cap number of compile batches per invocation (0 = unlimited)", + "name": "max-batches", + "origin": "local", + "required": false + }, + { + "description": "Only mine new knowledge signal", + "name": "mine-only", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Compiled wiki output directory", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Suppress human progress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Remove orphaned fallback stubs from .agents/compiled/ (files with no inbound wikilink traffic)", + "name": "repair", + "origin": "local", + "required": false + }, + { + "description": "Delete .agents/compiled/ and .hashes.json before compiling (force full rebuild)", + "name": "reset", + "origin": "local", + "required": false + }, + { + "description": "LLM runtime override for headless compilation (codex-cli, ollama, claude, openai)", + "name": "runtime", + "origin": "local", + "required": false + }, + { + "description": "Mine lookback window for full and mine-only modes", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Source .agents root to compile", + "name": "sources", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.compile", + "output": "none", + "path": "ao compile", + "short": "Compile .agents knowledge into an interlinked wiki", + "use": "compile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Show resolved configuration with sources", + "name": "show", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.config", + "output": "none", + "path": "ao config", + "short": "Manage configuration", + "use": "config" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Set a skill-specific tier override (e.g. council=quality)", + "name": "set-skill", + "origin": "local", + "required": false + }, + { + "description": "Set the default model cost tier (quality, balanced, budget)", + "name": "set-tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.config.models", + "output": "none", + "path": "ao config models", + "short": "Show model cost tier configuration", + "use": "models" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint", + "output": "none", + "path": "ao constraint", + "short": "Manage compiled constraints", + "use": "constraint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.activate", + "output": "none", + "path": "ao constraint activate", + "short": "Change constraint status from draft to active", + "use": "activate " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.list", + "output": "none", + "path": "ao constraint list", + "short": "List all constraints with status", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.publish", + "output": "none", + "path": "ao constraint publish", + "short": "Publish active constraints to the tracked surface so CI / clean clones enforce them", + "use": "publish" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.retire", + "output": "none", + "path": "ao constraint retire", + "short": "Change constraint status from active to retired", + "use": "retire " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.review", + "output": "none", + "path": "ao constraint review", + "short": "List constraints compiled >90 days ago without recent citation", + "use": "review" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.contradict", + "output": "none", + "path": "ao contradict", + "short": "Detect potentially contradictory learnings", + "use": "contradict" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "directory whose .agents/rpi/KILL switch aborts the bounded loop at a round boundary", + "name": "kill-dir", + "origin": "local", + "required": false + }, + { + "description": "maximum fix->re-run rounds before NOT-CONVERGED", + "name": "max-rounds", + "origin": "local", + "required": false + }, + { + "description": "distinct non-author judge contexts required to converge", + "name": "min-contexts", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "optional strengthener: additionally require >=2 model families in the PASS quorum", + "name": "require-cross-family", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.converge", + "output": "none", + "path": "ao converge", + "short": "Bounded fix -> re-run-judge-panel loop to terminal agreement or a 3-consecutive-fail BLOCK", + "use": "converge" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus", + "output": "none", + "path": "ao corpus", + "short": "Corpus-quality probes for Dream and the knowledge flywheel", + "use": "corpus" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "body text (mutually exclusive with --body-file and --body-stdin)", + "name": "body", + "origin": "local", + "required": false + }, + { + "description": "read body from file", + "name": "body-file", + "origin": "local", + "required": false + }, + { + "description": "read body from stdin", + "name": "body-stdin", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "metadata key=value (repeatable)", + "name": "meta", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "relative path within root (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "corpus root (default: .agents/learnings/)", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.capture", + "output": "none", + "path": "ao corpus capture", + "short": "Write a corpus artifact via BC1 CorpusWriterPort", + "use": "capture --path [--body ] [--body-file ] [--body-stdin] [--root ] [--meta k=v ...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Write the changes (default: dry run, report only)", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.classify", + "output": "none", + "path": "ao corpus classify", + "short": "Annotate learning frontmatter with promote-gate defaults (sensitivity, publishable)", + "use": "classify " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the fitness vector as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.fitness", + "output": "none", + "path": "ao corpus fitness", + "short": "Compute the corpus-quality fitness vector for the current .agents/", + "use": "fitness" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "max items to emit (0 = all)", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "ranking query (empty = all items, score 0)", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "corpus root (default: .agents/learnings/)", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.inject", + "output": "none", + "path": "ao corpus inject", + "short": "Inject corpus matches via BC1 CorpusReaderPort (typed lookup)", + "use": "inject [--query ] [--root ] [--limit N]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Explicit snapshot tarball path", + "name": "from", + "origin": "local", + "required": false + }, + { + "description": "Destination directory (default: .agents)", + "name": "into", + "origin": "local", + "required": false + }, + { + "description": "Emit the result as JSON to stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Pick the newest tarball in the snapshot dir", + "name": "latest", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Replace an existing destination directory (with .bak rescue)", + "name": "overwrite", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.restore", + "output": "none", + "path": "ao corpus restore", + "short": "Restore .agents/ from a durable snapshot", + "use": "restore" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the scan report as JSON (per-file hits)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.scan", + "output": "none", + "path": "ao corpus scan", + "short": "Fail-closed deny/PII leak scan of rendered corpus output (detect only, never redact)", + "use": "scan " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the manifest as JSON to stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Override snapshot dir (default: $AGENTOPS_CORPUS_SNAPSHOT_DIR or ~/.agentops/corpus-snapshots)", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.snapshot", + "output": "none", + "path": "ao corpus snapshot", + "short": "Write a tar.gz snapshot of the local .agents/ corpus to a durable path", + "use": "snapshot" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.council-gate", + "output": "none", + "path": "ao council-gate", + "short": "Fail-closed two-plus judge verdict aggregation", + "use": "council-gate [...]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.curate", + "output": "none", + "path": "ao curate", + "short": "Curation pipeline operations", + "use": "curate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.curate.catalog", + "output": "none", + "path": "ao curate catalog", + "short": "Catalog a knowledge artifact", + "use": "catalog " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.curate.status", + "output": "none", + "path": "ao curate status", + "short": "Show curation pipeline status", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter to changes within duration (e.g. 24h, 7d)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.curate.verify", + "output": "none", + "path": "ao curate verify", + "short": "Verify gate health against baselines", + "use": "verify" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Auto-resolve duplicates: keep highest utility, archive the rest", + "name": "merge", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Skip the interactive confirmation prompt for large merges (for hooks/CI)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.dedup", + "output": "none", + "path": "ao dedup", + "short": "Detect near-duplicate learnings", + "use": "dedup" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Flag learnings with >80% content similarity", + "name": "dedup", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Skip the automatic corpus snapshot taken before a destructive prune", + "name": "no-snapshot", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Directory for defrag report JSON", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Find orphaned learnings not referenced in patterns or research", + "name": "prune", + "origin": "local", + "required": false + }, + { + "description": "Suppress progress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Days after which an unreferenced learning is considered stale", + "name": "stale-days", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.defrag", + "output": "none", + "path": "ao defrag", + "short": "Prune and deduplicate .agents/ learning artifacts", + "use": "defrag" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Explain product model", + "name": "concepts", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "2-minute council-first overview", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.demo", + "output": "none", + "path": "ao demo", + "short": "Show the council-first AgentOps 3.0 value path", + "use": "demo" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "With --fix: print the plan, change nothing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Expand a single finding by id", + "name": "explain", + "origin": "local", + "required": false + }, + { + "description": "Apply fixers for findings (routes through mutate())", + "name": "fix", + "origin": "local", + "required": false + }, + { + "description": "Output results as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Enable network probes (default: offline-only)", + "name": "online", + "origin": "local", + "required": false + }, + { + "description": "Scope to a subset of detectors or subsystems", + "name": "only", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run only fast-path detectors (< 200ms)", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Alias for --json with structured wrapper", + "name": "robot", + "origin": "local", + "required": false + }, + { + "description": "Emit the mega-command triage JSON", + "name": "robot-triage", + "origin": "local", + "required": false + }, + { + "description": "Minimum severity to emit (P0|P1|P2|P3)", + "name": "severity", + "origin": "local", + "required": false + }, + { + "description": "Diff findings against an earlier run", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Inverse of --only", + "name": "skip", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor", + "output": "none", + "path": "ao doctor", + "short": "Check AgentOps health", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.capabilities", + "output": "none", + "path": "ao doctor capabilities", + "short": "Print the machine-readable doctor contract (JSON)", + "use": "capabilities" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.diff", + "output": "none", + "path": "ao doctor diff", + "short": "Show what --fix would change (read-only)", + "use": "diff" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.explain", + "output": "none", + "path": "ao doctor explain", + "short": "Expand a single finding with full evidence", + "use": "explain " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.fix", + "output": "none", + "path": "ao doctor fix", + "short": "Run detectors, then apply fixers (backs up before every mutation)", + "use": "fix" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Prune runs started before this date (YYYY-MM-DD)", + "name": "before", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Confirm pruning (required)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.doctor.gc", + "output": "none", + "path": "ao doctor gc", + "short": "Prune old runs (requires --yes and --before )", + "use": "gc" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.health", + "output": "none", + "path": "ao doctor health", + "short": "Cheap one-line liveness summary", + "use": "health" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.ls", + "output": "none", + "path": "ao doctor ls", + "short": "List runs in .doctor/runs/", + "use": "ls" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.robot-docs", + "output": "none", + "path": "ao doctor robot-docs", + "short": "Print the paste-ready agent handbook (Markdown)", + "use": "robot-docs" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print the restore plan; do not execute", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Refuse if any backup is missing or hash-mismatched", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.undo", + "output": "none", + "path": "ao doctor undo", + "short": "Restore from .doctor/runs//backups/ (run-id may be 'latest')", + "use": "undo " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Close without a verdict, stamping an explicit UNVERIFIED marker", + "name": "force-no-verdict", + "origin": "local", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Close reason prose (the verdict stamp is appended)", + "name": "reason", + "origin": "local", + "required": false, + "shorthand": "r" + }, + { + "description": "Commit sha (or >=7-char prefix) the bead landed as (default: HEAD at cwd)", + "name": "sha", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.done", + "output": "none", + "path": "ao done", + "short": "Close a bead with a verdict-referenced stamp — no verdict = not done", + "use": "done " + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval", + "output": "none", + "path": "ao eval", + "short": "Run deterministic local evaluation suites", + "use": "eval" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "write promoted baseline run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "identity promoting the baseline", + "name": "promoted-by", + "origin": "local", + "required": false + }, + { + "description": "rationale for promoting the baseline", + "name": "rationale", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.baseline", + "output": "none", + "path": "ao eval baseline", + "short": "Promote an eval run record as a baseline", + "use": "baseline " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "promoted baseline directory", + "name": "baseline-dir", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "suite root to scan when no suite paths are provided", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.baseline-audit", + "output": "none", + "path": "ao eval baseline-audit", + "short": "Audit eval suite baseline policy against promoted baselines", + "use": "baseline-audit [suite.json ...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Path to benchmark corpus directory", + "name": "corpus", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include ~/.agents/learnings/ (cross-rig aggregated store, requires --live)", + "name": "global", + "origin": "local", + "required": false + }, + { + "description": "JSON output", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "K for Precision@K", + "name": "k", + "origin": "local", + "required": false + }, + { + "description": "Benchmark against real .agents/learnings/ instead of synthetic corpus", + "name": "live", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Search backend for --search-eval (local-lexical, ao-auto, agentic-rg, wiki-link-expand, rerank-llamacpp)", + "name": "search-backend", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated search backends to compare for --search-eval", + "name": "search-compare-backends", + "origin": "local", + "required": false + }, + { + "description": "Path to an ao-search eval manifest with queries and ground_truth paths", + "name": "search-eval", + "origin": "local", + "required": false + }, + { + "description": "Repo root to search for --search-eval (defaults to current directory)", + "name": "search-root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.bench", + "output": "none", + "path": "ao eval bench", + "short": "Run retrieval quality benchmarks", + "use": "bench" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.chaos", + "output": "none", + "path": "ao eval chaos", + "short": "Run a read-only smoke test of the tick membrane", + "use": "chaos" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Remove Run directories whose status is failed or aborted (never retracted)", + "name": "delete", + "origin": "local", + "required": false + }, + { + "description": "Preview without mutations", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Minimum tmp-file age in seconds before sweep (0 = sweep all)", + "name": "tmp-age", + "origin": "local", + "required": false + }, + { + "description": "Sweep orphan *.tmp files older than --tmp-age", + "name": "tmp-files", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.cleanup", + "output": "none", + "path": "ao eval cleanup", + "short": "Recover stale Runs (state transitions, --delete, --tmp-files)", + "use": "cleanup" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "allowed aggregate regression before verdict becomes regression", + "name": "max-aggregate-regression", + "origin": "local", + "required": false + }, + { + "description": "allowed per-dimension regression before verdict becomes regression", + "name": "max-dimension-regression", + "origin": "local", + "required": false + }, + { + "description": "write compared eval run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.compare", + "output": "none", + "path": "ao eval compare", + "short": "Compare an eval run against a baseline", + "use": "compare " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "required score dimension for missing-dimension reporting", + "name": "require-dimension", + "origin": "local", + "required": false + }, + { + "description": "required product domain for missing-domain reporting", + "name": "require-domain", + "origin": "local", + "required": false + }, + { + "description": "required evidence kind for missing-evidence-kind reporting", + "name": "require-evidence-kind", + "origin": "local", + "required": false + }, + { + "description": "required deterministic runtime for missing-runtime reporting", + "name": "require-runtime", + "origin": "local", + "required": false + }, + { + "description": "suite root to scan when no suite paths are provided", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.coverage", + "output": "none", + "path": "ao eval coverage", + "short": "Summarize eval suite coverage", + "use": "coverage [suite.json ...]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes", + "output": "none", + "path": "ao eval outcomes", + "short": "Project the locked eval substrate into Outcomes grading payloads (holdout-safe)", + "use": "outcomes" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes.compile", + "output": "none", + "path": "ao eval outcomes compile", + "short": "Compile a holdout-safe Outcomes rubric payload from a locked Task + criteria", + "use": "compile " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "path to a JSON HoldoutBurnLedger; when set, a holdout-split score registers a burn and is REFUSED if the (suite,gt) quota is exhausted (gate #3 runtime enforcement), persisted across invocations", + "name": "burn-ledger", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "refuse the ingest if the score's judge_content_hash does not match this value (gate #2 rubric-drift parity)", + "name": "expect-judge-hash", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "also write an eval-run.v1 manifest to //manifest.json so the verdict pipeline feeds the Knowledge Flywheel (closes the Outcomes→Flywheel loop)", + "name": "manifest-out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "run id for the --manifest-out manifest; defaults to the score's run_id, then source_task_id (sanitized to the eval-run.v1 pattern)", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes.ingest", + "output": "none", + "path": "ao eval outcomes ingest", + "short": "Ingest an Outcomes score payload into the one council verdict record", + "use": "ingest " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "compare the run against a baseline run record", + "name": "baseline", + "origin": "local", + "required": false + }, + { + "description": "skill-on | skill-off | both — runs the suite once with skills loaded, once with hooks suppressed, or both for a delta scorecard", + "name": "baseline-mode", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "none | ab — run context-off/context-on legs over isolated AO_AGENTS_DIR roots", + "name": "context-mode", + "origin": "local", + "required": false + }, + { + "description": "AO_AGENTS_DIR root for the context-off leg (defaults to suite fixtures)", + "name": "context-off-agents-dir", + "origin": "local", + "required": false + }, + { + "description": "AO_AGENTS_DIR root for the context-on leg (defaults to suite fixtures)", + "name": "context-on-agents-dir", + "origin": "local", + "required": false + }, + { + "description": "write delta scorecard JSON to path (with --baseline-mode=both or --context-mode=ab)", + "name": "delta-out", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "write eval run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "stable run id to use in the run record", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "runtime override (static, mock, shell, claude, codex)", + "name": "runtime", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.run", + "output": "none", + "path": "ao eval run", + "short": "Run a deterministic eval suite", + "use": "run " + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario", + "output": "none", + "path": "ao eval scenario", + "short": "Manage holdout scenarios for behavioral validation", + "use": "scenario" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Expected observable outcome (default: inferred from goal)", + "name": "expected-outcome", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Narrative description (default: inferred from goal)", + "name": "narrative", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Scenario source (human, agent, prod-telemetry)", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Scenario status (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Satisfaction threshold in [0,1]", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.add", + "output": "none", + "path": "ao eval scenario add", + "short": "Author a holdout scenario from a goal description", + "use": "add " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Evaluate every directive's linked scenarios", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Evaluate only the directive with this stable Directive ID", + "name": "directive", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the machine-readable evaluation report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "run_id recorded in the results artifact", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Per-check execution timeout", + "name": "timeout", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.evaluate", + "output": "none", + "path": "ao eval scenario evaluate", + "short": "Evaluate directive-linked scenarios and record satisfaction results", + "use": "evaluate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.init", + "output": "none", + "path": "ao eval scenario init", + "short": "Initialize .agents/holdout/ directory for scenario storage", + "use": "init" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter by status (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.list", + "output": "none", + "path": "ao eval scenario list", + "short": "List holdout scenarios", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.validate", + "output": "none", + "path": "ao eval scenario validate", + "short": "Validate holdout scenarios against schema", + "use": "validate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Run only the without-gold control arm and fail on ceiling/no-headroom", + "name": "control-only", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write the ScenarioDeltaScorecard JSON to this path", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Path to the scenario.v1 JSON file (required)", + "name": "scenario", + "origin": "local", + "required": false + }, + { + "description": "Per-arm timeout (0 = default 5m)", + "name": "timeout", + "origin": "local", + "required": false + }, + { + "description": "Fail the gate if summed arm token cost exceeds this (0 = default 200000)", + "name": "token-budget", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario-ab", + "output": "none", + "path": "ao eval scenario-ab", + "short": "Run a knowledge-reuse holdout scenario with vs. without the gold pull (the discriminating A/B)", + "use": "scenario-ab" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write the MoatClaimResult JSON to this path", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Path to a ScenarioDeltaScorecard JSON (repeatable)", + "name": "scorecard", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario-moat", + "output": "none", + "path": "ao eval scenario-moat", + "short": "Aggregate moat-eligible scenario A/B scorecards into a publication verdict", + "use": "scenario-moat" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "scorecard kind (rpi, skill-change)", + "name": "kind", + "origin": "local", + "required": false + }, + { + "description": "allowed per-category regression before verdict becomes regression", + "name": "max-category-regression", + "origin": "local", + "required": false + }, + { + "description": "write scorecard JSON to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scorecard", + "output": "none", + "path": "ao eval scorecard", + "short": "Build an eval scorecard from run records", + "use": "scorecard [baseline-run.json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format: text, json", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Session ID (extracted from transcript if not provided)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.session-outcome", + "output": "none", + "path": "ao eval session-outcome", + "short": "Analyze session transcript to derive reward signal", + "use": "session-outcome [transcript-path]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite", + "output": "none", + "path": "ao eval suite", + "short": "Suite-level operations (verdict, n-required)", + "use": "suite" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Type-I error rate", + "name": "alpha", + "origin": "local", + "required": false + }, + { + "description": "Baseline rate (binomial worst-case fallback)", + "name": "baseline-rate", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum detectable effect", + "name": "mde", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Paired comparison", + "name": "paired", + "origin": "local", + "required": false + }, + { + "description": "Statistical power (1-beta)", + "name": "power", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite.n-required", + "output": "none", + "path": "ao eval suite n-required", + "short": "Compute power-derived n_required (gate #6 input on Day 3+)", + "use": "n-required" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Bootstrap resamples", + "name": "B", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated arm ids (default: from suite varied_axis)", + "name": "arms", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to canonical bootstrap-inputs JSON (REQUIRED)", + "name": "inputs", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum detectable effect (used for inconclusive_high_variance)", + "name": "mde", + "origin": "local", + "required": false + }, + { + "description": "Override n_required (default: derived from suite power block)", + "name": "n-required", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite.verdict", + "output": "none", + "path": "ao eval suite verdict", + "short": "Compute the §6.5 paired cluster-bootstrap verdict", + "use": "verdict --arms a,b --inputs " + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task", + "output": "none", + "path": "ao eval task", + "short": "Manage evaluation Tasks (add, list, show, run)", + "use": "task" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.add", + "output": "none", + "path": "ao eval task add", + "short": "Register a Task by copying its yaml + samples into the substrate", + "use": "add " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.list", + "output": "none", + "path": "ao eval task list", + "short": "List registered Task ids", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Allow runs against confidence=weak ground-truth rows (gate #7)", + "name": "allow-weak-labels", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Allow ModelSpec drift (gate #4)", + "name": "cross-spec", + "origin": "local", + "required": false + }, + { + "description": "Run gates and exit without writing a Run manifest", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Ground-truth row id (head of supersession chain)", + "name": "ground-truth", + "origin": "local", + "required": false + }, + { + "description": "Harness id (recorded into manifest)", + "name": "harness", + "origin": "local", + "required": false + }, + { + "description": "Path to harness source dir for snapshot + gate #8", + "name": "harness-dir", + "origin": "local", + "required": false + }, + { + "description": "Inspect command recorded into the Run manifest (not executed yet)", + "name": "inspect-command", + "origin": "local", + "required": false + }, + { + "description": "Inspect AI version stamped into manifest", + "name": "inspect-version", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "ModelSpec id (already captured via ao eval models capture)", + "name": "model-spec", + "origin": "local", + "required": false + }, + { + "description": "Override Suite.n_samples", + "name": "n-samples", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Mark Run as quick_session=true (excluded from --vs auto-baseline pool)", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Rig identifier stamped into the Run manifest", + "name": "rig-id", + "origin": "local", + "required": false + }, + { + "description": "Sample split (dev|holdout); default from suite", + "name": "sample-split", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated seeds (>=3, per §4)", + "name": "seeds", + "origin": "local", + "required": false + }, + { + "description": "Suite id or path to suite.yaml (required)", + "name": "suite", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.run", + "output": "none", + "path": "ao eval task run", + "short": "Open a new Run manifest for ; refuses on gate failure", + "use": "run " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.show", + "output": "none", + "path": "ao eval task show", + "short": "Print a registered Task summary", + "use": "show " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Process all pending entries", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Bead ID to tag extracted learnings with", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Clear pending queue without processing", + "name": "clear", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum characters of session content to include", + "name": "max-content", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.extract", + "output": "none", + "path": "ao extract", + "short": "Process pending learning extractions", + "use": "extract" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "EMA learning rate", + "name": "alpha", + "origin": "local", + "required": false + }, + { + "description": "Filter citations by type (retrieved, used-in-final-artifact, helpful, harmful, refuted, applied, reference, all)", + "name": "citation-type", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Walk citations.jsonl and feed entries with zero feedback_at sentinel (idempotent)", + "name": "drain", + "origin": "local", + "required": false + }, + { + "description": "Neutral reward applied to drained citations (0.0-1.0)", + "name": "drain-reward", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Override reward value (0.0-1.0); -1 = compute from transcript", + "name": "reward", + "origin": "local", + "required": false + }, + { + "description": "Session ID to process", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Path to transcript for reward computation", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.feedback-loop", + "output": "none", + "path": "ao feedback-loop", + "short": "Close the MemRL feedback loop for a session", + "use": "feedback-loop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings", + "output": "none", + "path": "ao findings", + "short": "Manage promoted findings", + "use": "findings" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Export every local finding", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite destination files if they already exist", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Destination repo root or .agents/findings directory", + "name": "to", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.export", + "output": "none", + "path": "ao findings export", + "short": "Export finding artifacts to another repo or findings directory", + "use": "export " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Include retired and superseded findings", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum findings to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.list", + "output": "none", + "path": "ao findings list", + "short": "List active findings", + "use": "list [query]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Pull every source finding", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite local files if they already exist", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Source repo root or .agents/findings directory", + "name": "from", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.pull", + "output": "none", + "path": "ao findings pull", + "short": "Pull finding artifacts from another repo or findings directory", + "use": "pull " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Retired-by marker (defaults to current user or ao findings retire)", + "name": "by", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.retire", + "output": "none", + "path": "ao findings retire", + "short": "Retire a finding artifact", + "use": "retire " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.stats", + "output": "none", + "path": "ao findings stats", + "short": "Summarize local finding artifact inventory", + "use": "stats" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel", + "output": "none", + "path": "ao flywheel", + "short": "Knowledge flywheel operations", + "use": "flywheel" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Pending directory to ingest from", + "name": "pending-dir", + "origin": "local", + "required": false + }, + { + "description": "Suppress non-essential output (hook-friendly)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Minimum age for auto-promotion (default: 24h)", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.close-loop", + "output": "none", + "path": "ao flywheel close-loop", + "short": "Close the knowledge flywheel loop", + "use": "close-loop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Shadow namespace to compare against primary", + "name": "shadow", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.compare", + "output": "none", + "path": "ao flywheel compare", + "short": "Compare primary vs shadow namespace metrics", + "use": "compare" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Benchmark corpus directory (defaults to repo testdata)", + "name": "corpus", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.gate", + "output": "none", + "path": "ao flywheel gate", + "short": "Check readiness for retrieval-expansion work", + "use": "gate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.nudge", + "output": "none", + "path": "ao flywheel nudge", + "short": "Combined flywheel + ratchet + pool status for hooks", + "use": "nudge" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days for metrics calculation", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Show golden signals (always shown; flag kept for compatibility)", + "name": "golden", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Citation namespace to evaluate (primary by default)", + "name": "namespace", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.status", + "output": "none", + "path": "ao flywheel status", + "short": "Show flywheel health status", + "use": "status" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge", + "output": "none", + "path": "ao forge", + "short": "Extract knowledge from sources", + "use": "forge" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Specific directory to scan (default: all Claude project dirs)", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Trigger extraction after forging", + "name": "extract", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum transcripts to process (0 = all)", + "name": "max", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.batch", + "output": "none", + "path": "ao forge batch", + "short": "Process multiple transcripts at once", + "use": "batch" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Queue for learning extraction at next session start", + "name": "queue", + "origin": "local", + "required": false + }, + { + "description": "Suppress all output (for hooks)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.markdown", + "output": "none", + "path": "ao forge markdown", + "short": "Extract knowledge from markdown files", + "use": "markdown " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would be promoted without writing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Evaluate review decisions against a labeled JSON manifest without writing", + "name": "eval", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Ollama HTTP endpoint for --reviewer-model (fallback: $AGENTOPS_LLM_ENDPOINT or http://localhost:11434)", + "name": "reviewer-endpoint", + "origin": "local", + "required": false + }, + { + "description": "LLM model tag for Tier 2 reviewer decisions (e.g. gemma2:9b)", + "name": "reviewer-model", + "origin": "local", + "required": false + }, + { + "description": "Directory containing session pages (default: .agents/ao/sessions)", + "name": "sessions-dir", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.review", + "output": "none", + "path": "ao forge review", + "short": "Tier 2 structural review of draft session pages", + "use": "review" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Process only the most recent transcript", + "name": "last-session", + "origin": "local", + "required": false + }, + { + "description": "Allow legacy local Ollama/Gemma fallback for --tier=1 when no AgentWorker queue is configured", + "name": "legacy-local-llm", + "origin": "local", + "required": false + }, + { + "description": "Legacy Ollama HTTP endpoint for --tier=1 (fallback: $AGENTOPS_LLM_ENDPOINT or http://localhost:11434)", + "name": "llm-endpoint", + "origin": "local", + "required": false + }, + { + "description": "Per-chunk character budget for --tier=1 legacy local LLM mode (default: conservative built-in budget)", + "name": "max-chars", + "origin": "local", + "required": false + }, + { + "description": "Legacy local LLM model tag for --tier=1 (e.g. gemma2:9b)", + "name": "model", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Queue session for learning extraction at next session start", + "name": "queue", + "origin": "local", + "required": false + }, + { + "description": "Suppress all output (for hooks)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Tier 1 transcript processing: enqueue to configured Dream worker; local Ollama fallback requires --legacy-local-llm", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "OPT-IN (value-gated, default off): route knowledge through the native typed extractor to emit learning.v1 records; falls back to the heuristic path if the LLM backend is unavailable", + "name": "typed", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.transcript", + "output": "none", + "path": "ao forge transcript", + "short": "Extract knowledge from Claude Code transcripts", + "use": "transcript " + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate", + "output": "none", + "path": "ao gate", + "short": "Human review gates", + "use": "gate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Optional approval note", + "name": "note", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.approve", + "output": "none", + "path": "ao gate approve", + "short": "Approve candidate for promotion", + "use": "approve " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Age threshold for bulk approval", + "name": "older-than", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Tier to bulk approve (default: silver)", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.bulk-approve", + "output": "none", + "path": "ao gate bulk-approve", + "short": "Bulk approve silver candidates", + "use": "bulk-approve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "stop after the first blocking failure", + "name": "fail-fast", + "origin": "local", + "required": false + }, + { + "description": "fast cockpit subset routed to changed files (the default; explicit flag for clarity in hooks)", + "name": "fast", + "origin": "local", + "required": false + }, + { + "description": "run every check (routing ignored); default is the fast changed-file subset", + "name": "full", + "origin": "local", + "required": false + }, + { + "description": "emit GitHub Actions annotations for WARN/FAIL checks", + "name": "github-annotations", + "origin": "local", + "required": false + }, + { + "description": "emit the machine-readable JSON report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "fail if validate.yml references scripts missing from the Go gate registry", + "name": "require-workflow-parity", + "origin": "local", + "required": false + }, + { + "description": "fast-mode changed-file scope: head|staged|worktree|upstream|range:..", + "name": "scope", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "include validate.yml-vs-registry script coverage in the report", + "name": "workflow-coverage", + "origin": "local", + "required": false + }, + { + "description": "workflow path used by --workflow-coverage and --require-workflow-parity", + "name": "workflow-path", + "origin": "local", + "required": false + } + ], + "id": "ao.gate.check", + "output": "none", + "path": "ao gate check", + "short": "Run the gate registry (fast cockpit subset or full suite)", + "use": "check" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.pending", + "output": "none", + "path": "ao gate pending", + "short": "List candidates pending review", + "use": "pending" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Required rejection reason", + "name": "reason", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.reject", + "output": "none", + "path": "ao gate reject", + "short": "Reject candidate", + "use": "reject " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.run", + "output": "none", + "path": "ao gate run", + "short": "Run a check-*.sh gate via BC2 GateRunnerPort and emit verdict", + "use": "run " + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals", + "output": "none", + "path": "ao goals", + "short": "Fitness goal measurement and validation", + "use": "goals" + }, + { + "aliases": [ + "a" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Goal description", + "name": "description", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Goal type (health, architecture, quality, meta)", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Goal weight (1-10)", + "name": "weight", + "origin": "local", + "required": false + } + ], + "id": "ao.goals.add", + "output": "none", + "path": "ao goals add", + "short": "Add a new goal", + "use": "add " + }, + { + "aliases": [ + "d" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.drift", + "output": "none", + "path": "ao goals drift", + "short": "Compare snapshots for regressions", + "use": "drift" + }, + { + "aliases": [ + "e" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.export", + "output": "none", + "path": "ao goals export", + "short": "Export latest snapshot as JSON (for CI)", + "use": "export" + }, + { + "aliases": [ + "h" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Filter history to a specific goal", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Show entries since date (YYYY-MM-DD)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.history", + "output": "none", + "path": "ao goals history", + "short": "Show goal measurement history", + "use": "history" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Use defaults without prompting", + "name": "non-interactive", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Goal template (go-cli, python-lib, web-app, rust-cli, generic)", + "name": "template", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.init", + "output": "none", + "path": "ao goals init", + "short": "Bootstrap a new GOALS.md file", + "use": "init" + }, + { + "aliases": [ + "m" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Output directives as JSON (skip gate checks)", + "name": "directives", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Skip goals whose Tags include this value (e.g. long-cycle)", + "name": "exclude-tag", + "origin": "local", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Measure a single goal by ID", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Evaluate only executable-spec scenario satisfaction; skip shell gate-command execution", + "name": "scenarios-only", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Overall measurement timeout in seconds (0 disables)", + "name": "total-timeout", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.measure", + "output": "none", + "path": "ao goals measure", + "short": "Run goal checks and produce a snapshot", + "use": "measure" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.meta", + "output": "none", + "path": "ao goals meta", + "short": "Run and report meta-goals only", + "use": "meta" + }, + { + "aliases": [ + "mg" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Convert GOALS.yaml to GOALS.md format", + "name": "to-md", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.migrate", + "output": "none", + "path": "ao goals migrate", + "short": "Migrate goals to latest format", + "use": "migrate" + }, + { + "aliases": [ + "p" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.prune", + "output": "none", + "path": "ao goals prune", + "short": "Remove goals referencing nonexistent files", + "use": "prune" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write Gherkin to this file instead of stdout", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.render", + "output": "none", + "path": "ao goals render", + "short": "Render GOALS.md directives and linked scenarios as BDD/Gherkin", + "use": "render" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Create a scenario from this goal description and link it to --directive", + "name": "create", + "origin": "local", + "required": false + }, + { + "description": "Directive display number (filter when listing, target when creating)", + "name": "directive", + "origin": "local", + "required": false + }, + { + "description": "Filter listing to one directive by stable Directive ID", + "name": "directive-id", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Lint the directive↔scenario link graph instead of listing", + "name": "lint", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Source for a created scenario (human, agent, prod-telemetry)", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Status for a created scenario (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "With --lint, exit non-zero on warnings as well as errors", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Satisfaction threshold for a created scenario", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.scenarios", + "output": "none", + "path": "ao goals scenarios", + "short": "List or create the holdout scenarios linked to GOALS.md directives", + "use": "scenarios" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer", + "output": "none", + "path": "ao goals steer", + "short": "Manage directives", + "use": "steer" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Directive description (required)", + "name": "description", + "origin": "local", + "required": true + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Steer direction (increase, decrease, hold, explore)", + "name": "steer", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.add", + "output": "none", + "path": "ao goals steer add", + "short": "Add a new directive", + "use": "add " + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Equivalent to --yes: explicit non-interactive consent to apply", + "name": "auto", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Re-steer policy path (default: docs/re-steer-policy.json)", + "name": "policy", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Pre-confirm the apply for non-interactive/scripted use (explicit consent)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.goals.steer.apply", + "output": "none", + "path": "ao goals steer apply", + "short": "Apply a re-steer recommendation to GOALS.md (human-gated)", + "use": "apply" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.prioritize", + "output": "none", + "path": "ao goals steer prioritize", + "short": "Move a directive to a new position", + "use": "prioritize <number> <new-position>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Re-steer policy path (default: docs/re-steer-policy.json)", + "name": "policy", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.recommend", + "output": "none", + "path": "ao goals steer recommend", + "short": "Show re-steer recommendations without modifying GOALS.md", + "use": "recommend" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.remove", + "output": "none", + "path": "ao goals steer remove", + "short": "Remove a directive by number", + "use": "remove <number>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Render the trace lineage rooted at this directive, scenario, or bead ID", + "name": "from", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Audit the whole chain for broken references (errors) and missing yields (warnings)", + "name": "orphans", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Escalate warning-class defects to a non-zero exit (ADR-0005 §4.2)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.trace", + "output": "none", + "path": "ao goals trace", + "short": "Trace the directive→scenario→bead→artifact→learning executable-spec chain", + "use": "trace" + }, + { + "aliases": [ + "v" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.validate", + "output": "none", + "path": "ao goals validate", + "short": "Validate GOALS.yaml structure and wiring", + "use": "validate" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.governor", + "output": "none", + "path": "ao governor", + "short": "The membrane's SPC control-loop governor (error budget, special-cause)", + "use": "governor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "ship — within error budget", + "3": "HARDEN — burn-rate over tolerance; stop the line" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Special-cause floor: min confirmed in window before harden can fire; 0 = default", + "name": "min-confirmed", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Tolerated escape rate T; 0 = default", + "name": "tolerance", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Rolling window size (gate-verdicts); 0 = default", + "name": "window", + "origin": "local", + "required": false + } + ], + "id": "ao.governor.budget", + "output": "none", + "path": "ao governor budget", + "short": "Error-budget burn-rate: the one number that decides ship-vs-harden", + "use": "budget [--json] [--window N] [--tolerance T] [--min-confirmed N]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Special-cause control limit K (escapes per domain in window); 0 = default", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Rolling window size (gate-verdicts); 0 = default", + "name": "window", + "origin": "local", + "required": false + } + ], + "id": "ao.governor.noise-band", + "output": "none", + "path": "ao governor noise-band", + "short": "Special-cause noise-band: should the membrane ADJUST, or is this common-cause noise?", + "use": "noise-band [--json] [--window N] [--limit K]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.guard-status", + "output": "none", + "path": "ao guard-status", + "short": "Verify guard hook and validator launcher installation", + "use": "guard-status" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.harness", + "output": "none", + "path": "ao harness", + "short": "BC5 HarnessPort operations (sync state across skill harnesses)", + "use": "harness" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "emit only entries with OutOfSync=true", + "name": "out-of-sync-only", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "filter to one skill name (empty = all)", + "name": "skill", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.harness.status", + "output": "none", + "path": "ao harness status", + "short": "Emit (skill, harness) sync state via BC5 HarnessPort", + "use": "status [--skill <name>] [--out-of-sync-only]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Artifact types to include (comma-separated)", + "name": "include", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Skip files larger than this (bytes)", + "name": "max-file-size", + "origin": "local", + "required": false + }, + { + "description": "Advisory volume gate: emit a stderr WARN when promotions exceed this count (0 disables; AO_MAX_PROMOTIONS env var as fallback). Never blocks.", + "name": "max-promotions", + "origin": "local", + "required": false + }, + { + "description": "Minimum confidence for promotion", + "name": "min-confidence", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Directory for harvest catalog output", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Promotion destination for high-value artifacts (default ~/.agents/learnings)", + "name": "promote-to", + "origin": "local", + "required": false + }, + { + "description": "Suppress progress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Base directories to scan (comma-separated) (default ~/gt)", + "name": "roots", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.harvest", + "output": "none", + "path": "ao harvest", + "short": "Sweep all rigs, extract and deduplicate cross-rig knowledge", + "use": "harvest" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Use .git/info/exclude instead of .gitignore", + "name": "stealth", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.init", + "output": "none", + "path": "ao init", + "short": "Initialize AgentOps in the current repository", + "use": "init" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Apply confidence decay before ranking", + "name": "apply-decay", + "origin": "local", + "required": false + }, + { + "description": "Bead ID for work-scoped knowledge injection", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Context query for filtering (alternative to positional arg)", + "name": "context", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Skill name — assembles context per skill's context declaration", + "name": "for", + "origin": "local", + "required": false + }, + { + "description": "Output format: markdown, json", + "name": "format", + "origin": "local", + "required": false + }, + { + "description": "Output compact knowledge index table instead of full content", + "name": "index-only", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum tokens to output", + "name": "max-tokens", + "origin": "local", + "required": false + }, + { + "description": "Disable citation recording", + "name": "no-cite", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to predecessor handoff file for context injection", + "name": "predecessor", + "origin": "local", + "required": false + }, + { + "description": "Include .agents/profile.md identity artifact in output", + "name": "profile", + "origin": "local", + "required": false + }, + { + "description": "Quarantine flagged learnings from quality report", + "name": "quarantine-flagged", + "origin": "local", + "required": false + }, + { + "description": "Session ID for citation tracking (auto-generated if empty)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Session type for scoring boost (career, research, debug, implement, brainstorm)", + "name": "session-type", + "origin": "local", + "required": false + }, + { + "description": "Multiplier on utility's contribution to ranking (0=disable, 1=default, >1=emphasize). Reads `utility:` frontmatter; closes the eval-verdict-compiler loop.", + "name": "utility-weight", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.inject", + "output": "none", + "path": "ao inject", + "short": "Output relevant knowledge for explicit or JIT injection", + "use": "inject [context]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.install-guards", + "output": "none", + "path": "ao install-guards", + "short": "Install repo-local git guard hooks", + "use": "install-guards" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge", + "output": "none", + "path": "ao knowledge", + "short": "Operationalize a mature .agents corpus into reusable operator surfaces", + "use": "knowledge" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Optional goal for briefing compilation during activation", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.activate", + "output": "none", + "path": "ao knowledge activate", + "short": "Run the full knowledge activation outer loop", + "use": "activate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.beliefs", + "output": "none", + "path": "ao knowledge beliefs", + "short": "Refresh the belief book from promoted evidence", + "use": "beliefs" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Goal to compile into a briefing", + "name": "goal", + "origin": "local", + "required": true + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.brief", + "output": "none", + "path": "ao knowledge brief", + "short": "Compile a goal-time briefing", + "use": "brief" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.gaps", + "output": "none", + "path": "ao knowledge gaps", + "short": "Report thin topics, promotion gaps, and next mining work", + "use": "gaps" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include thin topics when building playbook candidates", + "name": "include-thin", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.playbooks", + "output": "none", + "path": "ao knowledge playbooks", + "short": "Refresh playbook candidates from healthy topics", + "use": "playbooks" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.land", + "output": "none", + "path": "ao land", + "short": "Land a bead through the trusted pawl path with a fresh in-checkout binary, then atomic pawl-land", + "use": "land <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Filter by source bead ID", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Citation type to record for returned artifacts: retrieved, reference, applied", + "name": "cite", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Retrieve from the sanitized OKF gold wiki (.ao/wiki) instead of the raw .agents/ corpus", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "JSON output", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Maximum results to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Skip citation recording", + "name": "no-cite", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Compact pointers only (type · title · path · score) — no bodies; the token-cheap mode for decision-point pulls", + "name": "pointers", + "origin": "local", + "required": false + }, + { + "description": "Search query for relevance matching", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "Session ID for citation tracking", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.lookup", + "output": "none", + "path": "ao lookup", + "short": "Retrieve specific knowledge artifacts by ID or query", + "use": "lookup [id]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop", + "output": "none", + "path": "ao loop", + "short": "BC3 Loop operations (cycle history, etc.)", + "use": "loop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "git commit SHA (optional)", + "name": "commit", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "cycle number (0 = auto-assign max+1)", + "name": "cycle", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "milestone note (optional)", + "name": "milestone", + "origin": "local", + "required": false + }, + { + "description": "cycle mode (required)", + "name": "mode", + "origin": "local", + "required": true + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "cycle result: improved|harvested|unchanged|idle (required)", + "name": "result", + "origin": "local", + "required": true + }, + { + "description": "XP/BDD/TDD evidence trace as a JSON object — a file path or inline JSON (optional)", + "name": "trace-json", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.append", + "output": "none", + "path": "ao loop append", + "short": "Append a cycle entry via BC3 LoopWriterPort", + "use": "append --mode <m> --result <r> [flags]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Bead id the agent was working on (write mode, optional)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Clear mode: delete entries for the given cycle id (operator-only)", + "name": "clear", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Override cycle-id (write mode; defaults to date-derived counter)", + "name": "cycle", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Read mode: emit JSON instead of human-readable text", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Ladder step that failed (write mode, optional)", + "name": "ladder-step-failed", + "origin": "local", + "required": false + }, + { + "description": "Read mode: list blocked events", + "name": "list", + "origin": "local", + "required": false + }, + { + "description": "Missing context description (write mode, optional)", + "name": "needed-context", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reason text (write mode)", + "name": "reason", + "origin": "local", + "required": false + }, + { + "description": "Read mode: show last N entries", + "name": "tail", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.blocked", + "output": "none", + "path": "ao loop blocked", + "short": "Log or list typed blocked-events from the /evolve loop", + "use": "blocked" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "a fitness baseline artifact has been captured", + "name": "fitness-baseline", + "origin": "local", + "required": false + }, + { + "description": "current leading green CI streak (caller-supplied evidence)", + "name": "green-streak", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "current unconsumed HIGH+MEDIUM finding count", + "name": "unconsumed-high-medium", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.converged", + "output": "none", + "path": "ao loop converged", + "short": "Evaluate the evolve convergence STOP predicate via the BC3 ConvergenceCheckPort", + "use": "converged" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "end cycle number (inclusive; 0 = unbounded)", + "name": "end", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "emit only the latest entry", + "name": "latest", + "origin": "local", + "required": false + }, + { + "description": "max entries to emit (0 = all)", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "start cycle number (inclusive; 0 = unbounded)", + "name": "start", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.history", + "output": "none", + "path": "ao loop history", + "short": "Read /evolve cycle history via the BC3 LoopReaderPort", + "use": "history" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.hypothesis", + "output": "none", + "path": "ao loop hypothesis", + "short": "BC3 Loop hypothesis-ledger operations (list, append)", + "use": "hypothesis" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "future cycle that evaluates the measure", + "name": "check-at-cycle", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "cycle the patch landed", + "name": "cycle-landed", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "expected effect of the patch", + "name": "hypothesis", + "origin": "local", + "required": false + }, + { + "description": "unique hypothesis ID, e.g. H210.1 (required)", + "name": "id", + "origin": "local", + "required": true + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "how the effect is verified", + "name": "measure", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "one-line description of what landed", + "name": "patch", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "verdict: PENDING|VERIFIED|FALSIFIED", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.loop.hypothesis.append", + "output": "none", + "path": "ao loop hypothesis append", + "short": "Append a hypothesis record via the BC3 HypothesisLedgerPort", + "use": "append --id <id> --hypothesis <h> --measure <m> [flags]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.hypothesis.list", + "output": "none", + "path": "ao loop hypothesis list", + "short": "List evolve hypotheses via the BC3 HypothesisLedgerPort", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Override path to the 'bd' binary (default: resolves via PATH)", + "name": "bd-binary", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Do not filter operator-shape beads at step 1", + "name": "include-operator-shape", + "origin": "local", + "required": false + }, + { + "description": "Emit JSON instead of human-readable text", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Execution contract: 'burst' (default) or 'loop'", + "name": "mode", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.next-work", + "output": "none", + "path": "ao loop next-work", + "short": "Recommend the next bead to claim via the 5-step ladder", + "use": "next-work" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "max acceptable trailing idle/unchanged streak before flagging dormancy", + "name": "max-idle", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.verify", + "output": "none", + "path": "ao loop verify", + "short": "Audit cycle-history.jsonl integrity via BC3 LoopReaderPort", + "use": "verify" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Marker name: dormant, stop, or kill", + "name": "marker", + "origin": "local", + "required": true + }, + { + "description": "Execution contract: 'burst' or 'loop' (loop refuses unconditionally)", + "name": "mode", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reason text written to the marker file", + "name": "reason", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.write-stop-marker", + "output": "none", + "path": "ao loop write-stop-marker", + "short": "Write an evolve stop marker (refused under --mode=loop)", + "use": "write-stop-marker" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Apply maturity transitions", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Move expired/evicted/curated files to archive (requires --expire, --evict, or --curate)", + "name": "archive", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Normalize metadata and identify low-signal or uncited stale learnings", + "name": "curate", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Identify eviction candidates (composite criteria)", + "name": "evict", + "origin": "local", + "required": false + }, + { + "description": "Scan for expired learnings", + "name": "expire", + "origin": "local", + "required": false + }, + { + "description": "Operate on ~/.agents/learnings instead of the local workspace learnings", + "name": "global", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Add default frontmatter to .md learnings missing utility field", + "name": "migrate-md", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reset utility to 0.5 for all learnings", + "name": "recalibrate", + "origin": "local", + "required": false + }, + { + "description": "Scan all learnings for pending transitions", + "name": "scan", + "origin": "local", + "required": false + }, + { + "description": "Size-budget eviction: when set with --evict, archive lowest-utility eligible files until the learnings hub falls below the target (e.g. 250M, 1G, 1024K)", + "name": "target-size", + "origin": "local", + "required": false + }, + { + "description": "Archive provisional/candidate learnings with zero citations older than this many days when used with --curate", + "name": "uncited-days", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.maturity", + "output": "none", + "path": "ao maturity", + "short": "Check and manage learning maturity levels", + "use": "maturity [learning-id]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mcp", + "output": "none", + "path": "ao mcp", + "short": "Expose the ao tool surface over MCP for hosted/SDK Claude loops", + "use": "mcp" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Machine-readable JSON (always JSON for --print-tools; reserved for parity)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Emit the curated tool surface as JSON and exit", + "name": "print-tools", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mcp.serve", + "output": "none", + "path": "ao mcp serve", + "short": "Serve (or print) the curated ao MCP tool surface", + "use": "serve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane", + "output": "none", + "path": "ao membrane", + "short": "Self-improving membrane: turn escapes into membrane checks", + "use": "membrane" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.calibrate", + "output": "none", + "path": "ao membrane calibrate", + "short": "Calibrate the cold membrane's catch-rate against the frozen trap corpus (the standing ruler)", + "use": "calibrate [--membrane-label <adapter>] [--membrane-cmd <c>] [--out-dir <dir>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "With --scope upstream: exact reviewed ancestor commit (default: configured-upstream merge-base)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Bead id the catch was found on (required)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Optional SEMANTIC class slug (e.g. stale-retired-surface). When set it keys the class CROSS-BEAD (the same label on different beads is ONE class), instead of the bead-drifting reason. Slug shape: lowercase [a-z0-9] words joined by '-'", + "name": "class", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Optional detector kind (e.g. regex)", + "name": "detector-kind", + "origin": "local", + "required": false + }, + { + "description": "Optional regex that mechanically detects this class (makes it a compile candidate)", + "name": "detector-pattern", + "origin": "local", + "required": false + }, + { + "description": "Bounded-context / work-class tag (required)", + "name": "domain", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Pawl-review evidence file: derive --reason (two-tier REFUTED salvage), --domain (first changed file's top dir) and --paths (changed files, first 20); explicit flags win", + "name": "evidence", + "origin": "local", + "required": false + }, + { + "description": "Optional path globs scoping the detector pattern", + "name": "globs", + "origin": "local", + "required": false + }, + { + "description": "Commit sha the catch was found at (default: git HEAD)", + "name": "head", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Pawl diversity mode: fresh-context (default) | multi-model | deterministic", + "name": "mode", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Concrete repo-relative file paths the catch touches (comma-separated or repeated)", + "name": "paths", + "origin": "local", + "required": false + }, + { + "description": "What was caught — the defect (required; the class reason when no --class given)", + "name": "reason", + "origin": "local", + "required": false + }, + { + "description": "Run id (default: membrane-catch)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "With --evidence: changed-file scope — head (the --head commit), staged (the index), or upstream (configured-upstream merge-base through --head)", + "name": "scope", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.catch", + "output": "none", + "path": "ao membrane catch", + "short": "Record a membrane CATCH — a REFUTED defect, as a structured class the membrane remembers", + "use": "catch --bead <id> (--domain <bc> --reason <what> | --evidence <file>) [--scope head|staged|upstream] [--base <sha>] [--class <slug>] [--paths f1,f2] [--detector-pattern <re> --globs <g> --detector-kind <k>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report what would be derived without writing files", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Overwrite existing derived artifacts", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run id to scan for escapes (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.derive-checks", + "output": "none", + "path": "ao membrane derive-checks", + "short": "Derive membrane checks from escapes in a run", + "use": "derive-checks --run <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Per-class recurrence before vs since --since (read-only; for the producer-defect register)", + "name": "deltas", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include reason-less placeholder classes (e.g. \"pawl-review REFUTED (see evidence)\") for corpus auditing; excluded by default so the checklist stays actionable", + "name": "include-placeholders", + "origin": "local", + "required": false + }, + { + "description": "Also print the ranked digest as JSON (the checklist file is written either way)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Cutoff for --deltas: an ISO date (2026-07-08, UTC midnight) or RFC3339 timestamp — typically a producer fix's land date", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "How many top recurring catch classes to include", + "name": "top", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.digest", + "output": "none", + "path": "ao membrane digest", + "short": "Mine the catch corpus into a GLOBAL top-N recurring-defect checklist the loop's START consumes", + "use": "digest [--top N] [--json] [--deltas --since <date>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Bounded-context / work-class tag to recall escapes for (required)", + "name": "domain", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Also surface CATCH classes in the domain (the abundant memory; escapes are rare)", + "name": "include-catches", + "origin": "local", + "required": false + }, + { + "description": "Emit the recalled escapes as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "With --include-catches, narrow to catches whose affected_paths overlap these files", + "name": "paths", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.recall", + "output": "none", + "path": "ao membrane recall", + "short": "Recall past escapes in a domain — the membrane's 'look out for this here' memory", + "use": "recall --domain <domain>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the triage result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.triage", + "output": "none", + "path": "ao membrane triage", + "short": "Triage the catch corpus: the HONEST recurrence + compilability read (today: INSUFFICIENT-DATA)", + "use": "triage" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics", + "output": "none", + "path": "ao metrics", + "short": "Knowledge flywheel metrics", + "use": "metrics" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days for metrics calculation", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.baseline", + "output": "none", + "path": "ao metrics baseline", + "short": "Capture current flywheel state", + "use": "baseline" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Author/owner identity of the cited artifact", + "name": "artifact-author", + "origin": "local", + "required": false + }, + { + "description": "Agent identity recording the citation outcome", + "name": "cited-by-agent", + "origin": "local", + "required": false + }, + { + "description": "Model family of the citing/reviewing agent", + "name": "cited-by-family", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Search query that surfaced this artifact", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "Session ID (auto-detected if not provided)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Citation type: retrieved, used-in-final-artifact, helpful, harmful, refuted, applied, reference", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Model vendor attribution: claude, codex", + "name": "vendor", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.cite", + "output": "none", + "path": "ao metrics cite", + "short": "Record a citation event", + "use": "cite <artifact-path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.cite-report", + "output": "none", + "path": "ao metrics cite-report", + "short": "Aggregated citation report", + "use": "cite-report" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Citation namespace to evaluate (primary by default)", + "name": "namespace", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.health", + "output": "none", + "path": "ao metrics health", + "short": "Show flywheel health metrics", + "use": "health" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days for metrics calculation", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.report", + "output": "none", + "path": "ao metrics report", + "short": "Show flywheel metrics report", + "use": "report" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind", + "output": "none", + "path": "ao mind", + "short": "Knowledge graph operations", + "use": "mind" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.all", + "output": "none", + "path": "ao mind all", + "short": "Run full pipeline (normalize → link → index)", + "use": "all" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.graph", + "output": "none", + "path": "ao mind graph", + "short": "Show graph statistics", + "use": "graph" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.index", + "output": "none", + "path": "ao mind index", + "short": "Rebuild the graph index", + "use": "index" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.link", + "output": "none", + "path": "ao mind link", + "short": "Insert wikilinks between related artifacts", + "use": "link" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.normalize", + "output": "none", + "path": "ao mind normalize", + "short": "Add/fix YAML frontmatter on .agents/ markdown", + "use": "normalize" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.scan", + "output": "none", + "path": "ao mind scan", + "short": "Show what needs normalization", + "use": "scan" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Append actionable mine findings to .agents/rpi/next-work.jsonl for evolve to pick up", + "name": "emit-work-items", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Directory for mine output JSON", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Suppress progress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "How far back to look (e.g. 26h, 7d)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated sources to mine (git, agents, code, events)", + "name": "sources", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mine", + "output": "none", + "path": "ao mine", + "short": "Extract knowledge signal from git, .agents/, and code", + "use": "mine" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.next-work", + "output": "none", + "path": "ao next-work", + "short": "Operate on the harvested next-work queue (.agents/rpi/next-work.jsonl)", + "use": "next-work" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would be created without creating beads or mutating the queue", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Path to next-work.jsonl (default: <cwd>/.agents/rpi/next-work.jsonl)", + "name": "file", + "origin": "local", + "required": false + }, + { + "description": "Emit a machine-readable JSON summary", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Actor recorded in provenance metadata", + "name": "materialized-by", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Only materialize items whose batch source_epic equals this value", + "name": "source-epic", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.next-work.materialize", + "output": "none", + "path": "ao next-work materialize", + "short": "Create durable beads from unmaterialized harvested follow-ups", + "use": "materialize" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.notebook", + "output": "none", + "path": "ao notebook", + "short": "Manage the session notebook (MEMORY.md)", + "use": "notebook" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum lines in MEMORY.md", + "name": "max-lines", + "origin": "local", + "required": false + }, + { + "description": "Path to MEMORY.md (auto-detected if omitted)", + "name": "memory-file", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Suppress output (for hooks)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Specific session ID to update from", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Source: auto|sessions|pending", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.notebook.update", + "output": "none", + "path": "ao notebook update", + "short": "Update MEMORY.md with latest session insights", + "use": "update" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.operator", + "output": "none", + "path": "ao operator", + "short": "BC4 OperatorPort operations (record/list operator intents)", + "use": "operator" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.operator.list", + "output": "none", + "path": "ao operator list", + "short": "List recorded operator intents (most-recent first)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "intent kind (required: halt|rescope|handoff|other)", + "name": "kind", + "origin": "local", + "required": true + }, + { + "description": "free-text note", + "name": "note", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "intent subject (e.g., bd ID, file path)", + "name": "subject", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.operator.record", + "output": "none", + "path": "ao operator record", + "short": "Record an operator intent via BC4 OperatorPort", + "use": "record --kind <kind> [--subject S] [--note N]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate", + "output": "none", + "path": "ao orchestrate", + "short": "Out-of-session orchestration instruments (windshield)", + "use": "orchestrate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON instrument result", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Profile id (dual-pane, tri-vendor)", + "name": "profile", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.preflight", + "output": "none", + "path": "ao orchestrate preflight", + "short": "Pre-run admission gate for an orchestration profile", + "use": "preflight" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON instrument result", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated models (opus,codex,agy)", + "name": "models", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Durability axis: unattended out-of-session", + "name": "unattended", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Parallel writer count", + "name": "writers", + "origin": "local", + "required": false + } + ], + "id": "ao.orchestrate.route", + "output": "none", + "path": "ao orchestrate route", + "short": "Recommend orchestration profile for out-of-session work", + "use": "route" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the selection trace as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Bypass swarm engines and run on the beads floor", + "name": "opt-out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Force a backend: ntm|claude|codex|beads (overrides --opt-out and availability)", + "name": "pin", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.select", + "output": "none", + "path": "ao orchestrate select", + "short": "Select the orchestration backend for a unit of work", + "use": "select" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Skip Agent Mail gathering", + "name": "no-am", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Execution packet path", + "name": "packet", + "origin": "local", + "required": false + }, + { + "description": "Agent Mail project key", + "name": "project", + "origin": "local", + "required": false + }, + { + "description": "Proposed shape", + "name": "proposed", + "origin": "local", + "required": false + }, + { + "description": "Durability axis", + "name": "unattended", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.shape", + "output": "none", + "path": "ao orchestrate shape", + "short": "Stamp orchestration shape onto the execution packet", + "use": "shape" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.status", + "output": "none", + "path": "ao orchestrate status", + "short": "List active ATM sessions with degraded hints", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON instrument result", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.tools", + "output": "none", + "path": "ao orchestrate tools", + "short": "Probe the orchestration tool matrix", + "use": "tools" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON instrument result", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Profile id", + "name": "profile", + "origin": "local", + "required": true + }, + { + "description": "ATM session name", + "name": "session", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.verify", + "output": "none", + "path": "ao orchestrate verify", + "short": "Post-spawn windshield for a live session", + "use": "verify" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.patterns", + "output": "none", + "path": "ao patterns", + "short": "Inspect and repair .agents/patterns/ artifacts", + "use": "patterns" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Perform renames (default: dry-run, no disk writes)", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Patterns directory to repair (default: <cwd>/.agents/patterns)", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Suppress per-rename output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.patterns.repair-filenames", + "output": "none", + "path": "ao patterns repair-filenames", + "short": "Repair doubled/tripled prefixes in .agents/patterns/ filenames", + "use": "repair-filenames" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl", + "output": "none", + "path": "ao pawl", + "short": "Cross-family membrane review and verdict tooling (the in-repo acceptance pawl)", + "use": "pawl" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.doctor", + "output": "none", + "path": "ao pawl doctor", + "short": "Read-only standing pawl preflight: assert swarm binary (ntm-first), session, pane cwd/model, trust prompts, readiness, and evidence policy", + "use": "doctor [--json] [--expected-cwd PATH] [--expected-claude-model MODEL] [--expected-codex-model MODEL]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.down", + "output": "none", + "path": "ao pawl down", + "short": "Tear down the standing pawl-service (no orphan panes)", + "use": "down" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.health", + "output": "none", + "path": "ao pawl health", + "short": "Per-pane liveness/readiness of the standing pawl-service + the membrane tier", + "use": "health [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.metrics", + "output": "none", + "path": "ao pawl metrics", + "short": "p50/p95 route latency + agreement-rate SLOs over the recorded routes", + "use": "metrics [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.reap", + "output": "none", + "path": "ao pawl reap", + "short": "Tear down the standing pawl-service iff idle > PAWL_IDLE_TTL (substrate/cron schedules it; no-op otherwise)", + "use": "reap" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "CONFIRMED — cross-family verdict written", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — auto-redo", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — strict quorum could not run at two-family strength" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.review", + "output": "none", + "path": "ao pawl review", + "short": "Run the cross-family (codex) membrane review; on CONFIRMED write the commit-bound verdict", + "use": "review <bead-id> [--scope head|staged|upstream] [--base <sha>] [--converge] [--strict] [--author-family <fam>] [--context <s>] [--smoke <cmd>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.route", + "output": "none", + "path": "ao pawl route", + "short": "Route a review packet to the warm cross-family panel; require tier-appropriate agreement, record the verdict", + "use": "route <bead> <packet> [pr]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.smoke", + "output": "none", + "path": "ao pawl smoke", + "short": "Alias for pawl doctor: non-mutating readiness smoke before routing real reviews", + "use": "smoke [--json] [--expected-cwd PATH] [--expected-claude-model MODEL] [--expected-codex-model MODEL]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.up", + "output": "none", + "path": "ao pawl up", + "short": "Stand up the standing pawl-service — adaptive: probe installed families (claude/codex/agy) and form the strongest membrane; pin with --dual/--tri/--models. Readiness-gated, idempotent", + "use": "up [--dual|--tri|--models a,b,c]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.plan-pawl", + "output": "none", + "path": "ao plan-pawl", + "short": "The plan-pawl duel gate over discovery plans (docs/contracts/pawls.md)", + "use": "plan-pawl" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "PASS — the door opens", + "2": "usage error", + "3": "REDO — auto-redo loop (no human)", + "4": "BLOCKED — a circuit breaker tripped (andon)", + "5": "DEGRADED — transient panel lane loss below quorum; retry the panel" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "directory of judge verdict *.json files", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the decision as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "a reviewer raised an explicit value/irreversibility judgment (hard breaker)", + "name": "judgment-flag", + "origin": "local", + "required": false + }, + { + "description": "max rounds before the max-attempts breaker trips (<=0 = unbounded)", + "name": "max-rounds", + "origin": "local", + "required": false + }, + { + "description": "the same failure has repeated (hard breaker)", + "name": "oscillation", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "current round (1-based)", + "name": "round", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "judge verdict: family:disposition[:warnclass] (repeatable)", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.plan-pawl.decide", + "output": "none", + "path": "ao plan-pawl decide", + "short": "Decide a duel round: PASS / REDO / BLOCKED (exit 0 / 3 / 4)", + "use": "decide" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool", + "output": "none", + "path": "ao pool", + "short": "Manage quality pools", + "use": "pool" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include gold-tier candidates when using --promote", + "name": "include-gold", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Also stage+promote eligible candidates into .agents/ (not just approval)", + "name": "promote", + "origin": "local", + "required": false + }, + { + "description": "Minimum age for auto-promotion (default: 24h)", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.auto-promote", + "output": "none", + "path": "ao pool auto-promote", + "short": "Auto-promote eligible candidates older than threshold", + "use": "auto-promote" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Promote all pending regardless of criteria", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum age for promotion eligibility", + "name": "min-age", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.batch-promote", + "output": "none", + "path": "ao pool batch-promote", + "short": "Bulk promote pending candidates to knowledge base", + "use": "batch-promote" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Directory to ingest from when no args are provided", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.ingest", + "output": "none", + "path": "ao pool ingest", + "short": "Ingest pending markdown learnings into the pool", + "use": "ingest [<files-or-globs...>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum results to return (default 50, 0 for unlimited)", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Skip first N results (for pagination)", + "name": "offset", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter by status (pending, staged, promoted, rejected)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Filter by tier (gold, silver, bronze)", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Show full IDs without truncation", + "name": "wide", + "origin": "local", + "required": false, + "shorthand": "w" + } + ], + "id": "ao.pool.list", + "output": "none", + "path": "ao pool list", + "short": "List candidates in pools", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.promote", + "output": "none", + "path": "ao pool promote", + "short": "Promote candidate to knowledge base", + "use": "promote <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print counts only; do not write to the index", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Emit structured JSON output", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.reindex", + "output": "none", + "path": "ao pool reindex", + "short": "Backfill promoted-index.jsonl from on-disk learnings/patterns", + "use": "reindex" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reason for rejection (required)", + "name": "reason", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.reject", + "output": "none", + "path": "ao pool reject", + "short": "Reject candidate", + "use": "reject <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.show", + "output": "none", + "path": "ao pool show", + "short": "Show candidate details", + "use": "show <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum tier threshold (default: bronze)", + "name": "min-tier", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.stage", + "output": "none", + "path": "ao pool stage", + "short": "Stage candidate for promotion", + "use": "stage <candidate-id>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance", + "output": "none", + "path": "ao provenance", + "short": "Write and read the SDLC provenance edge ledger", + "use": "provenance" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Optional evidence pointer (path, commit, CI run URL, event id)", + "name": "evidence", + "origin": "local", + "required": false + }, + { + "description": "Source node type (decision|artifact|bead|...)", + "name": "from-type", + "origin": "local", + "required": false + }, + { + "description": "Emit the sealed edge as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Typed PROV-O relation (required), e.g. wasGeneratedBy", + "name": "relation", + "origin": "local", + "required": false + }, + { + "description": "Target node type (decision|artifact|bead|...)", + "name": "to-type", + "origin": "local", + "required": false + }, + { + "description": "Trust tier (authored|inferred|mined)", + "name": "trust-tier", + "origin": "local", + "required": false + }, + { + "description": "Override the UTC RFC3339 timestamp (defaults to now)", + "name": "ts", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.add", + "output": "none", + "path": "ao provenance add", + "short": "Append a provenance edge to the ledger", + "use": "add <from-id> <to-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Single commit-ish to emit edges for (default HEAD when no --range)", + "name": "commit", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Resolve and print edges without writing the ledger", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Emit appended edges as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Git revision range (e.g. origin/main..HEAD); emits for every commit in it", + "name": "range", + "origin": "local", + "required": false + }, + { + "description": "Require each commit to be an ancestor of this ref (e.g. origin/main) before emitting; merge_sha uses the resolved full OID", + "name": "trunk-ref", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.emit-landed", + "output": "none", + "path": "ao provenance emit-landed", + "short": "Auto-emit bead→commit provenance edges for landed commits", + "use": "emit-landed" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Resolve and print edges without writing the ledger", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Path to the pawl-verdict JSON file (required)", + "name": "file", + "origin": "local", + "required": true + }, + { + "description": "Emit appended edges as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.emit-verdict", + "output": "none", + "path": "ao provenance emit-verdict", + "short": "Emit verdict→commit provenance edges from a pawl-verdict file", + "use": "emit-verdict" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit a single indented JSON array instead of JSONL", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Verify the re-chained export and print only a one-line summary", + "name": "verify", + "origin": "local", + "required": false + } + ], + "id": "ao.provenance.export", + "output": "none", + "path": "ao provenance export", + "short": "Emit a deterministic, hash-chained rendering of the provenance ledger", + "use": "export" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.ledger-reader-version", + "output": "none", + "path": "ao provenance ledger-reader-version", + "short": "Print this binary's ledger-reader capability level (the pre-push hook's ao-version floor probe)", + "use": "ledger-reader-version" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Filter to edges whose from_id matches", + "name": "from-id", + "origin": "local", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter to edges with this relation", + "name": "relation", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.list", + "output": "none", + "path": "ao provenance list", + "short": "Read provenance edges back from the ledger", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the session transcript (.jsonl) to mine (required)", + "name": "file", + "origin": "local", + "required": false + }, + { + "description": "Emit events as JSONL on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to the incremental watermark state JSON (created/updated; omit for a full one-shot mine)", + "name": "state", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.mine-session", + "output": "none", + "path": "ao provenance mine-session", + "short": "Mine deterministic per-inference provenance events from a session transcript", + "use": "mine-session --file <session.jsonl>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.position", + "output": "none", + "path": "ao provenance position", + "short": "Report the navigator's current position from the provenance ledger", + "use": "position" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Verdicts dir (default: <repo>/.agents/pawl-verdicts)", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Re-emit missing ledger edges for unbound verdicts", + "name": "emit", + "origin": "local", + "required": false + }, + { + "description": "Run even with an uncommitted ledger worktree", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Emit the reconcile result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.reconcile", + "output": "none", + "path": "ao provenance reconcile", + "short": "Detect (and optionally repair) verdict-file / ledger-edge desyncs", + "use": "reconcile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.show", + "output": "none", + "path": "ao provenance show", + "short": "Render the human verdict lineage for one commit or bead", + "use": "show <sha|bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the JSONL trace-graph to audit (required)", + "name": "graph", + "origin": "local", + "required": false + }, + { + "description": "Emit each finding as one JSON object per line", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Audit for artifact nodes with no inbound provenance edge", + "name": "orphans", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero when any orphan exists", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.trace", + "output": "none", + "path": "ao provenance trace", + "short": "Audit the provenance graph for orphan artifacts (no inbound edge)", + "use": "trace" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the machine-readable verify result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.verify", + "output": "none", + "path": "ao provenance verify", + "short": "Verify the committed provenance ledger's hash chain IN PLACE", + "use": "verify" + }, + { + "aliases": [ + "quickstart" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimal setup (just directories)", + "name": "minimal", + "origin": "local", + "required": false + }, + { + "description": "Skip beads initialization", + "name": "no-beads", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.quick-start", + "output": "none", + "path": "ao quick-start", + "short": "Set up AgentOps in your project (5 minutes)", + "use": "quick-start" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet", + "output": "none", + "path": "ao ratchet", + "short": "Brownian Ratchet workflow tracking", + "use": "ratchet" + }, + { + "aliases": [ + "c" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.check", + "output": "none", + "path": "ao ratchet check", + "short": "Check if step gate is met", + "use": "check <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.find", + "output": "none", + "path": "ao ratchet find", + "short": "Search for artifacts", + "use": "find <pattern>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.migrate", + "output": "none", + "path": "ao ratchet migrate", + "short": "Migrate legacy chain", + "use": "migrate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.migrate-artifacts", + "output": "none", + "path": "ao ratchet migrate-artifacts", + "short": "Add schema_version to artifacts (ol-a46.1.3)", + "use": "migrate-artifacts [path]" + }, + { + "aliases": [ + "n" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Filter by epic ID", + "name": "epic", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.next", + "output": "none", + "path": "ao ratchet next", + "short": "Show next pending RPI step", + "use": "next" + }, + { + "aliases": [ + "p" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Target tier (0-4, required)", + "name": "to", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.promote", + "output": "none", + "path": "ao ratchet promote", + "short": "Record tier promotion", + "use": "promote <artifact>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "RPI cycle number (1 for first, 2+ for iterations)", + "name": "cycle", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Input artifact path", + "name": "input", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Lock the step (engage ratchet)", + "name": "lock", + "origin": "local", + "required": false + }, + { + "description": "Output artifact path (required)", + "name": "output", + "origin": "local", + "required": true + }, + { + "description": "Parent epic ID from prior RPI cycle", + "name": "parent-epic", + "origin": "local", + "required": false + }, + { + "description": "Quality tier (0-4)", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.record", + "output": "none", + "path": "ao ratchet record", + "short": "Record step completion", + "use": "record <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reason for skipping (required)", + "name": "reason", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.skip", + "output": "none", + "path": "ao ratchet skip", + "short": "Record intentional skip", + "use": "skip <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.spec", + "output": "none", + "path": "ao ratchet spec", + "short": "Get current spec path", + "use": "spec" + }, + { + "aliases": [ + "s" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Filter by chain ID", + "name": "chain", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Filter by epic ID", + "name": "epic", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.status", + "output": "none", + "path": "ao ratchet status", + "short": "Show ratchet chain state", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.trace", + "output": "none", + "path": "ao ratchet trace", + "short": "Trace provenance backward", + "use": "trace <artifact>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Files to validate", + "name": "changes", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Allow legacy artifacts without schema_version (expires in 90 days)", + "name": "lenient", + "origin": "local", + "required": false + }, + { + "description": "Days until lenient bypass expires", + "name": "lenient-expiry", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.validate", + "output": "none", + "path": "ao ratchet validate", + "short": "Validate step requirements", + "use": "validate <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ready", + "output": "none", + "path": "ao ready", + "short": "Print harness-neutral ready bead state as JSON", + "use": "ready" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "maximum bead and run records to sample", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "GitHub repo override for gh calls (owner/name)", + "name": "repo", + "origin": "local", + "required": false + }, + { + "description": "recent .agents evidence window", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.reconcile", + "output": "none", + "path": "ao reconcile", + "short": "Join git, CI, release, beads, and .agents truth into one report", + "use": "reconcile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.redact", + "output": "none", + "path": "ao redact", + "short": "Scrub secrets from stdin to stdout (canonical redactor)", + "use": "redact" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.refinery", + "output": "none", + "path": "ao refinery", + "short": "Continuous main-validation backstop (run on bushido)", + "use": "refinery" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.refinery.once", + "output": "none", + "path": "ao refinery once", + "short": "Evaluate main HEAD once", + "use": "once" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "poll interval", + "name": "interval", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.refinery.run", + "output": "none", + "path": "ao refinery run", + "short": "Run the refinery loop until interrupted", + "use": "run" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.registry", + "output": "none", + "path": "ao registry", + "short": "Query the unified registry", + "use": "registry" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter by surface type (skills, hooks, stores, jobs, evals, cli, cadence)", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.registry.list", + "output": "none", + "path": "ao registry list", + "short": "List registry entries", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.robot-docs", + "output": "none", + "path": "ao robot-docs", + "short": "Print the paste-ready agent handbook for the ao CLI (Markdown)", + "use": "robot-docs" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope", + "output": "none", + "path": "ao scope", + "short": "Manage edit-scope guard (freeze, unfreeze, status)", + "use": "scope" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON output", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Override scope-lock path (defaults to $AO_SCOPE_LOCK or .agents/scope.lock)", + "name": "lock", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope.freeze", + "output": "none", + "path": "ao scope freeze", + "short": "Freeze one or more directories (additive)", + "use": "freeze <dir> [<dir>...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON output", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Override scope-lock path (defaults to $AO_SCOPE_LOCK or .agents/scope.lock)", + "name": "lock", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope.status", + "output": "none", + "path": "ao scope status", + "short": "Show current scope-lock state", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON output", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Override scope-lock path (defaults to $AO_SCOPE_LOCK or .agents/scope.lock)", + "name": "lock", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope.unfreeze", + "output": "none", + "path": "ao scope unfreeze", + "short": "Unfreeze one (or all if no arg) directories", + "use": "unfreeze [<dir>...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Require upstream cass session-history search", + "name": "cass", + "origin": "local", + "required": false + }, + { + "description": "Optional citation type to record for matching repo-local artifacts: retrieved, reference, applied", + "name": "cite", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum results to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Force repo-local AgentOps search only", + "name": "local", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Session ID for citation tracking (defaults to the active runtime session)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Filter by type: session(s), learning(s), pattern(s), finding(s), research, compiled, vault-source(s), decision(s), knowledge", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Try Smart Connections semantic search first (requires Obsidian)", + "name": "use-sc", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.search", + "output": "none", + "path": "ao search", + "short": "Search workspace session history and repo-local knowledge", + "use": "search <query>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite existing seed files", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Goal template: go-cli, python-lib, web-app, rust-cli, generic (default: auto-detect)", + "name": "template", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.seed", + "output": "none", + "path": "ao seed", + "short": "Plant the seed in any repository", + "use": "seed [path]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session", + "output": "none", + "path": "ao session", + "short": "Session lifecycle operations", + "use": "session" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable status as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Skip the mcp-agent-mail probe", + "name": "no-mail", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Robot mode: JSON output with tight exit-code contract for SessionStart hooks", + "name": "robot", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.bootstrap", + "output": "none", + "path": "ao session bootstrap", + "short": "Universal init prompt — every agent runs this first", + "use": "bootstrap" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Extract lightweight learnings (quality-filtered) and write handoff artifact", + "name": "auto-extract", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Session ID to close (default: most recent transcript)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.close", + "output": "none", + "path": "ao session close", + "short": "Forge transcript, extract learnings, measure flywheel impact", + "use": "close" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Auto-collect git/bead state into the artifact", + "name": "collect", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print artifact to stdout without writing file", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Epic ID for RPI context", + "name": "epic", + "origin": "local", + "required": false + }, + { + "description": "What the session was working on", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write artifact without restarting the session via tmux", + "name": "no-kill", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "RPI phase number (populates RPI context, sets type=rpi)", + "name": "rpi-phase", + "origin": "local", + "required": false + }, + { + "description": "Run ID for RPI context", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.handoff", + "output": "none", + "path": "ao session handoff", + "short": "Write a structured handoff artifact for session boundary isolation", + "use": "handoff [summary]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.memory", + "output": "none", + "path": "ao session memory", + "short": "Manage repo-root MEMORY.md for cross-runtime access", + "use": "memory" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum session entries to keep", + "name": "max-entries", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Output path (default: MEMORY.md in repo root)", + "name": "output-file", + "origin": "local", + "required": false + }, + { + "description": "Suppress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.memory.sync", + "output": "none", + "path": "ao session memory sync", + "short": "Sync session history to repo-root MEMORY.md", + "use": "sync" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the raw handoff artifact as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Read the brief without marking the handoff consumed", + "name": "peek", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.rehydrate", + "output": "none", + "path": "ao session rehydrate", + "short": "Restore a lane from its latest handoff (the read-side of handoff→clear→rehydrate)", + "use": "rehydrate" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state", + "output": "none", + "path": "ao session state", + "short": "Validate, admit, verify, and doctor AgentOps state memory", + "use": "state" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Path to an .ao Finding candidate JSON file (required)", + "name": "candidate", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Destination under .ao/accepted/findings/ (default: finding id)", + "name": "destination", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Deprecated alias for --candidate", + "name": "finding", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum age for reviewed findings", + "name": "max-age-days", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Path to an independent admission verdict JSON file (required)", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.session.state.admit", + "output": "none", + "path": "ao session state admit", + "short": "Admit one independently reviewed Finding candidate into .ao/accepted", + "use": "admit --candidate <path> --verdict <path>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.candidate", + "output": "none", + "path": "ao session state candidate", + "short": "Inspect inert .ao state candidates", + "use": "candidate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.candidate.validate", + "output": "none", + "path": "ao session state candidate validate", + "short": "Validate an inert .ao Finding candidate and print its digest", + "use": "validate <path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.doctor", + "output": "none", + "path": "ao session state doctor", + "short": "Diagnose state memory health", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.review-request", + "output": "none", + "path": "ao session state review-request", + "short": "Emit the digest-bound review request for a Finding candidate", + "use": "review-request <candidate>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.validate", + "output": "none", + "path": "ao session state validate", + "short": "Validate state memory JSON files against their schemas", + "use": "validate <file> [file...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Verify all .ao state authority surfaces", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.verify", + "output": "none", + "path": "ao session state verify", + "short": "Verify .ao state schemas, fixtures, accepted findings, and ledger rows", + "use": "verify" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.sessions", + "output": "none", + "path": "ao sessions", + "short": "Manage indexed session pages", + "use": "sessions" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Delete derived session pages whose source_jsonl no longer exists", + "name": "prune-orphans", + "origin": "local", + "required": false + }, + { + "description": "Directory containing derived session pages (default: .agents/ao/sessions)", + "name": "sessions-dir", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.sessions.index", + "output": "none", + "path": "ao sessions index", + "short": "Maintain indexed session pages", + "use": "index" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Override date for template expansion (default: today, YYYY-MM-DD)", + "name": "date", + "origin": "local", + "required": false + }, + { + "description": "Print expanded template and init steps without executing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Run init steps but skip tmux session creation", + "name": "no-tmux", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.sessions.spawn", + "output": "none", + "path": "ao sessions spawn", + "short": "Cold-start a session from a TOML template", + "use": "spawn <template-path>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills", + "output": "none", + "path": "ao skills", + "short": "Inspect and validate the skills/ tree", + "use": "skills" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Restrict the audit to a single skill name", + "name": "skill", + "origin": "local", + "required": false + }, + { + "description": "Exit non-zero on any finding (CI mode)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.check", + "output": "none", + "path": "ao skills check", + "short": "Audit skills/ frontmatter, references, and codex parity", + "use": "check" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.consumers", + "output": "none", + "path": "ao skills consumers", + "short": "List skills that consume the named skill", + "use": "consumers <skill>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit", + "output": "none", + "path": "ao skills edit", + "short": "Seal and summarize live skill edits", + "use": "edit" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Critical skills policy file (default: docs/contracts/critical-skills.txt)", + "name": "critical-policy", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "git log --since value", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit.digest", + "output": "none", + "path": "ao skills edit digest", + "short": "Summarize recent committed skill edits", + "use": "digest" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Agent/operator name recorded in the commit body", + "name": "actor", + "origin": "local", + "required": false + }, + { + "description": "Allow a critical skill edit; use only for human-supervised edits", + "name": "allow-critical", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Critical skills policy file (default: docs/contracts/critical-skills.txt)", + "name": "critical-policy", + "origin": "local", + "required": false + }, + { + "description": "Check policy and print the commit action without staging or committing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Commit subject (default: chore(skills): update <skill> via live edit)", + "name": "message", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Skill slug under skills/<slug> to seal", + "name": "skill", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit.seal", + "output": "none", + "path": "ao skills edit seal", + "short": "Commit one live skill edit with critical-skill protection", + "use": "seal" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Maximum number of results to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.find", + "output": "none", + "path": "ao skills find", + "short": "Rank skills by how well they match a free-text intent", + "use": "find <intent>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Graph output format (mermaid|json)", + "name": "format", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.graph", + "output": "none", + "path": "ao skills graph", + "short": "Render the generated skill dependency graph", + "use": "graph" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Link into this single dir instead of the auto-detected runtimes (default: every installed runtime — ~/.claude, ~/.codex, ~/.gemini, ~/.cursor, ~/.pi)", + "name": "dest", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.link", + "output": "none", + "path": "ao skills link", + "short": "Symlink repo skills into every installed runtime's live tier (Claude, Codex, AGY, Cursor)", + "use": "link" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Filter to skills that consume this port/sibling", + "name": "consumes", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter to skills that apply this practice", + "name": "practice", + "origin": "local", + "required": false + }, + { + "description": "Filter to skills that produce this port/artifact", + "name": "produces", + "origin": "local", + "required": false + }, + { + "description": "Filter by hexagonal_role (domain, driving-adapter, ...)", + "name": "role", + "origin": "local", + "required": false + }, + { + "description": "Filter by user-invocability (true|false)", + "name": "user-invocable", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.list", + "output": "none", + "path": "ao skills list", + "short": "Query the generated skill catalog (skills/catalog.json)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.producers", + "output": "none", + "path": "ao skills producers", + "short": "List skills that produce the named port/artifact", + "use": "producers <output>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero when ME overlaps are found (CI dedup gate)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.resolve", + "output": "none", + "path": "ao skills resolve", + "short": "MECE audit: flag overlapping skills (merge candidates) and coverage gaps", + "use": "resolve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Allow retiring a slug listed in docs/contracts/critical-skills.txt", + "name": "allow-critical", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report every planned operation without mutating anything", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Target skill the retiree merges into (historical state merged-into; default: cut)", + "name": "into", + "origin": "local", + "required": false + }, + { + "description": "Emit a machine-readable JSON report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Skip the regen scripts after the ledger flip", + "name": "no-regen", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.retire", + "output": "none", + "path": "ao skills retire", + "short": "Retire a skill: remove its trees, flip the dispositions ledger, regen, and report ripples", + "use": "retire <slug>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.status", + "output": "none", + "path": "ao status", + "short": "Show AgentOps status", + "use": "status" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick", + "output": "none", + "path": "ao tick", + "short": "Typed port of the assured loop tick oracle", + "use": "tick" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.claim", + "output": "none", + "path": "ao tick claim", + "short": "Claim a bead through br", + "use": "claim <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.close", + "output": "none", + "path": "ao tick close", + "short": "Close a bead and persist the explicit ledger/evidence paths", + "use": "close <id> <commit-message> <evidence-ref> [paths...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.council-gate", + "output": "none", + "path": "ao tick council-gate", + "short": "Fail-closed two-plus judge verdict aggregation", + "use": "council-gate <verdict1> <verdict2> [...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.guard-status", + "output": "none", + "path": "ao tick guard-status", + "short": "Verify guard hook and validator launcher installation", + "use": "guard-status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.install-guards", + "output": "none", + "path": "ao tick install-guards", + "short": "Install repo-local git guard hooks", + "use": "install-guards" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.next", + "output": "none", + "path": "ao tick next", + "short": "Print the next ready bead id", + "use": "next" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.reopen", + "output": "none", + "path": "ao tick reopen", + "short": "Reopen a bead after failed validation", + "use": "reopen <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.smoke", + "output": "none", + "path": "ao tick smoke", + "short": "Run a read-only smoke test of the tick membrane", + "use": "smoke" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.status", + "output": "none", + "path": "ao tick status", + "short": "Print ready-work status or convergence state", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.verdict-gate", + "output": "none", + "path": "ao tick verdict-gate", + "short": "Reject verdicts without commands and independent judge identity", + "use": "verdict-gate <file|->" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Show ASCII provenance graph", + "name": "graph", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.trace", + "output": "none", + "path": "ao trace", + "short": "Track artifact provenance", + "use": "trace <artifact-path>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.turn", + "output": "none", + "path": "ao turn", + "short": "Evidenced-Turn operations (the enforced unit-of-work definition-of-done)", + "use": "turn" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Waive the no-self-grading invariant (permit judge_id == author_id) for the inline fallback; default OFF", + "name": "allow-self", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the provenance trace-graph JSONL (node/edge records) for orphan detection", + "name": "graph", + "origin": "local", + "required": false + }, + { + "description": "Path to the turn-input JSON file (state log + scenario coverage) (required)", + "name": "input", + "origin": "local", + "required": false + }, + { + "description": "Emit the full Verdict object as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Path to the provenance EDGE ledger JSONL (default: docs/provenance/ledger.jsonl)", + "name": "ledger", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.turn.verify", + "output": "none", + "path": "ao turn verify", + "short": "Verify a bead's Evidenced-Turn definition-of-done (legible pass/fail)", + "use": "verify <bead>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Validate artifacts bound to a bead id", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Explicit files to validate", + "name": "changes", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Exit-code mode: 0=PASS/WARN, 1=FAIL, 2=error", + "name": "gate", + "origin": "local", + "required": false + }, + { + "description": "Structured verdict (honored in both modes)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Allow legacy artifacts without schema_version", + "name": "lenient", + "origin": "local", + "required": false + }, + { + "description": "Days until lenient bypass expires", + "name": "lenient-expiry", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Promote WARN to FAIL (exit 1)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Alias for --strict", + "name": "warn-as-fail", + "origin": "local", + "required": false + } + ], + "id": "ao.validate", + "output": "none", + "path": "ao validate", + "short": "Umbrella validation gate (exit-code-as-verdict with --gate)", + "use": "validate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verdict-gate", + "output": "none", + "path": "ao verdict-gate", + "short": "Reject verdicts without commands and independent judge identity", + "use": "verdict-gate <file|->" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "CONFIRMED — verdict written and bound to the commit", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — defects printed; fix and re-run", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — committed policy is invalid or strict quorum cannot run at two-family strength" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify", + "output": "none", + "path": "ao verify", + "short": "Independent cross-family verdict on your change — no verdict = not done", + "use": "verify <change-id> [--scope head|staged] [--converge] [--strict] [--author-family <fam>] [--context <s>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Uninstall the ratchet, restoring any pre-existing pre-push hook byte-identically", + "name": "remove", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.init", + "output": "none", + "path": "ao verify init", + "short": "Install the portable pre-push verdict ratchet (a local hook enforcing no verdict = not done)", + "use": "init [--remove]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.receipts", + "output": "none", + "path": "ao verify receipts", + "short": "Render this repo's membrane-receipts proof page from its provenance ledger", + "use": "receipts" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Trailing window in days for the trend section (<=0 = all time)", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Ledger path override (default: repo docs/provenance/ledger.jsonl)", + "name": "ledger", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.stats", + "output": "none", + "path": "ao verify stats", + "short": "Cost-of-verified-done instrument, derived entirely from the provenance ledger", + "use": "stats" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.version", + "output": "none", + "path": "ao version", + "short": "Show version information", + "use": "version" + }, + { + "aliases": [ + "vibecheck" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Show all metrics and findings (verbose)", + "name": "full", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output as markdown report", + "name": "markdown", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to git repository", + "name": "repo", + "origin": "local", + "required": false + }, + { + "description": "Time window for analysis (e.g., 7d, 30d, 90d)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.vibe-check", + "output": "none", + "path": "ao vibe-check", + "short": "Analyze codebase health and vibe", + "use": "vibe-check" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki", + "output": "none", + "path": "ao wiki", + "short": "Unified wiki knowledge surface (experimental)", + "use": "wiki" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.add", + "output": "none", + "path": "ao wiki add", + "short": "Add source files into the active wiki workspace's raw/ + registry", + "use": "add <file|dir>..." + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Corpus base directory (default: current directory)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.doctor", + "output": "none", + "path": "ao wiki doctor", + "short": "Diagnose the wiki corpus and index (experimental)", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "override the promotion confidence floor (default 0.70)", + "name": "confidence-floor", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "report what would be promoted without writing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "emit stats as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "output directory for the OKF gold wiki", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.gold", + "output": "none", + "path": "ao wiki gold", + "short": "Compile .agents/ into a sanitized OKF wiki under .ao/wiki/ (experimental)", + "use": "gold" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Corpus base directory (default: current directory)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Index the OKF gold wiki (.ao/wiki) instead of the raw .agents/ corpus", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.index", + "output": "none", + "path": "ao wiki index", + "short": "Build or refresh the persistent wiki document index (experimental)", + "use": "index" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Primary language for the wiki (recorded in config)", + "name": "language", + "origin": "local", + "required": false + }, + { + "description": "Model the wiki is initialized for (recorded in config)", + "name": "model", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.init", + "output": "none", + "path": "ao wiki init", + "short": "Scaffold an OpenKB-style wiki workspace (layout + config + schema)", + "use": "init [path]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.inject", + "output": "none", + "path": "ao wiki inject", + "short": "Assemble just-in-time context (experimental; see ao inject)", + "use": "inject" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Apply safe deterministic repairs (strip dangling wikilinks); read-only without this flag", + "name": "fix", + "origin": "local", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Run the legacy WikiPipeline LINT stage instead of the structural health check", + "name": "pipeline-stage", + "origin": "local", + "required": false + }, + { + "description": "Vault root (default: current directory)", + "name": "vault", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.lint", + "output": "none", + "path": "ao wiki lint", + "short": "Run the wiki pipeline LINT stage (experimental)", + "use": "lint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Filter to one frontmatter type (e.g. concept, entity, summary)", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.list", + "output": "none", + "path": "ao wiki list", + "short": "List the pages in the active wiki workspace (optionally by type)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Vault root (default: current directory)", + "name": "vault", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.promote", + "output": "none", + "path": "ao wiki promote", + "short": "Run the wiki pipeline PROMOTE stage (experimental)", + "use": "promote" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "bead whose CONFIRMED verdict for HEAD authorizes real publish (required without --dry-run)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "override the promotion confidence floor", + "name": "confidence-floor", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "compute + leak-scan the candidate without publishing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "fail closed unless the recomputed digest matches this (publish exactly what dry-run reviewed)", + "name": "expect-digest", + "origin": "local", + "required": false + }, + { + "description": "emit the candidate report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.publish", + "output": "none", + "path": "ao wiki publish", + "short": "Publish the gold wiki behind the membrane gate (leak-scan + commit verdict)", + "use": "publish" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Vault root (default: current directory)", + "name": "vault", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.query", + "output": "none", + "path": "ao wiki query", + "short": "Run the wiki pipeline QUERY stage (experimental)", + "use": "query" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Recompile the whole workspace", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "List sources that would be recompiled without writing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Also rewrite the workspace config/schema", + "name": "refresh-schema", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.recompile", + "output": "none", + "path": "ao wiki recompile", + "short": "Recompile workspace sources (re-run the ingest/compile stage)", + "use": "recompile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report artifacts that would be removed without deleting", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Leave the raw/ source file in place", + "name": "keep-raw", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.remove", + "output": "none", + "path": "ao wiki remove", + "short": "Remove a source and its derived artifacts from the workspace", + "use": "remove <doc>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Corpus base directory (default: current directory)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Search the OKF gold wiki (.ao/wiki) instead of the raw .agents/ corpus", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum results to print", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Rebuild the index before searching", + "name": "reindex", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.search", + "output": "none", + "path": "ao wiki search", + "short": "Rank indexed wiki documents against a query (experimental)", + "use": "search <query>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.status", + "output": "none", + "path": "ao wiki status", + "short": "Summarize page counts and structural health of the active wiki", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.use", + "output": "none", + "path": "ao wiki use", + "short": "Select (or show) the active wiki workspace for subsequent commands", + "use": "use [path]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.worktree", + "output": "none", + "path": "ao worktree", + "short": "Worktree maintenance utilities", + "use": "worktree" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {path, run_id} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.worktree.create", + "output": "none", + "path": "ao worktree create", + "short": "Create an isolated per-session worktree for concurrency-safe work", + "use": "create" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Clean stale ao-rpi tmux sessions without active run/worktree", + "name": "clean-tmux", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Also clean worktrees with uncommitted changes (unsafe)", + "name": "include-dirty", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run 'git worktree prune' after cleanup", + "name": "prune", + "origin": "local", + "required": false + }, + { + "description": "Only clean worktrees/sessions older than this age", + "name": "stale-after", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.worktree.gc", + "output": "none", + "path": "ao worktree gc", + "short": "Garbage-collect stale RPI worktrees and orphaned tmux sessions", + "use": "gc" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield", + "output": "none", + "path": "ao yield", + "short": "Record dynamo yield-ledger events (per-bead operational stream)", + "use": "yield" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "bead id this event is keyed to (required)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "the typed body object as a single JSON blob", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "factory run/cycle id (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "optional RFC3339 timestamp; defaults to now (UTC)", + "name": "ts", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.emit", + "output": "none", + "path": "ao yield emit", + "short": "Append one accept|gate-verdict|usage event to the yield ledger", + "use": "emit <accept|gate-verdict|usage> --bead <id> --run <id> [--json <body> | typed flags]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "ag-8p8o's published corpus delta (C); omit to report C as pending", + "name": "c-delta", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the computed gauges as JSON for machine consumption", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "factory run/cycle id to compute gauges for (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.gauge", + "output": "none", + "path": "ao yield gauge", + "short": "Compute the yield gauges (A, Q, A/R, E, L) for a run + print shadow-mode hypotheses", + "use": "gauge --run <id> [--json] [--c-delta <float>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the full report struct as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "cutoff: an RFC3339 instant or a duration lookback like 8h (default 24h)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.report", + "output": "none", + "path": "ao yield report", + "short": "The on-the-loop governance surface: the YIELD and the ANDON QUEUE since a cutoff", + "use": "report [--since <RFC3339|duration>] [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit {\"tokens_in\":N,\"tokens_out\":M} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "emit two whitespace-separated values: tokens_in tokens_out", + "name": "pair", + "origin": "local", + "required": false + }, + { + "description": "path to a session transcript (JSONL) to sum tokens from (required)", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.tokens", + "output": "none", + "path": "ao yield tokens", + "short": "Sum the real tokens_in/tokens_out from a session transcript (for a usage event)", + "use": "tokens --transcript <path> [--json]" + } + ], + "contract_version": "1.1", + "env_vars": { + "AGENTOPS_ACTOR": "AgentOps runtime input: actor", + "AGENTOPS_ACTOR_EMAIL": "AgentOps runtime input: actor email", + "AGENTOPS_AUTO_PRUNE": "AgentOps runtime input: auto prune", + "AGENTOPS_BASE_DIR": "AgentOps runtime input: base dir", + "AGENTOPS_CANON_JUDGE": "AgentOps runtime input: canon judge", + "AGENTOPS_CANON_VERIFIER_CMD": "AgentOps runtime input: canon verifier cmd", + "AGENTOPS_COMPILE_RUNTIME": "AgentOps runtime input: compile runtime", + "AGENTOPS_CONFIG": "path to the config file (overridden by --config)", + "AGENTOPS_COUNCIL_MODEL_TIER": "AgentOps runtime input: council model tier", + "AGENTOPS_DEDUP_CONFIRM_THRESHOLD": "AgentOps runtime input: dedup confirm threshold", + "AGENTOPS_DREAM_CURATOR_ENABLED": "AgentOps runtime input: dream curator enabled", + "AGENTOPS_DREAM_CURATOR_ENGINE": "AgentOps runtime input: dream curator engine", + "AGENTOPS_DREAM_CURATOR_MODEL": "AgentOps runtime input: dream curator model", + "AGENTOPS_DREAM_CURATOR_OLLAMA_URL": "AgentOps runtime input: dream curator ollama url", + "AGENTOPS_DREAM_CURATOR_VAULT_DIR": "AgentOps runtime input: dream curator vault dir", + "AGENTOPS_DREAM_CURATOR_WORKER_DIR": "AgentOps runtime input: dream curator worker dir", + "AGENTOPS_DREAM_KEEP_AWAKE": "AgentOps runtime input: dream keep awake", + "AGENTOPS_DREAM_REPORT_DIR": "AgentOps runtime input: dream report dir", + "AGENTOPS_DREAM_RUN_TIMEOUT": "AgentOps runtime input: dream run timeout", + "AGENTOPS_EVALS_ROOT": "AgentOps runtime input: evals root", + "AGENTOPS_EVALS_VENV": "AgentOps runtime input: evals venv", + "AGENTOPS_EVICTION_DISABLED": "AgentOps runtime input: eviction disabled", + "AGENTOPS_FLYWHEEL_AUTO_PROMOTE_THRESHOLD": "AgentOps runtime input: flywheel auto promote threshold", + "AGENTOPS_FORGE_LEGACY_LOCAL_LLM": "AgentOps runtime input: forge legacy local llm", + "AGENTOPS_FORGE_TIER1_DISABLE": "AgentOps runtime input: forge tier1 disable", + "AGENTOPS_FORGE_TYPED": "AgentOps runtime input: forge typed", + "AGENTOPS_GATE_RANGE": "AgentOps runtime input: gate range", + "AGENTOPS_HOLDOUT_EVALUATOR": "AgentOps runtime input: holdout evaluator", + "AGENTOPS_HOOKS_DISABLED": "AgentOps runtime input: hooks disabled", + "AGENTOPS_LEGACY": "AgentOps runtime input: legacy", + "AGENTOPS_LLM_ENDPOINT": "AgentOps runtime input: llm endpoint", + "AGENTOPS_MODEL_TIER": "AgentOps runtime input: model tier", + "AGENTOPS_NO_SC": "AgentOps runtime input: no sc", + "AGENTOPS_ORCHESTRATION": "set to off to disable spawning and use the single-agent beads floor", + "AGENTOPS_OUTPUT": "AgentOps runtime input: output", + "AGENTOPS_REDACTION_DENYLIST": "AgentOps runtime input: redaction denylist", + "AGENTOPS_REPO_ROOT": "AgentOps runtime input: repo root", + "AGENTOPS_RESERVATION_ID": "AgentOps runtime input: reservation id", + "AGENTOPS_RETRIEVAL_RERANK_ENDPOINT": "AgentOps runtime input: retrieval rerank endpoint", + "AGENTOPS_RPI_AO_COMMAND": "AgentOps runtime input: rpi ao command", + "AGENTOPS_RPI_BD_COMMAND": "AgentOps runtime input: rpi bd command", + "AGENTOPS_RPI_MERGE_RETRY_DELAY": "AgentOps runtime input: rpi merge retry delay", + "AGENTOPS_RPI_RUNTIME": "AgentOps runtime input: rpi runtime", + "AGENTOPS_RPI_RUNTIME_COMMAND": "AgentOps runtime input: rpi runtime command", + "AGENTOPS_RPI_RUNTIME_MODE": "AgentOps runtime input: rpi runtime mode", + "AGENTOPS_RPI_TMUX_COMMAND": "AgentOps runtime input: rpi tmux command", + "AGENTOPS_RPI_WORKTREE_MODE": "AgentOps runtime input: rpi worktree mode", + "AGENTOPS_TRACKER": "force the selected tracker backend when supported", + "AGENTOPS_TRUST_REPO": "AgentOps runtime input: trust repo", + "AGENTOPS_VERBOSE": "AgentOps runtime input: verbose", + "AGENTOPS_VERIFY_PREPUSH_SKIP": "AgentOps runtime input: verify prepush skip", + "AO_AGENTS_DIR": "ao command/runtime input: agents dir", + "AO_BIN": "ao command/runtime input: bin", + "AO_CITATION_NAMESPACE": "ao command/runtime input: citation namespace", + "AO_CONTEXT_VARIANT": "ao command/runtime input: context variant", + "AO_COUNCIL_DIR": "ao command/runtime input: council dir", + "AO_DECISIONS_DIR": "ao command/runtime input: decisions dir", + "AO_DEPOSIT_GATE": "ao command/runtime input: deposit gate", + "AO_DOCTOR_BACKUPS_DIR": "ao command/runtime input: doctor backups dir", + "AO_DOCTOR_HEAL_TIMEOUT": "ao command/runtime input: doctor heal timeout", + "AO_DOCTOR_LOG_LEVEL": "trace|debug|info|warn|error — verbosity of the doctor surface", + "AO_FINDINGS_DIR": "ao command/runtime input: findings dir", + "AO_HOME": "ao command/runtime input: home", + "AO_HOOKS_DIR": "ao command/runtime input: hooks dir", + "AO_KNOWLEDGE_ROOT": "ao command/runtime input: knowledge root", + "AO_LAND_REEXECED": "ao command/runtime input: land reexeced", + "AO_LAND_REVIEW_BASE": "ao command/runtime input: land review base", + "AO_LEARNINGS_DIR": "ao command/runtime input: learnings dir", + "AO_MAX_PROMOTIONS": "ao command/runtime input: max promotions", + "AO_PATTERNS_DIR": "ao command/runtime input: patterns dir", + "AO_PLANS_DIR": "ao command/runtime input: plans dir", + "AO_RESERVATION_ID": "ao command/runtime input: reservation id", + "AO_RETRIEVAL_EPSILON": "ao command/runtime input: retrieval epsilon", + "AO_RPI_DIR": "ao command/runtime input: rpi dir", + "AO_SCOPE_LOCK": "ao command/runtime input: scope lock", + "AO_SESSION_ID": "ao command/runtime input: session id", + "NO_COLOR": "disable ANSI styling on all output", + "PAWL_AUTHOR_FAMILY": "pawl review/runtime input: author family", + "PAWL_AUTOBIND": "enable or disable automatic provenance binding after an authorizing verdict", + "PAWL_BUNDLE_STATUS": "pawl review/runtime input: bundle status", + "PAWL_DRY_RUN": "pawl review/runtime input: dry run", + "PAWL_IDLE_TTL": "pawl review/runtime input: idle ttl", + "PAWL_LABEL": "pawl review/runtime input: label", + "PAWL_NO_SERVICE": "pawl review/runtime input: no service", + "PAWL_PROJECT": "pawl review/runtime input: project", + "PAWL_REVIEWER_CHAIN": "pawl review/runtime input: reviewer chain", + "PAWL_REVIEW_TIMEOUT": "pawl review/runtime input: review timeout", + "PAWL_SESSION": "pawl review/runtime input: session", + "PAWL_SMOKE_CMD": "pawl review/runtime input: smoke cmd", + "PAWL_STRICT": "require the strict pawl quorum; unavailable quorum HOLDs instead of degrading", + "PAWL_UNTRUSTED_REPO": "pawl review/runtime input: untrusted repo" + }, + "exit_codes": { + "0": "success", + "1": "error: usage error, runtime failure, or — for diagnostic commands — findings present", + "2": "diagnostic: partial result or bead claimed (command-specific; see that command's --help)" + }, + "global_flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config" + }, + { + "description": "Show what would happen without executing", + "name": "dry-run" + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json" + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "shorthand": "v" + } + ], + "output_formats": [ + "table", + "json", + "yaml" + ], + "platform": { + "arch": "<normalized>", + "os": "<normalized>" + }, + "robot_surfaces": { + "capabilities": "ao capabilities — this contract", + "doctor_capabilities": "ao doctor capabilities — extended doctor contract + exit codes", + "doctor_triage": "ao doctor --robot-triage — mega-command health triage JSON", + "json_everywhere": "append --json (or -o json) to any read-side command for structured output", + "robot_docs": "ao robot-docs — paste-ready agent handbook (Markdown)" + }, + "schema_version": "1.1", + "tool": "ao", + "tool_version": "<normalized>" +} diff --git a/cli/testdata/compatibility-baseline/v2/profiles/default.json b/cli/testdata/compatibility-baseline/v2/profiles/default.json new file mode 100644 index 000000000..ede4b804c --- /dev/null +++ b/cli/testdata/compatibility-baseline/v2/profiles/default.json @@ -0,0 +1,10457 @@ +{ + "command_exit_codes": { + "governor budget": { + "0": "ship — within error budget", + "3": "HARDEN — burn-rate over tolerance; stop the line" + }, + "pawl review": { + "0": "CONFIRMED — cross-family verdict written", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — auto-redo", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — strict quorum could not run at two-family strength" + }, + "plan-pawl decide": { + "0": "PASS — the door opens", + "2": "usage error", + "3": "REDO — auto-redo loop (no human)", + "4": "BLOCKED — a circuit breaker tripped (andon)", + "5": "DEGRADED — transient panel lane loss below quorum; retry the panel" + }, + "verify": { + "0": "CONFIRMED — verdict written and bound to the commit", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — defects printed; fix and re-run", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — committed policy is invalid or strict quorum cannot run at two-family strength" + } + }, + "command_groups": [ + { + "commands": [ + { + "name": "init", + "short": "Initialize AgentOps in the current repository" + }, + { + "name": "quick-start", + "short": "Set up AgentOps in your project (5 minutes)" + } + ], + "id": "start", + "title": "Getting Started:" + }, + { + "commands": [ + { + "name": "capabilities", + "short": "Print the machine-readable CLI contract (JSON)" + }, + { + "name": "claim", + "short": "Claim a BR bead or manage claim-evidence bindings" + }, + { + "name": "doctor", + "short": "Check AgentOps health" + }, + { + "name": "gate", + "short": "Human review gates" + }, + { + "name": "robot-docs", + "short": "Print the paste-ready agent handbook for the ao CLI (Markdown)" + }, + { + "name": "status", + "short": "Show AgentOps status" + }, + { + "name": "version", + "short": "Show version information" + } + ], + "id": "core", + "title": "Core Commands:" + }, + { + "commands": [ + { + "name": "eval", + "short": "Run deterministic local evaluation suites" + }, + { + "name": "goals", + "short": "Fitness goal measurement and validation" + }, + { + "name": "land", + "short": "Land a bead through the trusted pawl path with a fresh in-checkout binary, then atomic pawl-land" + }, + { + "name": "session", + "short": "Session lifecycle operations" + }, + { + "name": "validate", + "short": "Umbrella validation gate (exit-code-as-verdict with --gate)" + } + ], + "id": "workflow", + "title": "Workflow:" + }, + { + "commands": [ + { + "name": "config", + "short": "Manage configuration" + } + ], + "id": "config", + "title": "Configuration:" + }, + { + "commands": [ + { + "name": "beads", + "short": "Complementary tooling for the bd (beads) issue tracker" + }, + { + "name": "membrane", + "short": "Self-improving membrane: turn escapes into membrane checks" + } + ], + "id": "knowledge", + "title": "Knowledge:" + }, + { + "commands": [ + { + "name": "close", + "short": "Close a bead and persist the explicit ledger/evidence paths" + }, + { + "name": "council-gate", + "short": "Fail-closed two-plus judge verdict aggregation" + }, + { + "name": "done", + "short": "Close a bead with a verdict-referenced stamp — no verdict = not done" + }, + { + "name": "governor", + "short": "The membrane's SPC control-loop governor (error budget, special-cause)" + }, + { + "name": "pawl", + "short": "Cross-family membrane review and verdict tooling (the in-repo acceptance pawl)" + }, + { + "name": "plan-pawl", + "short": "The plan-pawl duel gate over discovery plans (docs/contracts/pawls.md)" + }, + { + "name": "provenance", + "short": "Write and read the SDLC provenance edge ledger" + }, + { + "name": "ready", + "short": "Print harness-neutral ready bead state as JSON" + }, + { + "name": "skills", + "short": "Inspect and validate the skills/ tree" + }, + { + "name": "verdict-gate", + "short": "Reject verdicts without commands and independent judge identity" + }, + { + "name": "verify", + "short": "Independent cross-family verdict on your change — no verdict = not done" + }, + { + "name": "yield", + "short": "Record dynamo yield-ledger events (per-bead operational stream)" + } + ], + "id": "", + "title": "Additional Commands:" + } + ], + "commands": [ + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads", + "output": "none", + "path": "ao beads", + "short": "Complementary tooling for the bd (beads) issue tracker", + "use": "beads" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Close likely-fixed beads when commit or file-change evidence is found", + "name": "auto-close", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit audit report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit 1 when any likely-fixed, likely-stale, or consolidatable bead is found", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.audit", + "output": "none", + "path": "ao beads audit", + "short": "Audit open beads for likely-fixed, stale, or consolidatable work", + "use": "audit" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Reparent non-representative beads under the cluster representative", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit cluster report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.cluster", + "output": "none", + "path": "ao beads cluster", + "short": "Suggest consolidation clusters for overlapping open beads", + "use": "cluster" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {beads_dir, source} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Fail closed: exit non-zero (printing nothing to stdout) unless the resolved directory holds a br ledger", + "name": "require", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.dir", + "output": "none", + "path": "ao beads dir", + "short": "Print the resolved live br ledger directory", + "use": "dir" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as a JSON object instead of a human-readable line.", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Map the verdict to the process exit code (0 terminal / 2 not-terminal / 3 skipped).", + "name": "terminal", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.epic-status", + "output": "none", + "path": "ao beads epic-status", + "short": "Deterministic group-terminality verdict for an epic/wave", + "use": "epic-status <epic-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.exec", + "output": "none", + "path": "ao beads exec", + "short": "Run a bead CRUD command against whichever tracker (bd or br) this environment uses", + "use": "exec [args...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print the learning content to stdout without writing a file", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Directory to write the learning file into", + "name": "out-dir", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.harvest", + "output": "none", + "path": "ao beads harvest", + "short": "Materialize a closed bead's reason as a structured learning file", + "use": "harvest <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit lint report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "bd status filter (open, closed, all)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.lint", + "output": "none", + "path": "ao beads lint", + "short": "Batch-verify every open bead (or filtered set) against HEAD", + "use": "lint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "New claimant id (defaults to BEADS_ACTOR env var, else ao-beads-resume).", + "name": "agent", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the claim_transferred event to stdout (always written to ledger).", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Path to the provenance ledger (relative to repo root).", + "name": "ledger", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.resume", + "output": "none", + "path": "ao beads resume", + "short": "Atomically transfer an in_progress claim from a stale agent to this one", + "use": "resume <bead-id>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.scenarios", + "output": "none", + "path": "ao beads scenarios", + "short": "[DEPRECATED — use 'ao beads verify-acceptance'] Convert bead acceptance criteria into Gherkin scenarios", + "use": "scenarios" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Extract even when the bead already has a '## Scenarios' block", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Emit extracted scenarios as JSON (data on stdout) instead of a Gherkin block", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "After printing the block and an operator y/N confirmation, append it to the bead via 'bd update'", + "name": "write", + "origin": "local", + "required": false + } + ], + "id": "ao.beads.scenarios.extract", + "output": "none", + "path": "ao beads scenarios extract", + "short": "Print a candidate Gherkin '## Scenarios' block from a bead's acceptance (dry-run)", + "use": "extract <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit a structured validation verdict as JSON on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.scenarios.validate", + "output": "none", + "path": "ao beads scenarios validate", + "short": "Check that a bead's authored '## Scenarios' block is well-formed Gherkin", + "use": "validate <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON array conforming to stale-claim-event.v1 (event_type: stale_detected).", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Staleness threshold in hours (claim updated more than N hours ago).", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.stale-claims", + "output": "none", + "path": "ao beads stale-claims", + "short": "List in_progress beads whose claim looks stale", + "use": "stale-claims" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {tracker, binary, ledger_dir, source} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.tracker", + "output": "none", + "path": "ao beads tracker", + "short": "Print the resolved beads tracker (bd or br) for this environment", + "use": "tracker" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit verification report as JSON instead of human-readable text", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Include FRESH citations in the output (default: stale only)", + "name": "verbose", + "origin": "local", + "required": false + } + ], + "id": "ao.beads.verify", + "output": "none", + "path": "ao beads verify", + "short": "Detect stale citations in a bead description (files, functions, symbols)", + "use": "verify <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit verdicts as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero on any FAIL or UNDEFINED verdict", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.verify-acceptance", + "output": "none", + "path": "ao beads verify-acceptance", + "short": "Assert each bead carries the acceptance contract for its type (br-native)", + "use": "verify-acceptance <bead-id>..." + }, + { + "args": "range", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "help for capabilities", + "name": "help", + "origin": "local", + "required": false, + "shorthand": "h" + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.capabilities", + "output": "structured", + "path": "ao capabilities", + "short": "Print the machine-readable CLI contract (JSON)", + "use": "capabilities" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim", + "output": "none", + "path": "ao claim", + "short": "Claim a BR bead or manage claim-evidence bindings", + "use": "claim [id]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "optional in-file anchors (repeatable)", + "name": "anchor", + "origin": "local", + "required": false + }, + { + "description": "artifact author identity for reviewer separation checks", + "name": "author-id", + "origin": "local", + "required": false + }, + { + "description": "claim ID (required, e.g. AOP-CLAIM-X)", + "name": "claim", + "origin": "local", + "required": true + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "judge/verifier identity for reviewer separation checks", + "name": "judge-id", + "origin": "local", + "required": false + }, + { + "description": "promotion level: PG1|PG2|PG3|PG4", + "name": "level", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "evidence file path (required, relative to repo root)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.bind", + "output": "none", + "path": "ao claim bind", + "short": "Bind a claim to an evidence file at a promotion level", + "use": "bind --claim <AOP-CLAIM-X> --path <evidence-path> [--level PG1|PG2|PG3|PG4] [--anchor ...] [--author-id <id> --judge-id <id>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "base ref for --changed comparison", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "check claim markers in files changed against --base plus worktree changes", + "name": "changed", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.check", + "output": "none", + "path": "ao claim check", + "short": "Report proof cards for changed public claims", + "use": "check --changed [--base <ref>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.list", + "output": "none", + "path": "ao claim list", + "short": "List recorded claim→evidence bindings (most-recent first)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.close", + "output": "none", + "path": "ao close", + "short": "Close a bead and persist the explicit ledger/evidence paths", + "use": "close <id> <commit-message> <evidence-ref> [paths...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Show resolved configuration with sources", + "name": "show", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.config", + "output": "none", + "path": "ao config", + "short": "Manage configuration", + "use": "config" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Set a skill-specific tier override (e.g. council=quality)", + "name": "set-skill", + "origin": "local", + "required": false + }, + { + "description": "Set the default model cost tier (quality, balanced, budget)", + "name": "set-tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.config.models", + "output": "none", + "path": "ao config models", + "short": "Show model cost tier configuration", + "use": "models" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.council-gate", + "output": "none", + "path": "ao council-gate", + "short": "Fail-closed two-plus judge verdict aggregation", + "use": "council-gate <verdict1> <verdict2> [...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "With --fix: print the plan, change nothing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Expand a single finding by id", + "name": "explain", + "origin": "local", + "required": false + }, + { + "description": "Apply fixers for findings (routes through mutate())", + "name": "fix", + "origin": "local", + "required": false + }, + { + "description": "Output results as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Enable network probes (default: offline-only)", + "name": "online", + "origin": "local", + "required": false + }, + { + "description": "Scope to a subset of detectors or subsystems", + "name": "only", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run only fast-path detectors (< 200ms)", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Alias for --json with structured wrapper", + "name": "robot", + "origin": "local", + "required": false + }, + { + "description": "Emit the mega-command triage JSON", + "name": "robot-triage", + "origin": "local", + "required": false + }, + { + "description": "Minimum severity to emit (P0|P1|P2|P3)", + "name": "severity", + "origin": "local", + "required": false + }, + { + "description": "Diff findings against an earlier run", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Inverse of --only", + "name": "skip", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor", + "output": "none", + "path": "ao doctor", + "short": "Check AgentOps health", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.capabilities", + "output": "none", + "path": "ao doctor capabilities", + "short": "Print the machine-readable doctor contract (JSON)", + "use": "capabilities" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.diff", + "output": "none", + "path": "ao doctor diff", + "short": "Show what --fix would change (read-only)", + "use": "diff" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.explain", + "output": "none", + "path": "ao doctor explain", + "short": "Expand a single finding with full evidence", + "use": "explain <finding-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.fix", + "output": "none", + "path": "ao doctor fix", + "short": "Run detectors, then apply fixers (backs up before every mutation)", + "use": "fix" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Prune runs started before this date (YYYY-MM-DD)", + "name": "before", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Confirm pruning (required)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.doctor.gc", + "output": "none", + "path": "ao doctor gc", + "short": "Prune old runs (requires --yes and --before <date>)", + "use": "gc" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.health", + "output": "none", + "path": "ao doctor health", + "short": "Cheap one-line liveness summary", + "use": "health" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.ls", + "output": "none", + "path": "ao doctor ls", + "short": "List runs in .doctor/runs/", + "use": "ls" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.robot-docs", + "output": "none", + "path": "ao doctor robot-docs", + "short": "Print the paste-ready agent handbook (Markdown)", + "use": "robot-docs" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print the restore plan; do not execute", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Refuse if any backup is missing or hash-mismatched", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.undo", + "output": "none", + "path": "ao doctor undo", + "short": "Restore from .doctor/runs/<run-id>/backups/ (run-id may be 'latest')", + "use": "undo <run-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Close without a verdict, stamping an explicit UNVERIFIED marker", + "name": "force-no-verdict", + "origin": "local", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Close reason prose (the verdict stamp is appended)", + "name": "reason", + "origin": "local", + "required": false, + "shorthand": "r" + }, + { + "description": "Commit sha (or >=7-char prefix) the bead landed as (default: HEAD at cwd)", + "name": "sha", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.done", + "output": "none", + "path": "ao done", + "short": "Close a bead with a verdict-referenced stamp — no verdict = not done", + "use": "done <bead-id>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval", + "output": "none", + "path": "ao eval", + "short": "Run deterministic local evaluation suites", + "use": "eval" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "write promoted baseline run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "identity promoting the baseline", + "name": "promoted-by", + "origin": "local", + "required": false + }, + { + "description": "rationale for promoting the baseline", + "name": "rationale", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.baseline", + "output": "none", + "path": "ao eval baseline", + "short": "Promote an eval run record as a baseline", + "use": "baseline <run.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "promoted baseline directory", + "name": "baseline-dir", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "suite root to scan when no suite paths are provided", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.baseline-audit", + "output": "none", + "path": "ao eval baseline-audit", + "short": "Audit eval suite baseline policy against promoted baselines", + "use": "baseline-audit [suite.json ...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Path to benchmark corpus directory", + "name": "corpus", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include ~/.agents/learnings/ (cross-rig aggregated store, requires --live)", + "name": "global", + "origin": "local", + "required": false + }, + { + "description": "JSON output", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "K for Precision@K", + "name": "k", + "origin": "local", + "required": false + }, + { + "description": "Benchmark against real .agents/learnings/ instead of synthetic corpus", + "name": "live", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Search backend for --search-eval (local-lexical, ao-auto, agentic-rg, wiki-link-expand, rerank-llamacpp)", + "name": "search-backend", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated search backends to compare for --search-eval", + "name": "search-compare-backends", + "origin": "local", + "required": false + }, + { + "description": "Path to an ao-search eval manifest with queries and ground_truth paths", + "name": "search-eval", + "origin": "local", + "required": false + }, + { + "description": "Repo root to search for --search-eval (defaults to current directory)", + "name": "search-root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.bench", + "output": "none", + "path": "ao eval bench", + "short": "Run retrieval quality benchmarks", + "use": "bench" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.chaos", + "output": "none", + "path": "ao eval chaos", + "short": "Run a read-only smoke test of the tick membrane", + "use": "chaos" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Remove Run directories whose status is failed or aborted (never retracted)", + "name": "delete", + "origin": "local", + "required": false + }, + { + "description": "Preview without mutations", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Minimum tmp-file age in seconds before sweep (0 = sweep all)", + "name": "tmp-age", + "origin": "local", + "required": false + }, + { + "description": "Sweep orphan *.tmp files older than --tmp-age", + "name": "tmp-files", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.cleanup", + "output": "none", + "path": "ao eval cleanup", + "short": "Recover stale Runs (state transitions, --delete, --tmp-files)", + "use": "cleanup" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "allowed aggregate regression before verdict becomes regression", + "name": "max-aggregate-regression", + "origin": "local", + "required": false + }, + { + "description": "allowed per-dimension regression before verdict becomes regression", + "name": "max-dimension-regression", + "origin": "local", + "required": false + }, + { + "description": "write compared eval run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.compare", + "output": "none", + "path": "ao eval compare", + "short": "Compare an eval run against a baseline", + "use": "compare <candidate-run.json> <baseline-run.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "required score dimension for missing-dimension reporting", + "name": "require-dimension", + "origin": "local", + "required": false + }, + { + "description": "required product domain for missing-domain reporting", + "name": "require-domain", + "origin": "local", + "required": false + }, + { + "description": "required evidence kind for missing-evidence-kind reporting", + "name": "require-evidence-kind", + "origin": "local", + "required": false + }, + { + "description": "required deterministic runtime for missing-runtime reporting", + "name": "require-runtime", + "origin": "local", + "required": false + }, + { + "description": "suite root to scan when no suite paths are provided", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.coverage", + "output": "none", + "path": "ao eval coverage", + "short": "Summarize eval suite coverage", + "use": "coverage [suite.json ...]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes", + "output": "none", + "path": "ao eval outcomes", + "short": "Project the locked eval substrate into Outcomes grading payloads (holdout-safe)", + "use": "outcomes" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes.compile", + "output": "none", + "path": "ao eval outcomes compile", + "short": "Compile a holdout-safe Outcomes rubric payload from a locked Task + criteria", + "use": "compile <input.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "path to a JSON HoldoutBurnLedger; when set, a holdout-split score registers a burn and is REFUSED if the (suite,gt) quota is exhausted (gate #3 runtime enforcement), persisted across invocations", + "name": "burn-ledger", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "refuse the ingest if the score's judge_content_hash does not match this value (gate #2 rubric-drift parity)", + "name": "expect-judge-hash", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "also write an eval-run.v1 manifest to <dir>/<run-id>/manifest.json so the verdict pipeline feeds the Knowledge Flywheel (closes the Outcomes→Flywheel loop)", + "name": "manifest-out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "run id for the --manifest-out manifest; defaults to the score's run_id, then source_task_id (sanitized to the eval-run.v1 pattern)", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes.ingest", + "output": "none", + "path": "ao eval outcomes ingest", + "short": "Ingest an Outcomes score payload into the one council verdict record", + "use": "ingest <score.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "compare the run against a baseline run record", + "name": "baseline", + "origin": "local", + "required": false + }, + { + "description": "skill-on | skill-off | both — runs the suite once with skills loaded, once with hooks suppressed, or both for a delta scorecard", + "name": "baseline-mode", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "none | ab — run context-off/context-on legs over isolated AO_AGENTS_DIR roots", + "name": "context-mode", + "origin": "local", + "required": false + }, + { + "description": "AO_AGENTS_DIR root for the context-off leg (defaults to suite fixtures)", + "name": "context-off-agents-dir", + "origin": "local", + "required": false + }, + { + "description": "AO_AGENTS_DIR root for the context-on leg (defaults to suite fixtures)", + "name": "context-on-agents-dir", + "origin": "local", + "required": false + }, + { + "description": "write delta scorecard JSON to path (with --baseline-mode=both or --context-mode=ab)", + "name": "delta-out", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "write eval run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "stable run id to use in the run record", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "runtime override (static, mock, shell, claude, codex)", + "name": "runtime", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.run", + "output": "none", + "path": "ao eval run", + "short": "Run a deterministic eval suite", + "use": "run <suite.json>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario", + "output": "none", + "path": "ao eval scenario", + "short": "Manage holdout scenarios for behavioral validation", + "use": "scenario" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Expected observable outcome (default: inferred from goal)", + "name": "expected-outcome", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Narrative description (default: inferred from goal)", + "name": "narrative", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Scenario source (human, agent, prod-telemetry)", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Scenario status (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Satisfaction threshold in [0,1]", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.add", + "output": "none", + "path": "ao eval scenario add", + "short": "Author a holdout scenario from a goal description", + "use": "add <goal>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Evaluate every directive's linked scenarios", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Evaluate only the directive with this stable Directive ID", + "name": "directive", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the machine-readable evaluation report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "run_id recorded in the results artifact", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Per-check execution timeout", + "name": "timeout", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.evaluate", + "output": "none", + "path": "ao eval scenario evaluate", + "short": "Evaluate directive-linked scenarios and record satisfaction results", + "use": "evaluate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.init", + "output": "none", + "path": "ao eval scenario init", + "short": "Initialize .agents/holdout/ directory for scenario storage", + "use": "init" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter by status (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.list", + "output": "none", + "path": "ao eval scenario list", + "short": "List holdout scenarios", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.validate", + "output": "none", + "path": "ao eval scenario validate", + "short": "Validate holdout scenarios against schema", + "use": "validate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Run only the without-gold control arm and fail on ceiling/no-headroom", + "name": "control-only", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write the ScenarioDeltaScorecard JSON to this path", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Path to the scenario.v1 JSON file (required)", + "name": "scenario", + "origin": "local", + "required": false + }, + { + "description": "Per-arm timeout (0 = default 5m)", + "name": "timeout", + "origin": "local", + "required": false + }, + { + "description": "Fail the gate if summed arm token cost exceeds this (0 = default 200000)", + "name": "token-budget", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario-ab", + "output": "none", + "path": "ao eval scenario-ab", + "short": "Run a knowledge-reuse holdout scenario with vs. without the gold pull (the discriminating A/B)", + "use": "scenario-ab" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write the MoatClaimResult JSON to this path", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Path to a ScenarioDeltaScorecard JSON (repeatable)", + "name": "scorecard", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario-moat", + "output": "none", + "path": "ao eval scenario-moat", + "short": "Aggregate moat-eligible scenario A/B scorecards into a publication verdict", + "use": "scenario-moat" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "scorecard kind (rpi, skill-change)", + "name": "kind", + "origin": "local", + "required": false + }, + { + "description": "allowed per-category regression before verdict becomes regression", + "name": "max-category-regression", + "origin": "local", + "required": false + }, + { + "description": "write scorecard JSON to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scorecard", + "output": "none", + "path": "ao eval scorecard", + "short": "Build an eval scorecard from run records", + "use": "scorecard <candidate-run.json> [baseline-run.json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format: text, json", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Session ID (extracted from transcript if not provided)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.session-outcome", + "output": "none", + "path": "ao eval session-outcome", + "short": "Analyze session transcript to derive reward signal", + "use": "session-outcome [transcript-path]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite", + "output": "none", + "path": "ao eval suite", + "short": "Suite-level operations (verdict, n-required)", + "use": "suite" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Type-I error rate", + "name": "alpha", + "origin": "local", + "required": false + }, + { + "description": "Baseline rate (binomial worst-case fallback)", + "name": "baseline-rate", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum detectable effect", + "name": "mde", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Paired comparison", + "name": "paired", + "origin": "local", + "required": false + }, + { + "description": "Statistical power (1-beta)", + "name": "power", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite.n-required", + "output": "none", + "path": "ao eval suite n-required", + "short": "Compute power-derived n_required (gate #6 input on Day 3+)", + "use": "n-required" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Bootstrap resamples", + "name": "B", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated arm ids (default: from suite varied_axis)", + "name": "arms", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to canonical bootstrap-inputs JSON (REQUIRED)", + "name": "inputs", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum detectable effect (used for inconclusive_high_variance)", + "name": "mde", + "origin": "local", + "required": false + }, + { + "description": "Override n_required (default: derived from suite power block)", + "name": "n-required", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite.verdict", + "output": "none", + "path": "ao eval suite verdict", + "short": "Compute the §6.5 paired cluster-bootstrap verdict", + "use": "verdict <suite-id> --arms a,b --inputs <bootstrap-inputs.json>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task", + "output": "none", + "path": "ao eval task", + "short": "Manage evaluation Tasks (add, list, show, run)", + "use": "task" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.add", + "output": "none", + "path": "ao eval task add", + "short": "Register a Task by copying its yaml + samples into the substrate", + "use": "add <task.yaml>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.list", + "output": "none", + "path": "ao eval task list", + "short": "List registered Task ids", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Allow runs against confidence=weak ground-truth rows (gate #7)", + "name": "allow-weak-labels", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Allow ModelSpec drift (gate #4)", + "name": "cross-spec", + "origin": "local", + "required": false + }, + { + "description": "Run gates and exit without writing a Run manifest", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Ground-truth row id (head of supersession chain)", + "name": "ground-truth", + "origin": "local", + "required": false + }, + { + "description": "Harness id (recorded into manifest)", + "name": "harness", + "origin": "local", + "required": false + }, + { + "description": "Path to harness source dir for snapshot + gate #8", + "name": "harness-dir", + "origin": "local", + "required": false + }, + { + "description": "Inspect command recorded into the Run manifest (not executed yet)", + "name": "inspect-command", + "origin": "local", + "required": false + }, + { + "description": "Inspect AI version stamped into manifest", + "name": "inspect-version", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "ModelSpec id (already captured via ao eval models capture)", + "name": "model-spec", + "origin": "local", + "required": false + }, + { + "description": "Override Suite.n_samples", + "name": "n-samples", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Mark Run as quick_session=true (excluded from --vs auto-baseline pool)", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Rig identifier stamped into the Run manifest", + "name": "rig-id", + "origin": "local", + "required": false + }, + { + "description": "Sample split (dev|holdout); default from suite", + "name": "sample-split", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated seeds (>=3, per §4)", + "name": "seeds", + "origin": "local", + "required": false + }, + { + "description": "Suite id or path to suite.yaml (required)", + "name": "suite", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.run", + "output": "none", + "path": "ao eval task run", + "short": "Open a new Run manifest for <task-id>; refuses on gate failure", + "use": "run <task-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.show", + "output": "none", + "path": "ao eval task show", + "short": "Print a registered Task summary", + "use": "show <task-id>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate", + "output": "none", + "path": "ao gate", + "short": "Human review gates", + "use": "gate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Optional approval note", + "name": "note", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.approve", + "output": "none", + "path": "ao gate approve", + "short": "Approve candidate for promotion", + "use": "approve <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Age threshold for bulk approval", + "name": "older-than", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Tier to bulk approve (default: silver)", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.bulk-approve", + "output": "none", + "path": "ao gate bulk-approve", + "short": "Bulk approve silver candidates", + "use": "bulk-approve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "stop after the first blocking failure", + "name": "fail-fast", + "origin": "local", + "required": false + }, + { + "description": "fast cockpit subset routed to changed files (the default; explicit flag for clarity in hooks)", + "name": "fast", + "origin": "local", + "required": false + }, + { + "description": "run every check (routing ignored); default is the fast changed-file subset", + "name": "full", + "origin": "local", + "required": false + }, + { + "description": "emit GitHub Actions annotations for WARN/FAIL checks", + "name": "github-annotations", + "origin": "local", + "required": false + }, + { + "description": "emit the machine-readable JSON report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "fail if validate.yml references scripts missing from the Go gate registry", + "name": "require-workflow-parity", + "origin": "local", + "required": false + }, + { + "description": "fast-mode changed-file scope: head|staged|worktree|upstream|range:<base>..<head>", + "name": "scope", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "include validate.yml-vs-registry script coverage in the report", + "name": "workflow-coverage", + "origin": "local", + "required": false + }, + { + "description": "workflow path used by --workflow-coverage and --require-workflow-parity", + "name": "workflow-path", + "origin": "local", + "required": false + } + ], + "id": "ao.gate.check", + "output": "none", + "path": "ao gate check", + "short": "Run the gate registry (fast cockpit subset or full suite)", + "use": "check" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.pending", + "output": "none", + "path": "ao gate pending", + "short": "List candidates pending review", + "use": "pending" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Required rejection reason", + "name": "reason", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.reject", + "output": "none", + "path": "ao gate reject", + "short": "Reject candidate", + "use": "reject <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.run", + "output": "none", + "path": "ao gate run", + "short": "Run a check-*.sh gate via BC2 GateRunnerPort and emit verdict", + "use": "run <name>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals", + "output": "none", + "path": "ao goals", + "short": "Fitness goal measurement and validation", + "use": "goals" + }, + { + "aliases": [ + "a" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Goal description", + "name": "description", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Goal type (health, architecture, quality, meta)", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Goal weight (1-10)", + "name": "weight", + "origin": "local", + "required": false + } + ], + "id": "ao.goals.add", + "output": "none", + "path": "ao goals add", + "short": "Add a new goal", + "use": "add <id> <check-command>" + }, + { + "aliases": [ + "d" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.drift", + "output": "none", + "path": "ao goals drift", + "short": "Compare snapshots for regressions", + "use": "drift" + }, + { + "aliases": [ + "e" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.export", + "output": "none", + "path": "ao goals export", + "short": "Export latest snapshot as JSON (for CI)", + "use": "export" + }, + { + "aliases": [ + "h" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Filter history to a specific goal", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Show entries since date (YYYY-MM-DD)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.history", + "output": "none", + "path": "ao goals history", + "short": "Show goal measurement history", + "use": "history" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Use defaults without prompting", + "name": "non-interactive", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Goal template (go-cli, python-lib, web-app, rust-cli, generic)", + "name": "template", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.init", + "output": "none", + "path": "ao goals init", + "short": "Bootstrap a new GOALS.md file", + "use": "init" + }, + { + "aliases": [ + "m" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Output directives as JSON (skip gate checks)", + "name": "directives", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Skip goals whose Tags include this value (e.g. long-cycle)", + "name": "exclude-tag", + "origin": "local", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Measure a single goal by ID", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Evaluate only executable-spec scenario satisfaction; skip shell gate-command execution", + "name": "scenarios-only", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Overall measurement timeout in seconds (0 disables)", + "name": "total-timeout", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.measure", + "output": "none", + "path": "ao goals measure", + "short": "Run goal checks and produce a snapshot", + "use": "measure" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.meta", + "output": "none", + "path": "ao goals meta", + "short": "Run and report meta-goals only", + "use": "meta" + }, + { + "aliases": [ + "mg" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Convert GOALS.yaml to GOALS.md format", + "name": "to-md", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.migrate", + "output": "none", + "path": "ao goals migrate", + "short": "Migrate goals to latest format", + "use": "migrate" + }, + { + "aliases": [ + "p" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.prune", + "output": "none", + "path": "ao goals prune", + "short": "Remove goals referencing nonexistent files", + "use": "prune" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write Gherkin to this file instead of stdout", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.render", + "output": "none", + "path": "ao goals render", + "short": "Render GOALS.md directives and linked scenarios as BDD/Gherkin", + "use": "render" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Create a scenario from this goal description and link it to --directive", + "name": "create", + "origin": "local", + "required": false + }, + { + "description": "Directive display number (filter when listing, target when creating)", + "name": "directive", + "origin": "local", + "required": false + }, + { + "description": "Filter listing to one directive by stable Directive ID", + "name": "directive-id", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Lint the directive↔scenario link graph instead of listing", + "name": "lint", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Source for a created scenario (human, agent, prod-telemetry)", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Status for a created scenario (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "With --lint, exit non-zero on warnings as well as errors", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Satisfaction threshold for a created scenario", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.scenarios", + "output": "none", + "path": "ao goals scenarios", + "short": "List or create the holdout scenarios linked to GOALS.md directives", + "use": "scenarios" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer", + "output": "none", + "path": "ao goals steer", + "short": "Manage directives", + "use": "steer" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Directive description (required)", + "name": "description", + "origin": "local", + "required": true + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Steer direction (increase, decrease, hold, explore)", + "name": "steer", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.add", + "output": "none", + "path": "ao goals steer add", + "short": "Add a new directive", + "use": "add <title>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Equivalent to --yes: explicit non-interactive consent to apply", + "name": "auto", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Re-steer policy path (default: docs/re-steer-policy.json)", + "name": "policy", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Pre-confirm the apply for non-interactive/scripted use (explicit consent)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.goals.steer.apply", + "output": "none", + "path": "ao goals steer apply", + "short": "Apply a re-steer recommendation to GOALS.md (human-gated)", + "use": "apply" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.prioritize", + "output": "none", + "path": "ao goals steer prioritize", + "short": "Move a directive to a new position", + "use": "prioritize <number> <new-position>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Re-steer policy path (default: docs/re-steer-policy.json)", + "name": "policy", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.recommend", + "output": "none", + "path": "ao goals steer recommend", + "short": "Show re-steer recommendations without modifying GOALS.md", + "use": "recommend" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.remove", + "output": "none", + "path": "ao goals steer remove", + "short": "Remove a directive by number", + "use": "remove <number>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Render the trace lineage rooted at this directive, scenario, or bead ID", + "name": "from", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Audit the whole chain for broken references (errors) and missing yields (warnings)", + "name": "orphans", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Escalate warning-class defects to a non-zero exit (ADR-0005 §4.2)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.trace", + "output": "none", + "path": "ao goals trace", + "short": "Trace the directive→scenario→bead→artifact→learning executable-spec chain", + "use": "trace" + }, + { + "aliases": [ + "v" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.validate", + "output": "none", + "path": "ao goals validate", + "short": "Validate GOALS.yaml structure and wiring", + "use": "validate" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.governor", + "output": "none", + "path": "ao governor", + "short": "The membrane's SPC control-loop governor (error budget, special-cause)", + "use": "governor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "ship — within error budget", + "3": "HARDEN — burn-rate over tolerance; stop the line" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Special-cause floor: min confirmed in window before harden can fire; 0 = default", + "name": "min-confirmed", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Tolerated escape rate T; 0 = default", + "name": "tolerance", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Rolling window size (gate-verdicts); 0 = default", + "name": "window", + "origin": "local", + "required": false + } + ], + "id": "ao.governor.budget", + "output": "none", + "path": "ao governor budget", + "short": "Error-budget burn-rate: the one number that decides ship-vs-harden", + "use": "budget [--json] [--window N] [--tolerance T] [--min-confirmed N]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Special-cause control limit K (escapes per domain in window); 0 = default", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Rolling window size (gate-verdicts); 0 = default", + "name": "window", + "origin": "local", + "required": false + } + ], + "id": "ao.governor.noise-band", + "output": "none", + "path": "ao governor noise-band", + "short": "Special-cause noise-band: should the membrane ADJUST, or is this common-cause noise?", + "use": "noise-band [--json] [--window N] [--limit K]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Use .git/info/exclude instead of .gitignore", + "name": "stealth", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.init", + "output": "none", + "path": "ao init", + "short": "Initialize AgentOps in the current repository", + "use": "init" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.land", + "output": "none", + "path": "ao land", + "short": "Land a bead through the trusted pawl path with a fresh in-checkout binary, then atomic pawl-land", + "use": "land <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane", + "output": "none", + "path": "ao membrane", + "short": "Self-improving membrane: turn escapes into membrane checks", + "use": "membrane" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.calibrate", + "output": "none", + "path": "ao membrane calibrate", + "short": "Calibrate the cold membrane's catch-rate against the frozen trap corpus (the standing ruler)", + "use": "calibrate [--membrane-label <adapter>] [--membrane-cmd <c>] [--out-dir <dir>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "With --scope upstream: exact reviewed ancestor commit (default: configured-upstream merge-base)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Bead id the catch was found on (required)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Optional SEMANTIC class slug (e.g. stale-retired-surface). When set it keys the class CROSS-BEAD (the same label on different beads is ONE class), instead of the bead-drifting reason. Slug shape: lowercase [a-z0-9] words joined by '-'", + "name": "class", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Optional detector kind (e.g. regex)", + "name": "detector-kind", + "origin": "local", + "required": false + }, + { + "description": "Optional regex that mechanically detects this class (makes it a compile candidate)", + "name": "detector-pattern", + "origin": "local", + "required": false + }, + { + "description": "Bounded-context / work-class tag (required)", + "name": "domain", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Pawl-review evidence file: derive --reason (two-tier REFUTED salvage), --domain (first changed file's top dir) and --paths (changed files, first 20); explicit flags win", + "name": "evidence", + "origin": "local", + "required": false + }, + { + "description": "Optional path globs scoping the detector pattern", + "name": "globs", + "origin": "local", + "required": false + }, + { + "description": "Commit sha the catch was found at (default: git HEAD)", + "name": "head", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Pawl diversity mode: fresh-context (default) | multi-model | deterministic", + "name": "mode", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Concrete repo-relative file paths the catch touches (comma-separated or repeated)", + "name": "paths", + "origin": "local", + "required": false + }, + { + "description": "What was caught — the defect (required; the class reason when no --class given)", + "name": "reason", + "origin": "local", + "required": false + }, + { + "description": "Run id (default: membrane-catch)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "With --evidence: changed-file scope — head (the --head commit), staged (the index), or upstream (configured-upstream merge-base through --head)", + "name": "scope", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.catch", + "output": "none", + "path": "ao membrane catch", + "short": "Record a membrane CATCH — a REFUTED defect, as a structured class the membrane remembers", + "use": "catch --bead <id> (--domain <bc> --reason <what> | --evidence <file>) [--scope head|staged|upstream] [--base <sha>] [--class <slug>] [--paths f1,f2] [--detector-pattern <re> --globs <g> --detector-kind <k>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report what would be derived without writing files", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Overwrite existing derived artifacts", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run id to scan for escapes (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.derive-checks", + "output": "none", + "path": "ao membrane derive-checks", + "short": "Derive membrane checks from escapes in a run", + "use": "derive-checks --run <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Per-class recurrence before vs since --since (read-only; for the producer-defect register)", + "name": "deltas", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include reason-less placeholder classes (e.g. \"pawl-review REFUTED (see evidence)\") for corpus auditing; excluded by default so the checklist stays actionable", + "name": "include-placeholders", + "origin": "local", + "required": false + }, + { + "description": "Also print the ranked digest as JSON (the checklist file is written either way)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Cutoff for --deltas: an ISO date (2026-07-08, UTC midnight) or RFC3339 timestamp — typically a producer fix's land date", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "How many top recurring catch classes to include", + "name": "top", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.digest", + "output": "none", + "path": "ao membrane digest", + "short": "Mine the catch corpus into a GLOBAL top-N recurring-defect checklist the loop's START consumes", + "use": "digest [--top N] [--json] [--deltas --since <date>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Bounded-context / work-class tag to recall escapes for (required)", + "name": "domain", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Also surface CATCH classes in the domain (the abundant memory; escapes are rare)", + "name": "include-catches", + "origin": "local", + "required": false + }, + { + "description": "Emit the recalled escapes as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "With --include-catches, narrow to catches whose affected_paths overlap these files", + "name": "paths", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.recall", + "output": "none", + "path": "ao membrane recall", + "short": "Recall past escapes in a domain — the membrane's 'look out for this here' memory", + "use": "recall --domain <domain>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the triage result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.triage", + "output": "none", + "path": "ao membrane triage", + "short": "Triage the catch corpus: the HONEST recurrence + compilability read (today: INSUFFICIENT-DATA)", + "use": "triage" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl", + "output": "none", + "path": "ao pawl", + "short": "Cross-family membrane review and verdict tooling (the in-repo acceptance pawl)", + "use": "pawl" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.doctor", + "output": "none", + "path": "ao pawl doctor", + "short": "Read-only standing pawl preflight: assert swarm binary (ntm-first), session, pane cwd/model, trust prompts, readiness, and evidence policy", + "use": "doctor [--json] [--expected-cwd PATH] [--expected-claude-model MODEL] [--expected-codex-model MODEL]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.down", + "output": "none", + "path": "ao pawl down", + "short": "Tear down the standing pawl-service (no orphan panes)", + "use": "down" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.health", + "output": "none", + "path": "ao pawl health", + "short": "Per-pane liveness/readiness of the standing pawl-service + the membrane tier", + "use": "health [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.metrics", + "output": "none", + "path": "ao pawl metrics", + "short": "p50/p95 route latency + agreement-rate SLOs over the recorded routes", + "use": "metrics [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.reap", + "output": "none", + "path": "ao pawl reap", + "short": "Tear down the standing pawl-service iff idle > PAWL_IDLE_TTL (substrate/cron schedules it; no-op otherwise)", + "use": "reap" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "CONFIRMED — cross-family verdict written", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — auto-redo", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — strict quorum could not run at two-family strength" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.review", + "output": "none", + "path": "ao pawl review", + "short": "Run the cross-family (codex) membrane review; on CONFIRMED write the commit-bound verdict", + "use": "review <bead-id> [--scope head|staged|upstream] [--base <sha>] [--converge] [--strict] [--author-family <fam>] [--context <s>] [--smoke <cmd>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.route", + "output": "none", + "path": "ao pawl route", + "short": "Route a review packet to the warm cross-family panel; require tier-appropriate agreement, record the verdict", + "use": "route <bead> <packet> [pr]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.smoke", + "output": "none", + "path": "ao pawl smoke", + "short": "Alias for pawl doctor: non-mutating readiness smoke before routing real reviews", + "use": "smoke [--json] [--expected-cwd PATH] [--expected-claude-model MODEL] [--expected-codex-model MODEL]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.up", + "output": "none", + "path": "ao pawl up", + "short": "Stand up the standing pawl-service — adaptive: probe installed families (claude/codex/agy) and form the strongest membrane; pin with --dual/--tri/--models. Readiness-gated, idempotent", + "use": "up [--dual|--tri|--models a,b,c]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.plan-pawl", + "output": "none", + "path": "ao plan-pawl", + "short": "The plan-pawl duel gate over discovery plans (docs/contracts/pawls.md)", + "use": "plan-pawl" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "PASS — the door opens", + "2": "usage error", + "3": "REDO — auto-redo loop (no human)", + "4": "BLOCKED — a circuit breaker tripped (andon)", + "5": "DEGRADED — transient panel lane loss below quorum; retry the panel" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "directory of judge verdict *.json files", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the decision as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "a reviewer raised an explicit value/irreversibility judgment (hard breaker)", + "name": "judgment-flag", + "origin": "local", + "required": false + }, + { + "description": "max rounds before the max-attempts breaker trips (<=0 = unbounded)", + "name": "max-rounds", + "origin": "local", + "required": false + }, + { + "description": "the same failure has repeated (hard breaker)", + "name": "oscillation", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "current round (1-based)", + "name": "round", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "judge verdict: family:disposition[:warnclass] (repeatable)", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.plan-pawl.decide", + "output": "none", + "path": "ao plan-pawl decide", + "short": "Decide a duel round: PASS / REDO / BLOCKED (exit 0 / 3 / 4)", + "use": "decide" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance", + "output": "none", + "path": "ao provenance", + "short": "Write and read the SDLC provenance edge ledger", + "use": "provenance" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Optional evidence pointer (path, commit, CI run URL, event id)", + "name": "evidence", + "origin": "local", + "required": false + }, + { + "description": "Source node type (decision|artifact|bead|...)", + "name": "from-type", + "origin": "local", + "required": false + }, + { + "description": "Emit the sealed edge as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Typed PROV-O relation (required), e.g. wasGeneratedBy", + "name": "relation", + "origin": "local", + "required": false + }, + { + "description": "Target node type (decision|artifact|bead|...)", + "name": "to-type", + "origin": "local", + "required": false + }, + { + "description": "Trust tier (authored|inferred|mined)", + "name": "trust-tier", + "origin": "local", + "required": false + }, + { + "description": "Override the UTC RFC3339 timestamp (defaults to now)", + "name": "ts", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.add", + "output": "none", + "path": "ao provenance add", + "short": "Append a provenance edge to the ledger", + "use": "add <from-id> <to-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Single commit-ish to emit edges for (default HEAD when no --range)", + "name": "commit", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Resolve and print edges without writing the ledger", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Emit appended edges as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Git revision range (e.g. origin/main..HEAD); emits for every commit in it", + "name": "range", + "origin": "local", + "required": false + }, + { + "description": "Require each commit to be an ancestor of this ref (e.g. origin/main) before emitting; merge_sha uses the resolved full OID", + "name": "trunk-ref", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.emit-landed", + "output": "none", + "path": "ao provenance emit-landed", + "short": "Auto-emit bead→commit provenance edges for landed commits", + "use": "emit-landed" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Resolve and print edges without writing the ledger", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Path to the pawl-verdict JSON file (required)", + "name": "file", + "origin": "local", + "required": true + }, + { + "description": "Emit appended edges as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.emit-verdict", + "output": "none", + "path": "ao provenance emit-verdict", + "short": "Emit verdict→commit provenance edges from a pawl-verdict file", + "use": "emit-verdict" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit a single indented JSON array instead of JSONL", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Verify the re-chained export and print only a one-line summary", + "name": "verify", + "origin": "local", + "required": false + } + ], + "id": "ao.provenance.export", + "output": "none", + "path": "ao provenance export", + "short": "Emit a deterministic, hash-chained rendering of the provenance ledger", + "use": "export" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.ledger-reader-version", + "output": "none", + "path": "ao provenance ledger-reader-version", + "short": "Print this binary's ledger-reader capability level (the pre-push hook's ao-version floor probe)", + "use": "ledger-reader-version" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Filter to edges whose from_id matches", + "name": "from-id", + "origin": "local", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter to edges with this relation", + "name": "relation", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.list", + "output": "none", + "path": "ao provenance list", + "short": "Read provenance edges back from the ledger", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the session transcript (.jsonl) to mine (required)", + "name": "file", + "origin": "local", + "required": false + }, + { + "description": "Emit events as JSONL on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to the incremental watermark state JSON (created/updated; omit for a full one-shot mine)", + "name": "state", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.mine-session", + "output": "none", + "path": "ao provenance mine-session", + "short": "Mine deterministic per-inference provenance events from a session transcript", + "use": "mine-session --file <session.jsonl>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.position", + "output": "none", + "path": "ao provenance position", + "short": "Report the navigator's current position from the provenance ledger", + "use": "position" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Verdicts dir (default: <repo>/.agents/pawl-verdicts)", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Re-emit missing ledger edges for unbound verdicts", + "name": "emit", + "origin": "local", + "required": false + }, + { + "description": "Run even with an uncommitted ledger worktree", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Emit the reconcile result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.reconcile", + "output": "none", + "path": "ao provenance reconcile", + "short": "Detect (and optionally repair) verdict-file / ledger-edge desyncs", + "use": "reconcile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.show", + "output": "none", + "path": "ao provenance show", + "short": "Render the human verdict lineage for one commit or bead", + "use": "show <sha|bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the JSONL trace-graph to audit (required)", + "name": "graph", + "origin": "local", + "required": false + }, + { + "description": "Emit each finding as one JSON object per line", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Audit for artifact nodes with no inbound provenance edge", + "name": "orphans", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero when any orphan exists", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.trace", + "output": "none", + "path": "ao provenance trace", + "short": "Audit the provenance graph for orphan artifacts (no inbound edge)", + "use": "trace" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the machine-readable verify result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.verify", + "output": "none", + "path": "ao provenance verify", + "short": "Verify the committed provenance ledger's hash chain IN PLACE", + "use": "verify" + }, + { + "aliases": [ + "quickstart" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimal setup (just directories)", + "name": "minimal", + "origin": "local", + "required": false + }, + { + "description": "Skip beads initialization", + "name": "no-beads", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.quick-start", + "output": "none", + "path": "ao quick-start", + "short": "Set up AgentOps in your project (5 minutes)", + "use": "quick-start" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ready", + "output": "none", + "path": "ao ready", + "short": "Print harness-neutral ready bead state as JSON", + "use": "ready" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.robot-docs", + "output": "none", + "path": "ao robot-docs", + "short": "Print the paste-ready agent handbook for the ao CLI (Markdown)", + "use": "robot-docs" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session", + "output": "none", + "path": "ao session", + "short": "Session lifecycle operations", + "use": "session" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable status as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Skip the mcp-agent-mail probe", + "name": "no-mail", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Robot mode: JSON output with tight exit-code contract for SessionStart hooks", + "name": "robot", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.bootstrap", + "output": "none", + "path": "ao session bootstrap", + "short": "Universal init prompt — every agent runs this first", + "use": "bootstrap" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Extract lightweight learnings (quality-filtered) and write handoff artifact", + "name": "auto-extract", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Session ID to close (default: most recent transcript)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.close", + "output": "none", + "path": "ao session close", + "short": "Forge transcript, extract learnings, measure flywheel impact", + "use": "close" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Auto-collect git/bead state into the artifact", + "name": "collect", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print artifact to stdout without writing file", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Epic ID for RPI context", + "name": "epic", + "origin": "local", + "required": false + }, + { + "description": "What the session was working on", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write artifact without restarting the session via tmux", + "name": "no-kill", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "RPI phase number (populates RPI context, sets type=rpi)", + "name": "rpi-phase", + "origin": "local", + "required": false + }, + { + "description": "Run ID for RPI context", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.handoff", + "output": "none", + "path": "ao session handoff", + "short": "Write a structured handoff artifact for session boundary isolation", + "use": "handoff [summary]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.memory", + "output": "none", + "path": "ao session memory", + "short": "Manage repo-root MEMORY.md for cross-runtime access", + "use": "memory" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum session entries to keep", + "name": "max-entries", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Output path (default: MEMORY.md in repo root)", + "name": "output-file", + "origin": "local", + "required": false + }, + { + "description": "Suppress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.memory.sync", + "output": "none", + "path": "ao session memory sync", + "short": "Sync session history to repo-root MEMORY.md", + "use": "sync" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the raw handoff artifact as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Read the brief without marking the handoff consumed", + "name": "peek", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.rehydrate", + "output": "none", + "path": "ao session rehydrate", + "short": "Restore a lane from its latest handoff (the read-side of handoff→clear→rehydrate)", + "use": "rehydrate" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state", + "output": "none", + "path": "ao session state", + "short": "Validate, admit, verify, and doctor AgentOps state memory", + "use": "state" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Path to an .ao Finding candidate JSON file (required)", + "name": "candidate", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Destination under .ao/accepted/findings/ (default: finding id)", + "name": "destination", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Deprecated alias for --candidate", + "name": "finding", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum age for reviewed findings", + "name": "max-age-days", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Path to an independent admission verdict JSON file (required)", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.session.state.admit", + "output": "none", + "path": "ao session state admit", + "short": "Admit one independently reviewed Finding candidate into .ao/accepted", + "use": "admit --candidate <path> --verdict <path>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.candidate", + "output": "none", + "path": "ao session state candidate", + "short": "Inspect inert .ao state candidates", + "use": "candidate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.candidate.validate", + "output": "none", + "path": "ao session state candidate validate", + "short": "Validate an inert .ao Finding candidate and print its digest", + "use": "validate <path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.doctor", + "output": "none", + "path": "ao session state doctor", + "short": "Diagnose state memory health", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.review-request", + "output": "none", + "path": "ao session state review-request", + "short": "Emit the digest-bound review request for a Finding candidate", + "use": "review-request <candidate>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.validate", + "output": "none", + "path": "ao session state validate", + "short": "Validate state memory JSON files against their schemas", + "use": "validate <file> [file...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Verify all .ao state authority surfaces", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.verify", + "output": "none", + "path": "ao session state verify", + "short": "Verify .ao state schemas, fixtures, accepted findings, and ledger rows", + "use": "verify" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills", + "output": "none", + "path": "ao skills", + "short": "Inspect and validate the skills/ tree", + "use": "skills" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Restrict the audit to a single skill name", + "name": "skill", + "origin": "local", + "required": false + }, + { + "description": "Exit non-zero on any finding (CI mode)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.check", + "output": "none", + "path": "ao skills check", + "short": "Audit skills/ frontmatter, references, and codex parity", + "use": "check" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.consumers", + "output": "none", + "path": "ao skills consumers", + "short": "List skills that consume the named skill", + "use": "consumers <skill>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit", + "output": "none", + "path": "ao skills edit", + "short": "Seal and summarize live skill edits", + "use": "edit" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Critical skills policy file (default: docs/contracts/critical-skills.txt)", + "name": "critical-policy", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "git log --since value", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit.digest", + "output": "none", + "path": "ao skills edit digest", + "short": "Summarize recent committed skill edits", + "use": "digest" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Agent/operator name recorded in the commit body", + "name": "actor", + "origin": "local", + "required": false + }, + { + "description": "Allow a critical skill edit; use only for human-supervised edits", + "name": "allow-critical", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Critical skills policy file (default: docs/contracts/critical-skills.txt)", + "name": "critical-policy", + "origin": "local", + "required": false + }, + { + "description": "Check policy and print the commit action without staging or committing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Commit subject (default: chore(skills): update <skill> via live edit)", + "name": "message", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Skill slug under skills/<slug> to seal", + "name": "skill", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit.seal", + "output": "none", + "path": "ao skills edit seal", + "short": "Commit one live skill edit with critical-skill protection", + "use": "seal" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Maximum number of results to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.find", + "output": "none", + "path": "ao skills find", + "short": "Rank skills by how well they match a free-text intent", + "use": "find <intent>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Graph output format (mermaid|json)", + "name": "format", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.graph", + "output": "none", + "path": "ao skills graph", + "short": "Render the generated skill dependency graph", + "use": "graph" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Link into this single dir instead of the auto-detected runtimes (default: every installed runtime — ~/.claude, ~/.codex, ~/.gemini, ~/.cursor, ~/.pi)", + "name": "dest", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.link", + "output": "none", + "path": "ao skills link", + "short": "Symlink repo skills into every installed runtime's live tier (Claude, Codex, AGY, Cursor)", + "use": "link" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Filter to skills that consume this port/sibling", + "name": "consumes", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter to skills that apply this practice", + "name": "practice", + "origin": "local", + "required": false + }, + { + "description": "Filter to skills that produce this port/artifact", + "name": "produces", + "origin": "local", + "required": false + }, + { + "description": "Filter by hexagonal_role (domain, driving-adapter, ...)", + "name": "role", + "origin": "local", + "required": false + }, + { + "description": "Filter by user-invocability (true|false)", + "name": "user-invocable", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.list", + "output": "none", + "path": "ao skills list", + "short": "Query the generated skill catalog (skills/catalog.json)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.producers", + "output": "none", + "path": "ao skills producers", + "short": "List skills that produce the named port/artifact", + "use": "producers <output>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero when ME overlaps are found (CI dedup gate)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.resolve", + "output": "none", + "path": "ao skills resolve", + "short": "MECE audit: flag overlapping skills (merge candidates) and coverage gaps", + "use": "resolve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Allow retiring a slug listed in docs/contracts/critical-skills.txt", + "name": "allow-critical", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report every planned operation without mutating anything", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Target skill the retiree merges into (historical state merged-into; default: cut)", + "name": "into", + "origin": "local", + "required": false + }, + { + "description": "Emit a machine-readable JSON report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Skip the regen scripts after the ledger flip", + "name": "no-regen", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.retire", + "output": "none", + "path": "ao skills retire", + "short": "Retire a skill: remove its trees, flip the dispositions ledger, regen, and report ripples", + "use": "retire <slug>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.status", + "output": "none", + "path": "ao status", + "short": "Show AgentOps status", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Validate artifacts bound to a bead id", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Explicit files to validate", + "name": "changes", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Exit-code mode: 0=PASS/WARN, 1=FAIL, 2=error", + "name": "gate", + "origin": "local", + "required": false + }, + { + "description": "Structured verdict (honored in both modes)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Allow legacy artifacts without schema_version", + "name": "lenient", + "origin": "local", + "required": false + }, + { + "description": "Days until lenient bypass expires", + "name": "lenient-expiry", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Promote WARN to FAIL (exit 1)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Alias for --strict", + "name": "warn-as-fail", + "origin": "local", + "required": false + } + ], + "id": "ao.validate", + "output": "none", + "path": "ao validate", + "short": "Umbrella validation gate (exit-code-as-verdict with --gate)", + "use": "validate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verdict-gate", + "output": "none", + "path": "ao verdict-gate", + "short": "Reject verdicts without commands and independent judge identity", + "use": "verdict-gate <file|->" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "CONFIRMED — verdict written and bound to the commit", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — defects printed; fix and re-run", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — committed policy is invalid or strict quorum cannot run at two-family strength" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify", + "output": "none", + "path": "ao verify", + "short": "Independent cross-family verdict on your change — no verdict = not done", + "use": "verify <change-id> [--scope head|staged] [--converge] [--strict] [--author-family <fam>] [--context <s>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Uninstall the ratchet, restoring any pre-existing pre-push hook byte-identically", + "name": "remove", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.init", + "output": "none", + "path": "ao verify init", + "short": "Install the portable pre-push verdict ratchet (a local hook enforcing no verdict = not done)", + "use": "init [--remove]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.receipts", + "output": "none", + "path": "ao verify receipts", + "short": "Render this repo's membrane-receipts proof page from its provenance ledger", + "use": "receipts" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Trailing window in days for the trend section (<=0 = all time)", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Ledger path override (default: repo docs/provenance/ledger.jsonl)", + "name": "ledger", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.stats", + "output": "none", + "path": "ao verify stats", + "short": "Cost-of-verified-done instrument, derived entirely from the provenance ledger", + "use": "stats" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.version", + "output": "none", + "path": "ao version", + "short": "Show version information", + "use": "version" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield", + "output": "none", + "path": "ao yield", + "short": "Record dynamo yield-ledger events (per-bead operational stream)", + "use": "yield" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "bead id this event is keyed to (required)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "the typed body object as a single JSON blob", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "factory run/cycle id (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "optional RFC3339 timestamp; defaults to now (UTC)", + "name": "ts", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.emit", + "output": "none", + "path": "ao yield emit", + "short": "Append one accept|gate-verdict|usage event to the yield ledger", + "use": "emit <accept|gate-verdict|usage> --bead <id> --run <id> [--json <body> | typed flags]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "ag-8p8o's published corpus delta (C); omit to report C as pending", + "name": "c-delta", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the computed gauges as JSON for machine consumption", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "factory run/cycle id to compute gauges for (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.gauge", + "output": "none", + "path": "ao yield gauge", + "short": "Compute the yield gauges (A, Q, A/R, E, L) for a run + print shadow-mode hypotheses", + "use": "gauge --run <id> [--json] [--c-delta <float>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the full report struct as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "cutoff: an RFC3339 instant or a duration lookback like 8h (default 24h)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.report", + "output": "none", + "path": "ao yield report", + "short": "The on-the-loop governance surface: the YIELD and the ANDON QUEUE since a cutoff", + "use": "report [--since <RFC3339|duration>] [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit {\"tokens_in\":N,\"tokens_out\":M} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "emit two whitespace-separated values: tokens_in tokens_out", + "name": "pair", + "origin": "local", + "required": false + }, + { + "description": "path to a session transcript (JSONL) to sum tokens from (required)", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.tokens", + "output": "none", + "path": "ao yield tokens", + "short": "Sum the real tokens_in/tokens_out from a session transcript (for a usage event)", + "use": "tokens --transcript <path> [--json]" + } + ], + "contract_version": "1.1", + "env_vars": { + "AGENTOPS_ACTOR": "AgentOps runtime input: actor", + "AGENTOPS_ACTOR_EMAIL": "AgentOps runtime input: actor email", + "AGENTOPS_AUTO_PRUNE": "AgentOps runtime input: auto prune", + "AGENTOPS_BASE_DIR": "AgentOps runtime input: base dir", + "AGENTOPS_CANON_JUDGE": "AgentOps runtime input: canon judge", + "AGENTOPS_CANON_VERIFIER_CMD": "AgentOps runtime input: canon verifier cmd", + "AGENTOPS_COMPILE_RUNTIME": "AgentOps runtime input: compile runtime", + "AGENTOPS_CONFIG": "path to the config file (overridden by --config)", + "AGENTOPS_COUNCIL_MODEL_TIER": "AgentOps runtime input: council model tier", + "AGENTOPS_DEDUP_CONFIRM_THRESHOLD": "AgentOps runtime input: dedup confirm threshold", + "AGENTOPS_DREAM_CURATOR_ENABLED": "AgentOps runtime input: dream curator enabled", + "AGENTOPS_DREAM_CURATOR_ENGINE": "AgentOps runtime input: dream curator engine", + "AGENTOPS_DREAM_CURATOR_MODEL": "AgentOps runtime input: dream curator model", + "AGENTOPS_DREAM_CURATOR_OLLAMA_URL": "AgentOps runtime input: dream curator ollama url", + "AGENTOPS_DREAM_CURATOR_VAULT_DIR": "AgentOps runtime input: dream curator vault dir", + "AGENTOPS_DREAM_CURATOR_WORKER_DIR": "AgentOps runtime input: dream curator worker dir", + "AGENTOPS_DREAM_KEEP_AWAKE": "AgentOps runtime input: dream keep awake", + "AGENTOPS_DREAM_REPORT_DIR": "AgentOps runtime input: dream report dir", + "AGENTOPS_DREAM_RUN_TIMEOUT": "AgentOps runtime input: dream run timeout", + "AGENTOPS_EVALS_ROOT": "AgentOps runtime input: evals root", + "AGENTOPS_EVALS_VENV": "AgentOps runtime input: evals venv", + "AGENTOPS_EVICTION_DISABLED": "AgentOps runtime input: eviction disabled", + "AGENTOPS_FLYWHEEL_AUTO_PROMOTE_THRESHOLD": "AgentOps runtime input: flywheel auto promote threshold", + "AGENTOPS_FORGE_LEGACY_LOCAL_LLM": "AgentOps runtime input: forge legacy local llm", + "AGENTOPS_FORGE_TIER1_DISABLE": "AgentOps runtime input: forge tier1 disable", + "AGENTOPS_FORGE_TYPED": "AgentOps runtime input: forge typed", + "AGENTOPS_GATE_RANGE": "AgentOps runtime input: gate range", + "AGENTOPS_HOLDOUT_EVALUATOR": "AgentOps runtime input: holdout evaluator", + "AGENTOPS_HOOKS_DISABLED": "AgentOps runtime input: hooks disabled", + "AGENTOPS_LEGACY": "AgentOps runtime input: legacy", + "AGENTOPS_LLM_ENDPOINT": "AgentOps runtime input: llm endpoint", + "AGENTOPS_MODEL_TIER": "AgentOps runtime input: model tier", + "AGENTOPS_NO_SC": "AgentOps runtime input: no sc", + "AGENTOPS_ORCHESTRATION": "set to off to disable spawning and use the single-agent beads floor", + "AGENTOPS_OUTPUT": "AgentOps runtime input: output", + "AGENTOPS_REDACTION_DENYLIST": "AgentOps runtime input: redaction denylist", + "AGENTOPS_REPO_ROOT": "AgentOps runtime input: repo root", + "AGENTOPS_RESERVATION_ID": "AgentOps runtime input: reservation id", + "AGENTOPS_RETRIEVAL_RERANK_ENDPOINT": "AgentOps runtime input: retrieval rerank endpoint", + "AGENTOPS_RPI_AO_COMMAND": "AgentOps runtime input: rpi ao command", + "AGENTOPS_RPI_BD_COMMAND": "AgentOps runtime input: rpi bd command", + "AGENTOPS_RPI_MERGE_RETRY_DELAY": "AgentOps runtime input: rpi merge retry delay", + "AGENTOPS_RPI_RUNTIME": "AgentOps runtime input: rpi runtime", + "AGENTOPS_RPI_RUNTIME_COMMAND": "AgentOps runtime input: rpi runtime command", + "AGENTOPS_RPI_RUNTIME_MODE": "AgentOps runtime input: rpi runtime mode", + "AGENTOPS_RPI_TMUX_COMMAND": "AgentOps runtime input: rpi tmux command", + "AGENTOPS_RPI_WORKTREE_MODE": "AgentOps runtime input: rpi worktree mode", + "AGENTOPS_TRACKER": "force the selected tracker backend when supported", + "AGENTOPS_TRUST_REPO": "AgentOps runtime input: trust repo", + "AGENTOPS_VERBOSE": "AgentOps runtime input: verbose", + "AGENTOPS_VERIFY_PREPUSH_SKIP": "AgentOps runtime input: verify prepush skip", + "AO_AGENTS_DIR": "ao command/runtime input: agents dir", + "AO_BIN": "ao command/runtime input: bin", + "AO_CITATION_NAMESPACE": "ao command/runtime input: citation namespace", + "AO_CONTEXT_VARIANT": "ao command/runtime input: context variant", + "AO_COUNCIL_DIR": "ao command/runtime input: council dir", + "AO_DECISIONS_DIR": "ao command/runtime input: decisions dir", + "AO_DEPOSIT_GATE": "ao command/runtime input: deposit gate", + "AO_DOCTOR_BACKUPS_DIR": "ao command/runtime input: doctor backups dir", + "AO_DOCTOR_HEAL_TIMEOUT": "ao command/runtime input: doctor heal timeout", + "AO_DOCTOR_LOG_LEVEL": "trace|debug|info|warn|error — verbosity of the doctor surface", + "AO_FINDINGS_DIR": "ao command/runtime input: findings dir", + "AO_HOME": "ao command/runtime input: home", + "AO_HOOKS_DIR": "ao command/runtime input: hooks dir", + "AO_KNOWLEDGE_ROOT": "ao command/runtime input: knowledge root", + "AO_LAND_REEXECED": "ao command/runtime input: land reexeced", + "AO_LAND_REVIEW_BASE": "ao command/runtime input: land review base", + "AO_LEARNINGS_DIR": "ao command/runtime input: learnings dir", + "AO_MAX_PROMOTIONS": "ao command/runtime input: max promotions", + "AO_PATTERNS_DIR": "ao command/runtime input: patterns dir", + "AO_PLANS_DIR": "ao command/runtime input: plans dir", + "AO_RESERVATION_ID": "ao command/runtime input: reservation id", + "AO_RETRIEVAL_EPSILON": "ao command/runtime input: retrieval epsilon", + "AO_RPI_DIR": "ao command/runtime input: rpi dir", + "AO_SCOPE_LOCK": "ao command/runtime input: scope lock", + "AO_SESSION_ID": "ao command/runtime input: session id", + "NO_COLOR": "disable ANSI styling on all output", + "PAWL_AUTHOR_FAMILY": "pawl review/runtime input: author family", + "PAWL_AUTOBIND": "enable or disable automatic provenance binding after an authorizing verdict", + "PAWL_BUNDLE_STATUS": "pawl review/runtime input: bundle status", + "PAWL_DRY_RUN": "pawl review/runtime input: dry run", + "PAWL_IDLE_TTL": "pawl review/runtime input: idle ttl", + "PAWL_LABEL": "pawl review/runtime input: label", + "PAWL_NO_SERVICE": "pawl review/runtime input: no service", + "PAWL_PROJECT": "pawl review/runtime input: project", + "PAWL_REVIEWER_CHAIN": "pawl review/runtime input: reviewer chain", + "PAWL_REVIEW_TIMEOUT": "pawl review/runtime input: review timeout", + "PAWL_SESSION": "pawl review/runtime input: session", + "PAWL_SMOKE_CMD": "pawl review/runtime input: smoke cmd", + "PAWL_STRICT": "require the strict pawl quorum; unavailable quorum HOLDs instead of degrading", + "PAWL_UNTRUSTED_REPO": "pawl review/runtime input: untrusted repo" + }, + "exit_codes": { + "0": "success", + "1": "error: usage error, runtime failure, or — for diagnostic commands — findings present", + "2": "diagnostic: partial result or bead claimed (command-specific; see that command's --help)" + }, + "global_flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config" + }, + { + "description": "Show what would happen without executing", + "name": "dry-run" + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json" + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "shorthand": "v" + } + ], + "output_formats": [ + "table", + "json", + "yaml" + ], + "platform": { + "arch": "<normalized>", + "os": "<normalized>" + }, + "robot_surfaces": { + "capabilities": "ao capabilities — this contract", + "doctor_capabilities": "ao doctor capabilities — extended doctor contract + exit codes", + "doctor_triage": "ao doctor --robot-triage — mega-command health triage JSON", + "json_everywhere": "append --json (or -o json) to any read-side command for structured output", + "robot_docs": "ao robot-docs — paste-ready agent handbook (Markdown)" + }, + "schema_version": "1.1", + "tool": "ao", + "tool_version": "<normalized>" +} diff --git a/cli/testdata/compatibility-baseline/v2/profiles/flywheel.json b/cli/testdata/compatibility-baseline/v2/profiles/flywheel.json new file mode 100644 index 000000000..455fed353 --- /dev/null +++ b/cli/testdata/compatibility-baseline/v2/profiles/flywheel.json @@ -0,0 +1,19662 @@ +{ + "command_exit_codes": { + "governor budget": { + "0": "ship — within error budget", + "3": "HARDEN — burn-rate over tolerance; stop the line" + }, + "pawl review": { + "0": "CONFIRMED — cross-family verdict written", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — auto-redo", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — strict quorum could not run at two-family strength" + }, + "plan-pawl decide": { + "0": "PASS — the door opens", + "2": "usage error", + "3": "REDO — auto-redo loop (no human)", + "4": "BLOCKED — a circuit breaker tripped (andon)", + "5": "DEGRADED — transient panel lane loss below quorum; retry the panel" + }, + "verify": { + "0": "CONFIRMED — verdict written and bound to the commit", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — defects printed; fix and re-run", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — committed policy is invalid or strict quorum cannot run at two-family strength" + } + }, + "command_groups": [ + { + "commands": [ + { + "name": "demo", + "short": "Show the council-first AgentOps 3.0 value path" + }, + { + "name": "init", + "short": "Initialize AgentOps in the current repository" + }, + { + "name": "quick-start", + "short": "Set up AgentOps in your project (5 minutes)" + }, + { + "name": "seed", + "short": "Plant the seed in any repository" + } + ], + "id": "start", + "title": "Getting Started:" + }, + { + "commands": [ + { + "name": "anti-patterns", + "short": "List learnings marked as anti-patterns" + }, + { + "name": "badge", + "short": "Display knowledge flywheel health badge" + }, + { + "name": "canon", + "short": "Team-knowledge canon: learnings earned by independent attestation" + }, + { + "name": "capabilities", + "short": "Print the machine-readable CLI contract (JSON)" + }, + { + "name": "ci", + "short": "BC2 CI status operations (latest run by SHA, recent runs)" + }, + { + "name": "citation", + "short": "BC1 CitationPort operations (verify file/function/symbol citations)" + }, + { + "name": "claim", + "short": "Claim a BR bead or manage claim-evidence bindings" + }, + { + "name": "constraint", + "short": "Manage compiled constraints" + }, + { + "name": "contradict", + "short": "Detect potentially contradictory learnings" + }, + { + "name": "doctor", + "short": "Check AgentOps health" + }, + { + "name": "gate", + "short": "Human review gates" + }, + { + "name": "metrics", + "short": "Knowledge flywheel metrics" + }, + { + "name": "reconcile", + "short": "Join git, CI, release, beads, and .agents truth into one report" + }, + { + "name": "redact", + "short": "Scrub secrets from stdin to stdout (canonical redactor)" + }, + { + "name": "robot-docs", + "short": "Print the paste-ready agent handbook for the ao CLI (Markdown)" + }, + { + "name": "status", + "short": "Show AgentOps status" + }, + { + "name": "version", + "short": "Show version information" + }, + { + "name": "vibe-check", + "short": "Analyze codebase health and vibe" + } + ], + "id": "core", + "title": "Core Commands:" + }, + { + "commands": [ + { + "name": "eval", + "short": "Run deterministic local evaluation suites" + }, + { + "name": "feedback-loop", + "short": "Close the MemRL feedback loop for a session" + }, + { + "name": "goals", + "short": "Fitness goal measurement and validation" + }, + { + "name": "land", + "short": "Land a bead through the trusted pawl path with a fresh in-checkout binary, then atomic pawl-land" + }, + { + "name": "session", + "short": "Session lifecycle operations" + }, + { + "name": "validate", + "short": "Umbrella validation gate (exit-code-as-verdict with --gate)" + } + ], + "id": "workflow", + "title": "Workflow:" + }, + { + "commands": [ + { + "name": "config", + "short": "Manage configuration" + }, + { + "name": "notebook", + "short": "Manage the session notebook (MEMORY.md)" + }, + { + "name": "worktree", + "short": "Worktree maintenance utilities" + } + ], + "id": "config", + "title": "Configuration:" + }, + { + "commands": [ + { + "name": "beads", + "short": "Complementary tooling for the bd (beads) issue tracker" + }, + { + "name": "findings", + "short": "Manage promoted findings" + }, + { + "name": "forge", + "short": "Extract knowledge from sources" + }, + { + "name": "harvest", + "short": "Sweep all rigs, extract and deduplicate cross-rig knowledge" + }, + { + "name": "inject", + "short": "Output relevant knowledge for explicit or JIT injection" + }, + { + "name": "knowledge", + "short": "Operationalize a mature .agents corpus into reusable operator surfaces" + }, + { + "name": "lookup", + "short": "Retrieve specific knowledge artifacts by ID or query" + }, + { + "name": "membrane", + "short": "Self-improving membrane: turn escapes into membrane checks" + }, + { + "name": "mind", + "short": "Knowledge graph operations" + }, + { + "name": "mine", + "short": "Extract knowledge signal from git, .agents/, and code" + }, + { + "name": "patterns", + "short": "Inspect and repair .agents/patterns/ artifacts" + }, + { + "name": "search", + "short": "Search workspace session history and repo-local knowledge" + }, + { + "name": "sessions", + "short": "Manage indexed session pages" + }, + { + "name": "trace", + "short": "Track artifact provenance" + } + ], + "id": "knowledge", + "title": "Knowledge:" + }, + { + "commands": [ + { + "name": "compile", + "short": "Compile .agents knowledge into an interlinked wiki" + }, + { + "name": "corpus", + "short": "Corpus-quality probes for Dream and the knowledge flywheel" + }, + { + "name": "curate", + "short": "Curation pipeline operations" + }, + { + "name": "dedup", + "short": "Detect near-duplicate learnings" + }, + { + "name": "defrag", + "short": "Prune and deduplicate .agents/ learning artifacts" + }, + { + "name": "flywheel", + "short": "Knowledge flywheel operations" + }, + { + "name": "maturity", + "short": "Check and manage learning maturity levels" + }, + { + "name": "pool", + "short": "Manage quality pools" + }, + { + "name": "ratchet", + "short": "Brownian Ratchet workflow tracking" + }, + { + "name": "wiki", + "short": "Unified wiki knowledge surface (experimental)" + } + ], + "id": "experimental", + "title": "Experimental (corpus/flywheel):" + }, + { + "commands": [ + { + "name": "agent", + "short": "Produce AgentOps-native Agent definitions for out-of-session loops" + }, + { + "name": "agents", + "short": "Inspect and manage .agents/ contracts and surfaces" + }, + { + "name": "close", + "short": "Close a bead and persist the explicit ledger/evidence paths" + }, + { + "name": "converge", + "short": "Bounded fix -> re-run-judge-panel loop to terminal agreement or a 3-consecutive-fail BLOCK" + }, + { + "name": "council-gate", + "short": "Fail-closed two-plus judge verdict aggregation" + }, + { + "name": "done", + "short": "Close a bead with a verdict-referenced stamp — no verdict = not done" + }, + { + "name": "extract", + "short": "Process pending learning extractions" + }, + { + "name": "governor", + "short": "The membrane's SPC control-loop governor (error budget, special-cause)" + }, + { + "name": "guard-status", + "short": "Verify guard hook and validator launcher installation" + }, + { + "name": "install-guards", + "short": "Install repo-local git guard hooks" + }, + { + "name": "mcp", + "short": "Expose the ao tool surface over MCP for hosted/SDK Claude loops" + }, + { + "name": "next-work", + "short": "Operate on the harvested next-work queue (.agents/rpi/next-work.jsonl)" + }, + { + "name": "pawl", + "short": "Cross-family membrane review and verdict tooling (the in-repo acceptance pawl)" + }, + { + "name": "plan-pawl", + "short": "The plan-pawl duel gate over discovery plans (docs/contracts/pawls.md)" + }, + { + "name": "provenance", + "short": "Write and read the SDLC provenance edge ledger" + }, + { + "name": "ready", + "short": "Print harness-neutral ready bead state as JSON" + }, + { + "name": "refinery", + "short": "Continuous main-validation backstop (run on bushido)" + }, + { + "name": "registry", + "short": "Query the unified registry" + }, + { + "name": "scope", + "short": "Manage edit-scope guard (freeze, unfreeze, status)" + }, + { + "name": "skills", + "short": "Inspect and validate the skills/ tree" + }, + { + "name": "verdict-gate", + "short": "Reject verdicts without commands and independent judge identity" + }, + { + "name": "verify", + "short": "Independent cross-family verdict on your change — no verdict = not done" + }, + { + "name": "yield", + "short": "Record dynamo yield-ledger events (per-bead operational stream)" + } + ], + "id": "", + "title": "Additional Commands:" + } + ], + "commands": [ + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agent", + "output": "none", + "path": "ao agent", + "short": "Produce AgentOps-native Agent definitions for out-of-session loops", + "use": "agent" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (always JSON for now; reserved for parity)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Write the bundle to this path instead of stdout", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Target runtime: managed | codex-ntm (required)", + "name": "runtime", + "origin": "local", + "required": false + }, + { + "description": "Sandbox placement: self-hosted | cloud", + "name": "sandbox", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated skill names (default: session-bootstrap,standards,validation,provenance)", + "name": "skills", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agent.bundle", + "output": "none", + "path": "ao agent bundle", + "short": "Emit a runtime-specific Agent definition (managed | codex-ntm)", + "use": "bundle" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents", + "output": "none", + "path": "ao agents", + "short": "Inspect and manage .agents/ contracts and surfaces", + "use": "agents" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Path to the .agents/ directory under inspection", + "name": "agents-dir", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the .agents/ write-surfaces contract doc", + "name": "contract", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to the lint script", + "name": "script", + "origin": "local", + "required": false + }, + { + "description": "Path to the skills/ directory used for skill-owned-subdir cross-check", + "name": "skills-dir", + "origin": "local", + "required": false + }, + { + "description": "Exit non-zero on any orphan or undocumented surface", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents.doctor", + "output": "none", + "path": "ao agents doctor", + "short": "Combined health check: inspect + lint + orphan/stray-dir report", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the .agents/ write-surfaces contract doc", + "name": "contract", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents.inspect", + "output": "none", + "path": "ao agents inspect", + "short": "Show catalogued .agents/ write surfaces and active skill-owned subdirs", + "use": "inspect" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Forward --json to the lint script", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to the lint script", + "name": "script", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents.lint", + "output": "none", + "path": "ao agents lint", + "short": "Run the .agents/ write-surfaces contract lint", + "use": "lint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.anti-patterns", + "output": "none", + "path": "ao anti-patterns", + "short": "List learnings marked as anti-patterns", + "use": "anti-patterns" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.badge", + "output": "none", + "path": "ao badge", + "short": "Display knowledge flywheel health badge", + "use": "badge" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads", + "output": "none", + "path": "ao beads", + "short": "Complementary tooling for the bd (beads) issue tracker", + "use": "beads" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Close likely-fixed beads when commit or file-change evidence is found", + "name": "auto-close", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit audit report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit 1 when any likely-fixed, likely-stale, or consolidatable bead is found", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.audit", + "output": "none", + "path": "ao beads audit", + "short": "Audit open beads for likely-fixed, stale, or consolidatable work", + "use": "audit" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Reparent non-representative beads under the cluster representative", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit cluster report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.cluster", + "output": "none", + "path": "ao beads cluster", + "short": "Suggest consolidation clusters for overlapping open beads", + "use": "cluster" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {beads_dir, source} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Fail closed: exit non-zero (printing nothing to stdout) unless the resolved directory holds a br ledger", + "name": "require", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.dir", + "output": "none", + "path": "ao beads dir", + "short": "Print the resolved live br ledger directory", + "use": "dir" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as a JSON object instead of a human-readable line.", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Map the verdict to the process exit code (0 terminal / 2 not-terminal / 3 skipped).", + "name": "terminal", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.epic-status", + "output": "none", + "path": "ao beads epic-status", + "short": "Deterministic group-terminality verdict for an epic/wave", + "use": "epic-status <epic-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.exec", + "output": "none", + "path": "ao beads exec", + "short": "Run a bead CRUD command against whichever tracker (bd or br) this environment uses", + "use": "exec [args...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print the learning content to stdout without writing a file", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Directory to write the learning file into", + "name": "out-dir", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.harvest", + "output": "none", + "path": "ao beads harvest", + "short": "Materialize a closed bead's reason as a structured learning file", + "use": "harvest <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit lint report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "bd status filter (open, closed, all)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.lint", + "output": "none", + "path": "ao beads lint", + "short": "Batch-verify every open bead (or filtered set) against HEAD", + "use": "lint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "New claimant id (defaults to BEADS_ACTOR env var, else ao-beads-resume).", + "name": "agent", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the claim_transferred event to stdout (always written to ledger).", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Path to the provenance ledger (relative to repo root).", + "name": "ledger", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.resume", + "output": "none", + "path": "ao beads resume", + "short": "Atomically transfer an in_progress claim from a stale agent to this one", + "use": "resume <bead-id>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.scenarios", + "output": "none", + "path": "ao beads scenarios", + "short": "[DEPRECATED — use 'ao beads verify-acceptance'] Convert bead acceptance criteria into Gherkin scenarios", + "use": "scenarios" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Extract even when the bead already has a '## Scenarios' block", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Emit extracted scenarios as JSON (data on stdout) instead of a Gherkin block", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "After printing the block and an operator y/N confirmation, append it to the bead via 'bd update'", + "name": "write", + "origin": "local", + "required": false + } + ], + "id": "ao.beads.scenarios.extract", + "output": "none", + "path": "ao beads scenarios extract", + "short": "Print a candidate Gherkin '## Scenarios' block from a bead's acceptance (dry-run)", + "use": "extract <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit a structured validation verdict as JSON on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.scenarios.validate", + "output": "none", + "path": "ao beads scenarios validate", + "short": "Check that a bead's authored '## Scenarios' block is well-formed Gherkin", + "use": "validate <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON array conforming to stale-claim-event.v1 (event_type: stale_detected).", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Staleness threshold in hours (claim updated more than N hours ago).", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.stale-claims", + "output": "none", + "path": "ao beads stale-claims", + "short": "List in_progress beads whose claim looks stale", + "use": "stale-claims" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {tracker, binary, ledger_dir, source} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.tracker", + "output": "none", + "path": "ao beads tracker", + "short": "Print the resolved beads tracker (bd or br) for this environment", + "use": "tracker" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit verification report as JSON instead of human-readable text", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Include FRESH citations in the output (default: stale only)", + "name": "verbose", + "origin": "local", + "required": false + } + ], + "id": "ao.beads.verify", + "output": "none", + "path": "ao beads verify", + "short": "Detect stale citations in a bead description (files, functions, symbols)", + "use": "verify <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit verdicts as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero on any FAIL or UNDEFINED verdict", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.verify-acceptance", + "output": "none", + "path": "ao beads verify-acceptance", + "short": "Assert each bead carries the acceptance contract for its type (br-native)", + "use": "verify-acceptance <bead-id>..." + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon", + "output": "none", + "path": "ao canon", + "short": "Team-knowledge canon: learnings earned by independent attestation", + "use": "canon" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "acting actor override (\"Name\" or \"Name <email>\"); else AGENTOPS_ACTOR / git", + "name": "as", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "path to the learning file (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "search query that surfaced the learning", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "session ID", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon.cite", + "output": "none", + "path": "ao canon cite", + "short": "Record that you used a learning (the 'useful' signal)", + "use": "cite <entry-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "promote despite an unmet gate (records the override loudly)", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "path to the learning file (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon.promote", + "output": "none", + "path": "ao canon promote", + "short": "Promote an earned learning into the team canon", + "use": "promote <entry-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon.status", + "output": "none", + "path": "ao canon status", + "short": "Show promotion eligibility for one or all tracked entries", + "use": "status [entry-id]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "acting actor override (\"Name\" or \"Name <email>\"); else AGENTOPS_ACTOR / git", + "name": "as", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "obtain the verdict from an independent cross-vendor judge (cmd: AGENTOPS_CANON_VERIFIER_CMD) instead of asserting it", + "name": "council", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "how it was checked: manual|ao-verify|council|cross-model", + "name": "method", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "path to the learning file (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "evidence you independently gathered (gate log, file:line, hash)", + "name": "receipt", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "confirmed|refuted", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.canon.verify", + "output": "none", + "path": "ao canon verify", + "short": "Record an independent check of a learning (the 'true' signal)", + "use": "verify <entry-id>" + }, + { + "args": "range", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "help for capabilities", + "name": "help", + "origin": "local", + "required": false, + "shorthand": "h" + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.capabilities", + "output": "structured", + "path": "ao capabilities", + "short": "Print the machine-readable CLI contract (JSON)", + "use": "capabilities" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ci", + "output": "none", + "path": "ao ci", + "short": "BC2 CI status operations (latest run by SHA, recent runs)", + "use": "ci" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ci.latest", + "output": "none", + "path": "ao ci latest", + "short": "Get the most recent CI run for a given SHA via BC2 CIStatusPort", + "use": "latest <sha>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "max runs to emit (0 = all up to port cap of 50)", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ci.recent", + "output": "none", + "path": "ao ci recent", + "short": "List recent CI runs via BC2 CIStatusPort", + "use": "recent" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.citation", + "output": "none", + "path": "ao citation", + "short": "BC1 CitationPort operations (verify file/function/symbol citations)", + "use": "citation" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "citation kind (required: file|function|symbol)", + "name": "kind", + "origin": "local", + "required": true + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "citation text to verify (required)", + "name": "raw", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.citation.verify", + "output": "none", + "path": "ao citation verify", + "short": "Verify a single citation via BC1 CitationPort", + "use": "verify --kind <file|function|symbol> --raw <text>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim", + "output": "none", + "path": "ao claim", + "short": "Claim a BR bead or manage claim-evidence bindings", + "use": "claim [id]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "optional in-file anchors (repeatable)", + "name": "anchor", + "origin": "local", + "required": false + }, + { + "description": "artifact author identity for reviewer separation checks", + "name": "author-id", + "origin": "local", + "required": false + }, + { + "description": "claim ID (required, e.g. AOP-CLAIM-X)", + "name": "claim", + "origin": "local", + "required": true + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "judge/verifier identity for reviewer separation checks", + "name": "judge-id", + "origin": "local", + "required": false + }, + { + "description": "promotion level: PG1|PG2|PG3|PG4", + "name": "level", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "evidence file path (required, relative to repo root)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.bind", + "output": "none", + "path": "ao claim bind", + "short": "Bind a claim to an evidence file at a promotion level", + "use": "bind --claim <AOP-CLAIM-X> --path <evidence-path> [--level PG1|PG2|PG3|PG4] [--anchor ...] [--author-id <id> --judge-id <id>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "base ref for --changed comparison", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "check claim markers in files changed against --base plus worktree changes", + "name": "changed", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.check", + "output": "none", + "path": "ao claim check", + "short": "Report proof cards for changed public claims", + "use": "check --changed [--base <ref>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.list", + "output": "none", + "path": "ao claim list", + "short": "List recorded claim→evidence bindings (most-recent first)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.close", + "output": "none", + "path": "ao close", + "short": "Close a bead and persist the explicit ledger/evidence paths", + "use": "close <id> <commit-message> <evidence-ref> [paths...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Max changed files per LLM prompt (prevents single-giant-prompt on large corpora)", + "name": "batch-size", + "origin": "local", + "required": false + }, + { + "description": "Skip mine and defrag; run compile plus lint", + "name": "compile-only", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Only run mechanical defrag cleanup", + "name": "defrag-only", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Recompile all source artifacts regardless of hashes", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Actually delete orphans during --repair. Without --force-repair, --repair runs dry.", + "name": "force-repair", + "origin": "local", + "required": false + }, + { + "description": "Run the full mine, compile, lint, and defrag cycle", + "name": "full", + "origin": "local", + "required": false + }, + { + "description": "Publish the sanitized OKF gold wiki to .ao/wiki after the compile cycle", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "Compile only changed source artifacts", + "name": "incremental", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Only lint the existing compiled wiki", + "name": "lint-only", + "origin": "local", + "required": false + }, + { + "description": "Cap number of compile batches per invocation (0 = unlimited)", + "name": "max-batches", + "origin": "local", + "required": false + }, + { + "description": "Only mine new knowledge signal", + "name": "mine-only", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Compiled wiki output directory", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Suppress human progress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Remove orphaned fallback stubs from .agents/compiled/ (files with no inbound wikilink traffic)", + "name": "repair", + "origin": "local", + "required": false + }, + { + "description": "Delete .agents/compiled/ and .hashes.json before compiling (force full rebuild)", + "name": "reset", + "origin": "local", + "required": false + }, + { + "description": "LLM runtime override for headless compilation (codex-cli, ollama, claude, openai)", + "name": "runtime", + "origin": "local", + "required": false + }, + { + "description": "Mine lookback window for full and mine-only modes", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Source .agents root to compile", + "name": "sources", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.compile", + "output": "none", + "path": "ao compile", + "short": "Compile .agents knowledge into an interlinked wiki", + "use": "compile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Show resolved configuration with sources", + "name": "show", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.config", + "output": "none", + "path": "ao config", + "short": "Manage configuration", + "use": "config" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Set a skill-specific tier override (e.g. council=quality)", + "name": "set-skill", + "origin": "local", + "required": false + }, + { + "description": "Set the default model cost tier (quality, balanced, budget)", + "name": "set-tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.config.models", + "output": "none", + "path": "ao config models", + "short": "Show model cost tier configuration", + "use": "models" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint", + "output": "none", + "path": "ao constraint", + "short": "Manage compiled constraints", + "use": "constraint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.activate", + "output": "none", + "path": "ao constraint activate", + "short": "Change constraint status from draft to active", + "use": "activate <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.list", + "output": "none", + "path": "ao constraint list", + "short": "List all constraints with status", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.publish", + "output": "none", + "path": "ao constraint publish", + "short": "Publish active constraints to the tracked surface so CI / clean clones enforce them", + "use": "publish" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.retire", + "output": "none", + "path": "ao constraint retire", + "short": "Change constraint status from active to retired", + "use": "retire <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.review", + "output": "none", + "path": "ao constraint review", + "short": "List constraints compiled >90 days ago without recent citation", + "use": "review" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.contradict", + "output": "none", + "path": "ao contradict", + "short": "Detect potentially contradictory learnings", + "use": "contradict" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "directory whose .agents/rpi/KILL switch aborts the bounded loop at a round boundary", + "name": "kill-dir", + "origin": "local", + "required": false + }, + { + "description": "maximum fix->re-run rounds before NOT-CONVERGED", + "name": "max-rounds", + "origin": "local", + "required": false + }, + { + "description": "distinct non-author judge contexts required to converge", + "name": "min-contexts", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "optional strengthener: additionally require >=2 model families in the PASS quorum", + "name": "require-cross-family", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.converge", + "output": "none", + "path": "ao converge", + "short": "Bounded fix -> re-run-judge-panel loop to terminal agreement or a 3-consecutive-fail BLOCK", + "use": "converge" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus", + "output": "none", + "path": "ao corpus", + "short": "Corpus-quality probes for Dream and the knowledge flywheel", + "use": "corpus" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "body text (mutually exclusive with --body-file and --body-stdin)", + "name": "body", + "origin": "local", + "required": false + }, + { + "description": "read body from file", + "name": "body-file", + "origin": "local", + "required": false + }, + { + "description": "read body from stdin", + "name": "body-stdin", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "metadata key=value (repeatable)", + "name": "meta", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "relative path within root (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "corpus root (default: .agents/learnings/)", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.capture", + "output": "none", + "path": "ao corpus capture", + "short": "Write a corpus artifact via BC1 CorpusWriterPort", + "use": "capture --path <relpath> [--body <text>] [--body-file <file>] [--body-stdin] [--root <dir>] [--meta k=v ...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Write the changes (default: dry run, report only)", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.classify", + "output": "none", + "path": "ao corpus classify", + "short": "Annotate learning frontmatter with promote-gate defaults (sensitivity, publishable)", + "use": "classify <dir>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the fitness vector as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.fitness", + "output": "none", + "path": "ao corpus fitness", + "short": "Compute the corpus-quality fitness vector for the current .agents/", + "use": "fitness" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "max items to emit (0 = all)", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "ranking query (empty = all items, score 0)", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "corpus root (default: .agents/learnings/)", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.inject", + "output": "none", + "path": "ao corpus inject", + "short": "Inject corpus matches via BC1 CorpusReaderPort (typed lookup)", + "use": "inject [--query <text>] [--root <path>] [--limit N]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Explicit snapshot tarball path", + "name": "from", + "origin": "local", + "required": false + }, + { + "description": "Destination directory (default: .agents)", + "name": "into", + "origin": "local", + "required": false + }, + { + "description": "Emit the result as JSON to stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Pick the newest tarball in the snapshot dir", + "name": "latest", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Replace an existing destination directory (with .bak rescue)", + "name": "overwrite", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.restore", + "output": "none", + "path": "ao corpus restore", + "short": "Restore .agents/ from a durable snapshot", + "use": "restore" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the scan report as JSON (per-file hits)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.scan", + "output": "none", + "path": "ao corpus scan", + "short": "Fail-closed deny/PII leak scan of rendered corpus output (detect only, never redact)", + "use": "scan <path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the manifest as JSON to stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Override snapshot dir (default: $AGENTOPS_CORPUS_SNAPSHOT_DIR or ~/.agentops/corpus-snapshots)", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.corpus.snapshot", + "output": "none", + "path": "ao corpus snapshot", + "short": "Write a tar.gz snapshot of the local .agents/ corpus to a durable path", + "use": "snapshot" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.council-gate", + "output": "none", + "path": "ao council-gate", + "short": "Fail-closed two-plus judge verdict aggregation", + "use": "council-gate <verdict1> <verdict2> [...]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.curate", + "output": "none", + "path": "ao curate", + "short": "Curation pipeline operations", + "use": "curate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.curate.catalog", + "output": "none", + "path": "ao curate catalog", + "short": "Catalog a knowledge artifact", + "use": "catalog <path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.curate.status", + "output": "none", + "path": "ao curate status", + "short": "Show curation pipeline status", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter to changes within duration (e.g. 24h, 7d)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.curate.verify", + "output": "none", + "path": "ao curate verify", + "short": "Verify gate health against baselines", + "use": "verify" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Auto-resolve duplicates: keep highest utility, archive the rest", + "name": "merge", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Skip the interactive confirmation prompt for large merges (for hooks/CI)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.dedup", + "output": "none", + "path": "ao dedup", + "short": "Detect near-duplicate learnings", + "use": "dedup" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Flag learnings with >80% content similarity", + "name": "dedup", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Skip the automatic corpus snapshot taken before a destructive prune", + "name": "no-snapshot", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Directory for defrag report JSON", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Find orphaned learnings not referenced in patterns or research", + "name": "prune", + "origin": "local", + "required": false + }, + { + "description": "Suppress progress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Days after which an unreferenced learning is considered stale", + "name": "stale-days", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.defrag", + "output": "none", + "path": "ao defrag", + "short": "Prune and deduplicate .agents/ learning artifacts", + "use": "defrag" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Explain product model", + "name": "concepts", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "2-minute council-first overview", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.demo", + "output": "none", + "path": "ao demo", + "short": "Show the council-first AgentOps 3.0 value path", + "use": "demo" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "With --fix: print the plan, change nothing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Expand a single finding by id", + "name": "explain", + "origin": "local", + "required": false + }, + { + "description": "Apply fixers for findings (routes through mutate())", + "name": "fix", + "origin": "local", + "required": false + }, + { + "description": "Output results as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Enable network probes (default: offline-only)", + "name": "online", + "origin": "local", + "required": false + }, + { + "description": "Scope to a subset of detectors or subsystems", + "name": "only", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run only fast-path detectors (< 200ms)", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Alias for --json with structured wrapper", + "name": "robot", + "origin": "local", + "required": false + }, + { + "description": "Emit the mega-command triage JSON", + "name": "robot-triage", + "origin": "local", + "required": false + }, + { + "description": "Minimum severity to emit (P0|P1|P2|P3)", + "name": "severity", + "origin": "local", + "required": false + }, + { + "description": "Diff findings against an earlier run", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Inverse of --only", + "name": "skip", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor", + "output": "none", + "path": "ao doctor", + "short": "Check AgentOps health", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.capabilities", + "output": "none", + "path": "ao doctor capabilities", + "short": "Print the machine-readable doctor contract (JSON)", + "use": "capabilities" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.diff", + "output": "none", + "path": "ao doctor diff", + "short": "Show what --fix would change (read-only)", + "use": "diff" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.explain", + "output": "none", + "path": "ao doctor explain", + "short": "Expand a single finding with full evidence", + "use": "explain <finding-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.fix", + "output": "none", + "path": "ao doctor fix", + "short": "Run detectors, then apply fixers (backs up before every mutation)", + "use": "fix" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Prune runs started before this date (YYYY-MM-DD)", + "name": "before", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Confirm pruning (required)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.doctor.gc", + "output": "none", + "path": "ao doctor gc", + "short": "Prune old runs (requires --yes and --before <date>)", + "use": "gc" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.health", + "output": "none", + "path": "ao doctor health", + "short": "Cheap one-line liveness summary", + "use": "health" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.ls", + "output": "none", + "path": "ao doctor ls", + "short": "List runs in .doctor/runs/", + "use": "ls" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.robot-docs", + "output": "none", + "path": "ao doctor robot-docs", + "short": "Print the paste-ready agent handbook (Markdown)", + "use": "robot-docs" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print the restore plan; do not execute", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Refuse if any backup is missing or hash-mismatched", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.undo", + "output": "none", + "path": "ao doctor undo", + "short": "Restore from .doctor/runs/<run-id>/backups/ (run-id may be 'latest')", + "use": "undo <run-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Close without a verdict, stamping an explicit UNVERIFIED marker", + "name": "force-no-verdict", + "origin": "local", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Close reason prose (the verdict stamp is appended)", + "name": "reason", + "origin": "local", + "required": false, + "shorthand": "r" + }, + { + "description": "Commit sha (or >=7-char prefix) the bead landed as (default: HEAD at cwd)", + "name": "sha", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.done", + "output": "none", + "path": "ao done", + "short": "Close a bead with a verdict-referenced stamp — no verdict = not done", + "use": "done <bead-id>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval", + "output": "none", + "path": "ao eval", + "short": "Run deterministic local evaluation suites", + "use": "eval" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "write promoted baseline run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "identity promoting the baseline", + "name": "promoted-by", + "origin": "local", + "required": false + }, + { + "description": "rationale for promoting the baseline", + "name": "rationale", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.baseline", + "output": "none", + "path": "ao eval baseline", + "short": "Promote an eval run record as a baseline", + "use": "baseline <run.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "promoted baseline directory", + "name": "baseline-dir", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "suite root to scan when no suite paths are provided", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.baseline-audit", + "output": "none", + "path": "ao eval baseline-audit", + "short": "Audit eval suite baseline policy against promoted baselines", + "use": "baseline-audit [suite.json ...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Path to benchmark corpus directory", + "name": "corpus", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include ~/.agents/learnings/ (cross-rig aggregated store, requires --live)", + "name": "global", + "origin": "local", + "required": false + }, + { + "description": "JSON output", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "K for Precision@K", + "name": "k", + "origin": "local", + "required": false + }, + { + "description": "Benchmark against real .agents/learnings/ instead of synthetic corpus", + "name": "live", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Search backend for --search-eval (local-lexical, ao-auto, agentic-rg, wiki-link-expand, rerank-llamacpp)", + "name": "search-backend", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated search backends to compare for --search-eval", + "name": "search-compare-backends", + "origin": "local", + "required": false + }, + { + "description": "Path to an ao-search eval manifest with queries and ground_truth paths", + "name": "search-eval", + "origin": "local", + "required": false + }, + { + "description": "Repo root to search for --search-eval (defaults to current directory)", + "name": "search-root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.bench", + "output": "none", + "path": "ao eval bench", + "short": "Run retrieval quality benchmarks", + "use": "bench" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.chaos", + "output": "none", + "path": "ao eval chaos", + "short": "Run a read-only smoke test of the tick membrane", + "use": "chaos" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Remove Run directories whose status is failed or aborted (never retracted)", + "name": "delete", + "origin": "local", + "required": false + }, + { + "description": "Preview without mutations", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Minimum tmp-file age in seconds before sweep (0 = sweep all)", + "name": "tmp-age", + "origin": "local", + "required": false + }, + { + "description": "Sweep orphan *.tmp files older than --tmp-age", + "name": "tmp-files", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.cleanup", + "output": "none", + "path": "ao eval cleanup", + "short": "Recover stale Runs (state transitions, --delete, --tmp-files)", + "use": "cleanup" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "allowed aggregate regression before verdict becomes regression", + "name": "max-aggregate-regression", + "origin": "local", + "required": false + }, + { + "description": "allowed per-dimension regression before verdict becomes regression", + "name": "max-dimension-regression", + "origin": "local", + "required": false + }, + { + "description": "write compared eval run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.compare", + "output": "none", + "path": "ao eval compare", + "short": "Compare an eval run against a baseline", + "use": "compare <candidate-run.json> <baseline-run.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "required score dimension for missing-dimension reporting", + "name": "require-dimension", + "origin": "local", + "required": false + }, + { + "description": "required product domain for missing-domain reporting", + "name": "require-domain", + "origin": "local", + "required": false + }, + { + "description": "required evidence kind for missing-evidence-kind reporting", + "name": "require-evidence-kind", + "origin": "local", + "required": false + }, + { + "description": "required deterministic runtime for missing-runtime reporting", + "name": "require-runtime", + "origin": "local", + "required": false + }, + { + "description": "suite root to scan when no suite paths are provided", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.coverage", + "output": "none", + "path": "ao eval coverage", + "short": "Summarize eval suite coverage", + "use": "coverage [suite.json ...]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes", + "output": "none", + "path": "ao eval outcomes", + "short": "Project the locked eval substrate into Outcomes grading payloads (holdout-safe)", + "use": "outcomes" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes.compile", + "output": "none", + "path": "ao eval outcomes compile", + "short": "Compile a holdout-safe Outcomes rubric payload from a locked Task + criteria", + "use": "compile <input.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "path to a JSON HoldoutBurnLedger; when set, a holdout-split score registers a burn and is REFUSED if the (suite,gt) quota is exhausted (gate #3 runtime enforcement), persisted across invocations", + "name": "burn-ledger", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "refuse the ingest if the score's judge_content_hash does not match this value (gate #2 rubric-drift parity)", + "name": "expect-judge-hash", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "also write an eval-run.v1 manifest to <dir>/<run-id>/manifest.json so the verdict pipeline feeds the Knowledge Flywheel (closes the Outcomes→Flywheel loop)", + "name": "manifest-out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "run id for the --manifest-out manifest; defaults to the score's run_id, then source_task_id (sanitized to the eval-run.v1 pattern)", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes.ingest", + "output": "none", + "path": "ao eval outcomes ingest", + "short": "Ingest an Outcomes score payload into the one council verdict record", + "use": "ingest <score.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "compare the run against a baseline run record", + "name": "baseline", + "origin": "local", + "required": false + }, + { + "description": "skill-on | skill-off | both — runs the suite once with skills loaded, once with hooks suppressed, or both for a delta scorecard", + "name": "baseline-mode", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "none | ab — run context-off/context-on legs over isolated AO_AGENTS_DIR roots", + "name": "context-mode", + "origin": "local", + "required": false + }, + { + "description": "AO_AGENTS_DIR root for the context-off leg (defaults to suite fixtures)", + "name": "context-off-agents-dir", + "origin": "local", + "required": false + }, + { + "description": "AO_AGENTS_DIR root for the context-on leg (defaults to suite fixtures)", + "name": "context-on-agents-dir", + "origin": "local", + "required": false + }, + { + "description": "write delta scorecard JSON to path (with --baseline-mode=both or --context-mode=ab)", + "name": "delta-out", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "write eval run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "stable run id to use in the run record", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "runtime override (static, mock, shell, claude, codex)", + "name": "runtime", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.run", + "output": "none", + "path": "ao eval run", + "short": "Run a deterministic eval suite", + "use": "run <suite.json>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario", + "output": "none", + "path": "ao eval scenario", + "short": "Manage holdout scenarios for behavioral validation", + "use": "scenario" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Expected observable outcome (default: inferred from goal)", + "name": "expected-outcome", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Narrative description (default: inferred from goal)", + "name": "narrative", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Scenario source (human, agent, prod-telemetry)", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Scenario status (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Satisfaction threshold in [0,1]", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.add", + "output": "none", + "path": "ao eval scenario add", + "short": "Author a holdout scenario from a goal description", + "use": "add <goal>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Evaluate every directive's linked scenarios", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Evaluate only the directive with this stable Directive ID", + "name": "directive", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the machine-readable evaluation report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "run_id recorded in the results artifact", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Per-check execution timeout", + "name": "timeout", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.evaluate", + "output": "none", + "path": "ao eval scenario evaluate", + "short": "Evaluate directive-linked scenarios and record satisfaction results", + "use": "evaluate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.init", + "output": "none", + "path": "ao eval scenario init", + "short": "Initialize .agents/holdout/ directory for scenario storage", + "use": "init" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter by status (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.list", + "output": "none", + "path": "ao eval scenario list", + "short": "List holdout scenarios", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.validate", + "output": "none", + "path": "ao eval scenario validate", + "short": "Validate holdout scenarios against schema", + "use": "validate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Run only the without-gold control arm and fail on ceiling/no-headroom", + "name": "control-only", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write the ScenarioDeltaScorecard JSON to this path", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Path to the scenario.v1 JSON file (required)", + "name": "scenario", + "origin": "local", + "required": false + }, + { + "description": "Per-arm timeout (0 = default 5m)", + "name": "timeout", + "origin": "local", + "required": false + }, + { + "description": "Fail the gate if summed arm token cost exceeds this (0 = default 200000)", + "name": "token-budget", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario-ab", + "output": "none", + "path": "ao eval scenario-ab", + "short": "Run a knowledge-reuse holdout scenario with vs. without the gold pull (the discriminating A/B)", + "use": "scenario-ab" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write the MoatClaimResult JSON to this path", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Path to a ScenarioDeltaScorecard JSON (repeatable)", + "name": "scorecard", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario-moat", + "output": "none", + "path": "ao eval scenario-moat", + "short": "Aggregate moat-eligible scenario A/B scorecards into a publication verdict", + "use": "scenario-moat" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "scorecard kind (rpi, skill-change)", + "name": "kind", + "origin": "local", + "required": false + }, + { + "description": "allowed per-category regression before verdict becomes regression", + "name": "max-category-regression", + "origin": "local", + "required": false + }, + { + "description": "write scorecard JSON to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scorecard", + "output": "none", + "path": "ao eval scorecard", + "short": "Build an eval scorecard from run records", + "use": "scorecard <candidate-run.json> [baseline-run.json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format: text, json", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Session ID (extracted from transcript if not provided)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.session-outcome", + "output": "none", + "path": "ao eval session-outcome", + "short": "Analyze session transcript to derive reward signal", + "use": "session-outcome [transcript-path]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite", + "output": "none", + "path": "ao eval suite", + "short": "Suite-level operations (verdict, n-required)", + "use": "suite" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Type-I error rate", + "name": "alpha", + "origin": "local", + "required": false + }, + { + "description": "Baseline rate (binomial worst-case fallback)", + "name": "baseline-rate", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum detectable effect", + "name": "mde", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Paired comparison", + "name": "paired", + "origin": "local", + "required": false + }, + { + "description": "Statistical power (1-beta)", + "name": "power", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite.n-required", + "output": "none", + "path": "ao eval suite n-required", + "short": "Compute power-derived n_required (gate #6 input on Day 3+)", + "use": "n-required" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Bootstrap resamples", + "name": "B", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated arm ids (default: from suite varied_axis)", + "name": "arms", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to canonical bootstrap-inputs JSON (REQUIRED)", + "name": "inputs", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum detectable effect (used for inconclusive_high_variance)", + "name": "mde", + "origin": "local", + "required": false + }, + { + "description": "Override n_required (default: derived from suite power block)", + "name": "n-required", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite.verdict", + "output": "none", + "path": "ao eval suite verdict", + "short": "Compute the §6.5 paired cluster-bootstrap verdict", + "use": "verdict <suite-id> --arms a,b --inputs <bootstrap-inputs.json>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task", + "output": "none", + "path": "ao eval task", + "short": "Manage evaluation Tasks (add, list, show, run)", + "use": "task" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.add", + "output": "none", + "path": "ao eval task add", + "short": "Register a Task by copying its yaml + samples into the substrate", + "use": "add <task.yaml>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.list", + "output": "none", + "path": "ao eval task list", + "short": "List registered Task ids", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Allow runs against confidence=weak ground-truth rows (gate #7)", + "name": "allow-weak-labels", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Allow ModelSpec drift (gate #4)", + "name": "cross-spec", + "origin": "local", + "required": false + }, + { + "description": "Run gates and exit without writing a Run manifest", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Ground-truth row id (head of supersession chain)", + "name": "ground-truth", + "origin": "local", + "required": false + }, + { + "description": "Harness id (recorded into manifest)", + "name": "harness", + "origin": "local", + "required": false + }, + { + "description": "Path to harness source dir for snapshot + gate #8", + "name": "harness-dir", + "origin": "local", + "required": false + }, + { + "description": "Inspect command recorded into the Run manifest (not executed yet)", + "name": "inspect-command", + "origin": "local", + "required": false + }, + { + "description": "Inspect AI version stamped into manifest", + "name": "inspect-version", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "ModelSpec id (already captured via ao eval models capture)", + "name": "model-spec", + "origin": "local", + "required": false + }, + { + "description": "Override Suite.n_samples", + "name": "n-samples", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Mark Run as quick_session=true (excluded from --vs auto-baseline pool)", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Rig identifier stamped into the Run manifest", + "name": "rig-id", + "origin": "local", + "required": false + }, + { + "description": "Sample split (dev|holdout); default from suite", + "name": "sample-split", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated seeds (>=3, per §4)", + "name": "seeds", + "origin": "local", + "required": false + }, + { + "description": "Suite id or path to suite.yaml (required)", + "name": "suite", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.run", + "output": "none", + "path": "ao eval task run", + "short": "Open a new Run manifest for <task-id>; refuses on gate failure", + "use": "run <task-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.show", + "output": "none", + "path": "ao eval task show", + "short": "Print a registered Task summary", + "use": "show <task-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Process all pending entries", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Bead ID to tag extracted learnings with", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Clear pending queue without processing", + "name": "clear", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum characters of session content to include", + "name": "max-content", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.extract", + "output": "none", + "path": "ao extract", + "short": "Process pending learning extractions", + "use": "extract" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "EMA learning rate", + "name": "alpha", + "origin": "local", + "required": false + }, + { + "description": "Filter citations by type (retrieved, used-in-final-artifact, helpful, harmful, refuted, applied, reference, all)", + "name": "citation-type", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Walk citations.jsonl and feed entries with zero feedback_at sentinel (idempotent)", + "name": "drain", + "origin": "local", + "required": false + }, + { + "description": "Neutral reward applied to drained citations (0.0-1.0)", + "name": "drain-reward", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Override reward value (0.0-1.0); -1 = compute from transcript", + "name": "reward", + "origin": "local", + "required": false + }, + { + "description": "Session ID to process", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Path to transcript for reward computation", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.feedback-loop", + "output": "none", + "path": "ao feedback-loop", + "short": "Close the MemRL feedback loop for a session", + "use": "feedback-loop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings", + "output": "none", + "path": "ao findings", + "short": "Manage promoted findings", + "use": "findings" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Export every local finding", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite destination files if they already exist", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Destination repo root or .agents/findings directory", + "name": "to", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.export", + "output": "none", + "path": "ao findings export", + "short": "Export finding artifacts to another repo or findings directory", + "use": "export <id...>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Include retired and superseded findings", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum findings to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.list", + "output": "none", + "path": "ao findings list", + "short": "List active findings", + "use": "list [query]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Pull every source finding", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite local files if they already exist", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Source repo root or .agents/findings directory", + "name": "from", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.pull", + "output": "none", + "path": "ao findings pull", + "short": "Pull finding artifacts from another repo or findings directory", + "use": "pull <id...>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Retired-by marker (defaults to current user or ao findings retire)", + "name": "by", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.retire", + "output": "none", + "path": "ao findings retire", + "short": "Retire a finding artifact", + "use": "retire <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.stats", + "output": "none", + "path": "ao findings stats", + "short": "Summarize local finding artifact inventory", + "use": "stats" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel", + "output": "none", + "path": "ao flywheel", + "short": "Knowledge flywheel operations", + "use": "flywheel" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Pending directory to ingest from", + "name": "pending-dir", + "origin": "local", + "required": false + }, + { + "description": "Suppress non-essential output (hook-friendly)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Minimum age for auto-promotion (default: 24h)", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.close-loop", + "output": "none", + "path": "ao flywheel close-loop", + "short": "Close the knowledge flywheel loop", + "use": "close-loop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Shadow namespace to compare against primary", + "name": "shadow", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.compare", + "output": "none", + "path": "ao flywheel compare", + "short": "Compare primary vs shadow namespace metrics", + "use": "compare" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Benchmark corpus directory (defaults to repo testdata)", + "name": "corpus", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.gate", + "output": "none", + "path": "ao flywheel gate", + "short": "Check readiness for retrieval-expansion work", + "use": "gate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.nudge", + "output": "none", + "path": "ao flywheel nudge", + "short": "Combined flywheel + ratchet + pool status for hooks", + "use": "nudge" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days for metrics calculation", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Show golden signals (always shown; flag kept for compatibility)", + "name": "golden", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Citation namespace to evaluate (primary by default)", + "name": "namespace", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.status", + "output": "none", + "path": "ao flywheel status", + "short": "Show flywheel health status", + "use": "status" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge", + "output": "none", + "path": "ao forge", + "short": "Extract knowledge from sources", + "use": "forge" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Specific directory to scan (default: all Claude project dirs)", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Trigger extraction after forging", + "name": "extract", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum transcripts to process (0 = all)", + "name": "max", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.batch", + "output": "none", + "path": "ao forge batch", + "short": "Process multiple transcripts at once", + "use": "batch" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Queue for learning extraction at next session start", + "name": "queue", + "origin": "local", + "required": false + }, + { + "description": "Suppress all output (for hooks)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.markdown", + "output": "none", + "path": "ao forge markdown", + "short": "Extract knowledge from markdown files", + "use": "markdown <path-or-glob>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would be promoted without writing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Evaluate review decisions against a labeled JSON manifest without writing", + "name": "eval", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Ollama HTTP endpoint for --reviewer-model (fallback: $AGENTOPS_LLM_ENDPOINT or http://localhost:11434)", + "name": "reviewer-endpoint", + "origin": "local", + "required": false + }, + { + "description": "LLM model tag for Tier 2 reviewer decisions (e.g. gemma2:9b)", + "name": "reviewer-model", + "origin": "local", + "required": false + }, + { + "description": "Directory containing session pages (default: .agents/ao/sessions)", + "name": "sessions-dir", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.review", + "output": "none", + "path": "ao forge review", + "short": "Tier 2 structural review of draft session pages", + "use": "review" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Process only the most recent transcript", + "name": "last-session", + "origin": "local", + "required": false + }, + { + "description": "Allow legacy local Ollama/Gemma fallback for --tier=1 when no AgentWorker queue is configured", + "name": "legacy-local-llm", + "origin": "local", + "required": false + }, + { + "description": "Legacy Ollama HTTP endpoint for --tier=1 (fallback: $AGENTOPS_LLM_ENDPOINT or http://localhost:11434)", + "name": "llm-endpoint", + "origin": "local", + "required": false + }, + { + "description": "Per-chunk character budget for --tier=1 legacy local LLM mode (default: conservative built-in budget)", + "name": "max-chars", + "origin": "local", + "required": false + }, + { + "description": "Legacy local LLM model tag for --tier=1 (e.g. gemma2:9b)", + "name": "model", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Queue session for learning extraction at next session start", + "name": "queue", + "origin": "local", + "required": false + }, + { + "description": "Suppress all output (for hooks)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Tier 1 transcript processing: enqueue to configured Dream worker; local Ollama fallback requires --legacy-local-llm", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "OPT-IN (value-gated, default off): route knowledge through the native typed extractor to emit learning.v1 records; falls back to the heuristic path if the LLM backend is unavailable", + "name": "typed", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.transcript", + "output": "none", + "path": "ao forge transcript", + "short": "Extract knowledge from Claude Code transcripts", + "use": "transcript <path-or-glob>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate", + "output": "none", + "path": "ao gate", + "short": "Human review gates", + "use": "gate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Optional approval note", + "name": "note", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.approve", + "output": "none", + "path": "ao gate approve", + "short": "Approve candidate for promotion", + "use": "approve <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Age threshold for bulk approval", + "name": "older-than", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Tier to bulk approve (default: silver)", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.bulk-approve", + "output": "none", + "path": "ao gate bulk-approve", + "short": "Bulk approve silver candidates", + "use": "bulk-approve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "stop after the first blocking failure", + "name": "fail-fast", + "origin": "local", + "required": false + }, + { + "description": "fast cockpit subset routed to changed files (the default; explicit flag for clarity in hooks)", + "name": "fast", + "origin": "local", + "required": false + }, + { + "description": "run every check (routing ignored); default is the fast changed-file subset", + "name": "full", + "origin": "local", + "required": false + }, + { + "description": "emit GitHub Actions annotations for WARN/FAIL checks", + "name": "github-annotations", + "origin": "local", + "required": false + }, + { + "description": "emit the machine-readable JSON report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "fail if validate.yml references scripts missing from the Go gate registry", + "name": "require-workflow-parity", + "origin": "local", + "required": false + }, + { + "description": "fast-mode changed-file scope: head|staged|worktree|upstream|range:<base>..<head>", + "name": "scope", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "include validate.yml-vs-registry script coverage in the report", + "name": "workflow-coverage", + "origin": "local", + "required": false + }, + { + "description": "workflow path used by --workflow-coverage and --require-workflow-parity", + "name": "workflow-path", + "origin": "local", + "required": false + } + ], + "id": "ao.gate.check", + "output": "none", + "path": "ao gate check", + "short": "Run the gate registry (fast cockpit subset or full suite)", + "use": "check" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.pending", + "output": "none", + "path": "ao gate pending", + "short": "List candidates pending review", + "use": "pending" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Required rejection reason", + "name": "reason", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.reject", + "output": "none", + "path": "ao gate reject", + "short": "Reject candidate", + "use": "reject <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.run", + "output": "none", + "path": "ao gate run", + "short": "Run a check-*.sh gate via BC2 GateRunnerPort and emit verdict", + "use": "run <name>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals", + "output": "none", + "path": "ao goals", + "short": "Fitness goal measurement and validation", + "use": "goals" + }, + { + "aliases": [ + "a" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Goal description", + "name": "description", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Goal type (health, architecture, quality, meta)", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Goal weight (1-10)", + "name": "weight", + "origin": "local", + "required": false + } + ], + "id": "ao.goals.add", + "output": "none", + "path": "ao goals add", + "short": "Add a new goal", + "use": "add <id> <check-command>" + }, + { + "aliases": [ + "d" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.drift", + "output": "none", + "path": "ao goals drift", + "short": "Compare snapshots for regressions", + "use": "drift" + }, + { + "aliases": [ + "e" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.export", + "output": "none", + "path": "ao goals export", + "short": "Export latest snapshot as JSON (for CI)", + "use": "export" + }, + { + "aliases": [ + "h" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Filter history to a specific goal", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Show entries since date (YYYY-MM-DD)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.history", + "output": "none", + "path": "ao goals history", + "short": "Show goal measurement history", + "use": "history" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Use defaults without prompting", + "name": "non-interactive", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Goal template (go-cli, python-lib, web-app, rust-cli, generic)", + "name": "template", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.init", + "output": "none", + "path": "ao goals init", + "short": "Bootstrap a new GOALS.md file", + "use": "init" + }, + { + "aliases": [ + "m" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Output directives as JSON (skip gate checks)", + "name": "directives", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Skip goals whose Tags include this value (e.g. long-cycle)", + "name": "exclude-tag", + "origin": "local", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Measure a single goal by ID", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Evaluate only executable-spec scenario satisfaction; skip shell gate-command execution", + "name": "scenarios-only", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Overall measurement timeout in seconds (0 disables)", + "name": "total-timeout", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.measure", + "output": "none", + "path": "ao goals measure", + "short": "Run goal checks and produce a snapshot", + "use": "measure" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.meta", + "output": "none", + "path": "ao goals meta", + "short": "Run and report meta-goals only", + "use": "meta" + }, + { + "aliases": [ + "mg" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Convert GOALS.yaml to GOALS.md format", + "name": "to-md", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.migrate", + "output": "none", + "path": "ao goals migrate", + "short": "Migrate goals to latest format", + "use": "migrate" + }, + { + "aliases": [ + "p" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.prune", + "output": "none", + "path": "ao goals prune", + "short": "Remove goals referencing nonexistent files", + "use": "prune" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write Gherkin to this file instead of stdout", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.render", + "output": "none", + "path": "ao goals render", + "short": "Render GOALS.md directives and linked scenarios as BDD/Gherkin", + "use": "render" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Create a scenario from this goal description and link it to --directive", + "name": "create", + "origin": "local", + "required": false + }, + { + "description": "Directive display number (filter when listing, target when creating)", + "name": "directive", + "origin": "local", + "required": false + }, + { + "description": "Filter listing to one directive by stable Directive ID", + "name": "directive-id", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Lint the directive↔scenario link graph instead of listing", + "name": "lint", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Source for a created scenario (human, agent, prod-telemetry)", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Status for a created scenario (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "With --lint, exit non-zero on warnings as well as errors", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Satisfaction threshold for a created scenario", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.scenarios", + "output": "none", + "path": "ao goals scenarios", + "short": "List or create the holdout scenarios linked to GOALS.md directives", + "use": "scenarios" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer", + "output": "none", + "path": "ao goals steer", + "short": "Manage directives", + "use": "steer" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Directive description (required)", + "name": "description", + "origin": "local", + "required": true + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Steer direction (increase, decrease, hold, explore)", + "name": "steer", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.add", + "output": "none", + "path": "ao goals steer add", + "short": "Add a new directive", + "use": "add <title>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Equivalent to --yes: explicit non-interactive consent to apply", + "name": "auto", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Re-steer policy path (default: docs/re-steer-policy.json)", + "name": "policy", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Pre-confirm the apply for non-interactive/scripted use (explicit consent)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.goals.steer.apply", + "output": "none", + "path": "ao goals steer apply", + "short": "Apply a re-steer recommendation to GOALS.md (human-gated)", + "use": "apply" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.prioritize", + "output": "none", + "path": "ao goals steer prioritize", + "short": "Move a directive to a new position", + "use": "prioritize <number> <new-position>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Re-steer policy path (default: docs/re-steer-policy.json)", + "name": "policy", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.recommend", + "output": "none", + "path": "ao goals steer recommend", + "short": "Show re-steer recommendations without modifying GOALS.md", + "use": "recommend" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.remove", + "output": "none", + "path": "ao goals steer remove", + "short": "Remove a directive by number", + "use": "remove <number>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Render the trace lineage rooted at this directive, scenario, or bead ID", + "name": "from", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Audit the whole chain for broken references (errors) and missing yields (warnings)", + "name": "orphans", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Escalate warning-class defects to a non-zero exit (ADR-0005 §4.2)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.trace", + "output": "none", + "path": "ao goals trace", + "short": "Trace the directive→scenario→bead→artifact→learning executable-spec chain", + "use": "trace" + }, + { + "aliases": [ + "v" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.validate", + "output": "none", + "path": "ao goals validate", + "short": "Validate GOALS.yaml structure and wiring", + "use": "validate" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.governor", + "output": "none", + "path": "ao governor", + "short": "The membrane's SPC control-loop governor (error budget, special-cause)", + "use": "governor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "ship — within error budget", + "3": "HARDEN — burn-rate over tolerance; stop the line" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Special-cause floor: min confirmed in window before harden can fire; 0 = default", + "name": "min-confirmed", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Tolerated escape rate T; 0 = default", + "name": "tolerance", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Rolling window size (gate-verdicts); 0 = default", + "name": "window", + "origin": "local", + "required": false + } + ], + "id": "ao.governor.budget", + "output": "none", + "path": "ao governor budget", + "short": "Error-budget burn-rate: the one number that decides ship-vs-harden", + "use": "budget [--json] [--window N] [--tolerance T] [--min-confirmed N]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Special-cause control limit K (escapes per domain in window); 0 = default", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Rolling window size (gate-verdicts); 0 = default", + "name": "window", + "origin": "local", + "required": false + } + ], + "id": "ao.governor.noise-band", + "output": "none", + "path": "ao governor noise-band", + "short": "Special-cause noise-band: should the membrane ADJUST, or is this common-cause noise?", + "use": "noise-band [--json] [--window N] [--limit K]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.guard-status", + "output": "none", + "path": "ao guard-status", + "short": "Verify guard hook and validator launcher installation", + "use": "guard-status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Artifact types to include (comma-separated)", + "name": "include", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Skip files larger than this (bytes)", + "name": "max-file-size", + "origin": "local", + "required": false + }, + { + "description": "Advisory volume gate: emit a stderr WARN when promotions exceed this count (0 disables; AO_MAX_PROMOTIONS env var as fallback). Never blocks.", + "name": "max-promotions", + "origin": "local", + "required": false + }, + { + "description": "Minimum confidence for promotion", + "name": "min-confidence", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Directory for harvest catalog output", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Promotion destination for high-value artifacts (default ~/.agents/learnings)", + "name": "promote-to", + "origin": "local", + "required": false + }, + { + "description": "Suppress progress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Base directories to scan (comma-separated) (default ~/gt)", + "name": "roots", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.harvest", + "output": "none", + "path": "ao harvest", + "short": "Sweep all rigs, extract and deduplicate cross-rig knowledge", + "use": "harvest" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Use .git/info/exclude instead of .gitignore", + "name": "stealth", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.init", + "output": "none", + "path": "ao init", + "short": "Initialize AgentOps in the current repository", + "use": "init" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Apply confidence decay before ranking", + "name": "apply-decay", + "origin": "local", + "required": false + }, + { + "description": "Bead ID for work-scoped knowledge injection", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Context query for filtering (alternative to positional arg)", + "name": "context", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Skill name — assembles context per skill's context declaration", + "name": "for", + "origin": "local", + "required": false + }, + { + "description": "Output format: markdown, json", + "name": "format", + "origin": "local", + "required": false + }, + { + "description": "Output compact knowledge index table instead of full content", + "name": "index-only", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum tokens to output", + "name": "max-tokens", + "origin": "local", + "required": false + }, + { + "description": "Disable citation recording", + "name": "no-cite", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to predecessor handoff file for context injection", + "name": "predecessor", + "origin": "local", + "required": false + }, + { + "description": "Include .agents/profile.md identity artifact in output", + "name": "profile", + "origin": "local", + "required": false + }, + { + "description": "Quarantine flagged learnings from quality report", + "name": "quarantine-flagged", + "origin": "local", + "required": false + }, + { + "description": "Session ID for citation tracking (auto-generated if empty)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Session type for scoring boost (career, research, debug, implement, brainstorm)", + "name": "session-type", + "origin": "local", + "required": false + }, + { + "description": "Multiplier on utility's contribution to ranking (0=disable, 1=default, >1=emphasize). Reads `utility:` frontmatter; closes the eval-verdict-compiler loop.", + "name": "utility-weight", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.inject", + "output": "none", + "path": "ao inject", + "short": "Output relevant knowledge for explicit or JIT injection", + "use": "inject [context]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.install-guards", + "output": "none", + "path": "ao install-guards", + "short": "Install repo-local git guard hooks", + "use": "install-guards" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge", + "output": "none", + "path": "ao knowledge", + "short": "Operationalize a mature .agents corpus into reusable operator surfaces", + "use": "knowledge" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Optional goal for briefing compilation during activation", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.activate", + "output": "none", + "path": "ao knowledge activate", + "short": "Run the full knowledge activation outer loop", + "use": "activate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.beliefs", + "output": "none", + "path": "ao knowledge beliefs", + "short": "Refresh the belief book from promoted evidence", + "use": "beliefs" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Goal to compile into a briefing", + "name": "goal", + "origin": "local", + "required": true + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.brief", + "output": "none", + "path": "ao knowledge brief", + "short": "Compile a goal-time briefing", + "use": "brief" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.gaps", + "output": "none", + "path": "ao knowledge gaps", + "short": "Report thin topics, promotion gaps, and next mining work", + "use": "gaps" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include thin topics when building playbook candidates", + "name": "include-thin", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.playbooks", + "output": "none", + "path": "ao knowledge playbooks", + "short": "Refresh playbook candidates from healthy topics", + "use": "playbooks" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.land", + "output": "none", + "path": "ao land", + "short": "Land a bead through the trusted pawl path with a fresh in-checkout binary, then atomic pawl-land", + "use": "land <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Filter by source bead ID", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Citation type to record for returned artifacts: retrieved, reference, applied", + "name": "cite", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Retrieve from the sanitized OKF gold wiki (.ao/wiki) instead of the raw .agents/ corpus", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "JSON output", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Maximum results to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Skip citation recording", + "name": "no-cite", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Compact pointers only (type · title · path · score) — no bodies; the token-cheap mode for decision-point pulls", + "name": "pointers", + "origin": "local", + "required": false + }, + { + "description": "Search query for relevance matching", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "Session ID for citation tracking", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.lookup", + "output": "none", + "path": "ao lookup", + "short": "Retrieve specific knowledge artifacts by ID or query", + "use": "lookup [id]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Apply maturity transitions", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Move expired/evicted/curated files to archive (requires --expire, --evict, or --curate)", + "name": "archive", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Normalize metadata and identify low-signal or uncited stale learnings", + "name": "curate", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Identify eviction candidates (composite criteria)", + "name": "evict", + "origin": "local", + "required": false + }, + { + "description": "Scan for expired learnings", + "name": "expire", + "origin": "local", + "required": false + }, + { + "description": "Operate on ~/.agents/learnings instead of the local workspace learnings", + "name": "global", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Add default frontmatter to .md learnings missing utility field", + "name": "migrate-md", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reset utility to 0.5 for all learnings", + "name": "recalibrate", + "origin": "local", + "required": false + }, + { + "description": "Scan all learnings for pending transitions", + "name": "scan", + "origin": "local", + "required": false + }, + { + "description": "Size-budget eviction: when set with --evict, archive lowest-utility eligible files until the learnings hub falls below the target (e.g. 250M, 1G, 1024K)", + "name": "target-size", + "origin": "local", + "required": false + }, + { + "description": "Archive provisional/candidate learnings with zero citations older than this many days when used with --curate", + "name": "uncited-days", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.maturity", + "output": "none", + "path": "ao maturity", + "short": "Check and manage learning maturity levels", + "use": "maturity [learning-id]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mcp", + "output": "none", + "path": "ao mcp", + "short": "Expose the ao tool surface over MCP for hosted/SDK Claude loops", + "use": "mcp" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Machine-readable JSON (always JSON for --print-tools; reserved for parity)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Emit the curated tool surface as JSON and exit", + "name": "print-tools", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mcp.serve", + "output": "none", + "path": "ao mcp serve", + "short": "Serve (or print) the curated ao MCP tool surface", + "use": "serve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane", + "output": "none", + "path": "ao membrane", + "short": "Self-improving membrane: turn escapes into membrane checks", + "use": "membrane" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.calibrate", + "output": "none", + "path": "ao membrane calibrate", + "short": "Calibrate the cold membrane's catch-rate against the frozen trap corpus (the standing ruler)", + "use": "calibrate [--membrane-label <adapter>] [--membrane-cmd <c>] [--out-dir <dir>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "With --scope upstream: exact reviewed ancestor commit (default: configured-upstream merge-base)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Bead id the catch was found on (required)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Optional SEMANTIC class slug (e.g. stale-retired-surface). When set it keys the class CROSS-BEAD (the same label on different beads is ONE class), instead of the bead-drifting reason. Slug shape: lowercase [a-z0-9] words joined by '-'", + "name": "class", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Optional detector kind (e.g. regex)", + "name": "detector-kind", + "origin": "local", + "required": false + }, + { + "description": "Optional regex that mechanically detects this class (makes it a compile candidate)", + "name": "detector-pattern", + "origin": "local", + "required": false + }, + { + "description": "Bounded-context / work-class tag (required)", + "name": "domain", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Pawl-review evidence file: derive --reason (two-tier REFUTED salvage), --domain (first changed file's top dir) and --paths (changed files, first 20); explicit flags win", + "name": "evidence", + "origin": "local", + "required": false + }, + { + "description": "Optional path globs scoping the detector pattern", + "name": "globs", + "origin": "local", + "required": false + }, + { + "description": "Commit sha the catch was found at (default: git HEAD)", + "name": "head", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Pawl diversity mode: fresh-context (default) | multi-model | deterministic", + "name": "mode", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Concrete repo-relative file paths the catch touches (comma-separated or repeated)", + "name": "paths", + "origin": "local", + "required": false + }, + { + "description": "What was caught — the defect (required; the class reason when no --class given)", + "name": "reason", + "origin": "local", + "required": false + }, + { + "description": "Run id (default: membrane-catch)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "With --evidence: changed-file scope — head (the --head commit), staged (the index), or upstream (configured-upstream merge-base through --head)", + "name": "scope", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.catch", + "output": "none", + "path": "ao membrane catch", + "short": "Record a membrane CATCH — a REFUTED defect, as a structured class the membrane remembers", + "use": "catch --bead <id> (--domain <bc> --reason <what> | --evidence <file>) [--scope head|staged|upstream] [--base <sha>] [--class <slug>] [--paths f1,f2] [--detector-pattern <re> --globs <g> --detector-kind <k>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report what would be derived without writing files", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Overwrite existing derived artifacts", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run id to scan for escapes (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.derive-checks", + "output": "none", + "path": "ao membrane derive-checks", + "short": "Derive membrane checks from escapes in a run", + "use": "derive-checks --run <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Per-class recurrence before vs since --since (read-only; for the producer-defect register)", + "name": "deltas", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include reason-less placeholder classes (e.g. \"pawl-review REFUTED (see evidence)\") for corpus auditing; excluded by default so the checklist stays actionable", + "name": "include-placeholders", + "origin": "local", + "required": false + }, + { + "description": "Also print the ranked digest as JSON (the checklist file is written either way)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Cutoff for --deltas: an ISO date (2026-07-08, UTC midnight) or RFC3339 timestamp — typically a producer fix's land date", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "How many top recurring catch classes to include", + "name": "top", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.digest", + "output": "none", + "path": "ao membrane digest", + "short": "Mine the catch corpus into a GLOBAL top-N recurring-defect checklist the loop's START consumes", + "use": "digest [--top N] [--json] [--deltas --since <date>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Bounded-context / work-class tag to recall escapes for (required)", + "name": "domain", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Also surface CATCH classes in the domain (the abundant memory; escapes are rare)", + "name": "include-catches", + "origin": "local", + "required": false + }, + { + "description": "Emit the recalled escapes as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "With --include-catches, narrow to catches whose affected_paths overlap these files", + "name": "paths", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.recall", + "output": "none", + "path": "ao membrane recall", + "short": "Recall past escapes in a domain — the membrane's 'look out for this here' memory", + "use": "recall --domain <domain>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the triage result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.triage", + "output": "none", + "path": "ao membrane triage", + "short": "Triage the catch corpus: the HONEST recurrence + compilability read (today: INSUFFICIENT-DATA)", + "use": "triage" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics", + "output": "none", + "path": "ao metrics", + "short": "Knowledge flywheel metrics", + "use": "metrics" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days for metrics calculation", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.baseline", + "output": "none", + "path": "ao metrics baseline", + "short": "Capture current flywheel state", + "use": "baseline" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Author/owner identity of the cited artifact", + "name": "artifact-author", + "origin": "local", + "required": false + }, + { + "description": "Agent identity recording the citation outcome", + "name": "cited-by-agent", + "origin": "local", + "required": false + }, + { + "description": "Model family of the citing/reviewing agent", + "name": "cited-by-family", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Search query that surfaced this artifact", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "Session ID (auto-detected if not provided)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Citation type: retrieved, used-in-final-artifact, helpful, harmful, refuted, applied, reference", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Model vendor attribution: claude, codex", + "name": "vendor", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.cite", + "output": "none", + "path": "ao metrics cite", + "short": "Record a citation event", + "use": "cite <artifact-path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.cite-report", + "output": "none", + "path": "ao metrics cite-report", + "short": "Aggregated citation report", + "use": "cite-report" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Citation namespace to evaluate (primary by default)", + "name": "namespace", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.health", + "output": "none", + "path": "ao metrics health", + "short": "Show flywheel health metrics", + "use": "health" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days for metrics calculation", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.report", + "output": "none", + "path": "ao metrics report", + "short": "Show flywheel metrics report", + "use": "report" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind", + "output": "none", + "path": "ao mind", + "short": "Knowledge graph operations", + "use": "mind" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.all", + "output": "none", + "path": "ao mind all", + "short": "Run full pipeline (normalize → link → index)", + "use": "all" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.graph", + "output": "none", + "path": "ao mind graph", + "short": "Show graph statistics", + "use": "graph" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.index", + "output": "none", + "path": "ao mind index", + "short": "Rebuild the graph index", + "use": "index" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.link", + "output": "none", + "path": "ao mind link", + "short": "Insert wikilinks between related artifacts", + "use": "link" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.normalize", + "output": "none", + "path": "ao mind normalize", + "short": "Add/fix YAML frontmatter on .agents/ markdown", + "use": "normalize" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mind.scan", + "output": "none", + "path": "ao mind scan", + "short": "Show what needs normalization", + "use": "scan" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Append actionable mine findings to .agents/rpi/next-work.jsonl for evolve to pick up", + "name": "emit-work-items", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Directory for mine output JSON", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Suppress progress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "How far back to look (e.g. 26h, 7d)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated sources to mine (git, agents, code, events)", + "name": "sources", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mine", + "output": "none", + "path": "ao mine", + "short": "Extract knowledge signal from git, .agents/, and code", + "use": "mine" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.next-work", + "output": "none", + "path": "ao next-work", + "short": "Operate on the harvested next-work queue (.agents/rpi/next-work.jsonl)", + "use": "next-work" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would be created without creating beads or mutating the queue", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Path to next-work.jsonl (default: <cwd>/.agents/rpi/next-work.jsonl)", + "name": "file", + "origin": "local", + "required": false + }, + { + "description": "Emit a machine-readable JSON summary", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Actor recorded in provenance metadata", + "name": "materialized-by", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Only materialize items whose batch source_epic equals this value", + "name": "source-epic", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.next-work.materialize", + "output": "none", + "path": "ao next-work materialize", + "short": "Create durable beads from unmaterialized harvested follow-ups", + "use": "materialize" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.notebook", + "output": "none", + "path": "ao notebook", + "short": "Manage the session notebook (MEMORY.md)", + "use": "notebook" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum lines in MEMORY.md", + "name": "max-lines", + "origin": "local", + "required": false + }, + { + "description": "Path to MEMORY.md (auto-detected if omitted)", + "name": "memory-file", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Suppress output (for hooks)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Specific session ID to update from", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Source: auto|sessions|pending", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.notebook.update", + "output": "none", + "path": "ao notebook update", + "short": "Update MEMORY.md with latest session insights", + "use": "update" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.patterns", + "output": "none", + "path": "ao patterns", + "short": "Inspect and repair .agents/patterns/ artifacts", + "use": "patterns" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Perform renames (default: dry-run, no disk writes)", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Patterns directory to repair (default: <cwd>/.agents/patterns)", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Suppress per-rename output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.patterns.repair-filenames", + "output": "none", + "path": "ao patterns repair-filenames", + "short": "Repair doubled/tripled prefixes in .agents/patterns/ filenames", + "use": "repair-filenames" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl", + "output": "none", + "path": "ao pawl", + "short": "Cross-family membrane review and verdict tooling (the in-repo acceptance pawl)", + "use": "pawl" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.doctor", + "output": "none", + "path": "ao pawl doctor", + "short": "Read-only standing pawl preflight: assert swarm binary (ntm-first), session, pane cwd/model, trust prompts, readiness, and evidence policy", + "use": "doctor [--json] [--expected-cwd PATH] [--expected-claude-model MODEL] [--expected-codex-model MODEL]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.down", + "output": "none", + "path": "ao pawl down", + "short": "Tear down the standing pawl-service (no orphan panes)", + "use": "down" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.health", + "output": "none", + "path": "ao pawl health", + "short": "Per-pane liveness/readiness of the standing pawl-service + the membrane tier", + "use": "health [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.metrics", + "output": "none", + "path": "ao pawl metrics", + "short": "p50/p95 route latency + agreement-rate SLOs over the recorded routes", + "use": "metrics [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.reap", + "output": "none", + "path": "ao pawl reap", + "short": "Tear down the standing pawl-service iff idle > PAWL_IDLE_TTL (substrate/cron schedules it; no-op otherwise)", + "use": "reap" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "CONFIRMED — cross-family verdict written", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — auto-redo", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — strict quorum could not run at two-family strength" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.review", + "output": "none", + "path": "ao pawl review", + "short": "Run the cross-family (codex) membrane review; on CONFIRMED write the commit-bound verdict", + "use": "review <bead-id> [--scope head|staged|upstream] [--base <sha>] [--converge] [--strict] [--author-family <fam>] [--context <s>] [--smoke <cmd>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.route", + "output": "none", + "path": "ao pawl route", + "short": "Route a review packet to the warm cross-family panel; require tier-appropriate agreement, record the verdict", + "use": "route <bead> <packet> [pr]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.smoke", + "output": "none", + "path": "ao pawl smoke", + "short": "Alias for pawl doctor: non-mutating readiness smoke before routing real reviews", + "use": "smoke [--json] [--expected-cwd PATH] [--expected-claude-model MODEL] [--expected-codex-model MODEL]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.up", + "output": "none", + "path": "ao pawl up", + "short": "Stand up the standing pawl-service — adaptive: probe installed families (claude/codex/agy) and form the strongest membrane; pin with --dual/--tri/--models. Readiness-gated, idempotent", + "use": "up [--dual|--tri|--models a,b,c]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.plan-pawl", + "output": "none", + "path": "ao plan-pawl", + "short": "The plan-pawl duel gate over discovery plans (docs/contracts/pawls.md)", + "use": "plan-pawl" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "PASS — the door opens", + "2": "usage error", + "3": "REDO — auto-redo loop (no human)", + "4": "BLOCKED — a circuit breaker tripped (andon)", + "5": "DEGRADED — transient panel lane loss below quorum; retry the panel" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "directory of judge verdict *.json files", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the decision as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "a reviewer raised an explicit value/irreversibility judgment (hard breaker)", + "name": "judgment-flag", + "origin": "local", + "required": false + }, + { + "description": "max rounds before the max-attempts breaker trips (<=0 = unbounded)", + "name": "max-rounds", + "origin": "local", + "required": false + }, + { + "description": "the same failure has repeated (hard breaker)", + "name": "oscillation", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "current round (1-based)", + "name": "round", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "judge verdict: family:disposition[:warnclass] (repeatable)", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.plan-pawl.decide", + "output": "none", + "path": "ao plan-pawl decide", + "short": "Decide a duel round: PASS / REDO / BLOCKED (exit 0 / 3 / 4)", + "use": "decide" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool", + "output": "none", + "path": "ao pool", + "short": "Manage quality pools", + "use": "pool" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include gold-tier candidates when using --promote", + "name": "include-gold", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Also stage+promote eligible candidates into .agents/ (not just approval)", + "name": "promote", + "origin": "local", + "required": false + }, + { + "description": "Minimum age for auto-promotion (default: 24h)", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.auto-promote", + "output": "none", + "path": "ao pool auto-promote", + "short": "Auto-promote eligible candidates older than threshold", + "use": "auto-promote" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Promote all pending regardless of criteria", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum age for promotion eligibility", + "name": "min-age", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.batch-promote", + "output": "none", + "path": "ao pool batch-promote", + "short": "Bulk promote pending candidates to knowledge base", + "use": "batch-promote" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Directory to ingest from when no args are provided", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.ingest", + "output": "none", + "path": "ao pool ingest", + "short": "Ingest pending markdown learnings into the pool", + "use": "ingest [<files-or-globs...>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum results to return (default 50, 0 for unlimited)", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Skip first N results (for pagination)", + "name": "offset", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter by status (pending, staged, promoted, rejected)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Filter by tier (gold, silver, bronze)", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Show full IDs without truncation", + "name": "wide", + "origin": "local", + "required": false, + "shorthand": "w" + } + ], + "id": "ao.pool.list", + "output": "none", + "path": "ao pool list", + "short": "List candidates in pools", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.promote", + "output": "none", + "path": "ao pool promote", + "short": "Promote candidate to knowledge base", + "use": "promote <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print counts only; do not write to the index", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Emit structured JSON output", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.reindex", + "output": "none", + "path": "ao pool reindex", + "short": "Backfill promoted-index.jsonl from on-disk learnings/patterns", + "use": "reindex" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reason for rejection (required)", + "name": "reason", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.reject", + "output": "none", + "path": "ao pool reject", + "short": "Reject candidate", + "use": "reject <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.show", + "output": "none", + "path": "ao pool show", + "short": "Show candidate details", + "use": "show <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum tier threshold (default: bronze)", + "name": "min-tier", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.stage", + "output": "none", + "path": "ao pool stage", + "short": "Stage candidate for promotion", + "use": "stage <candidate-id>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance", + "output": "none", + "path": "ao provenance", + "short": "Write and read the SDLC provenance edge ledger", + "use": "provenance" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Optional evidence pointer (path, commit, CI run URL, event id)", + "name": "evidence", + "origin": "local", + "required": false + }, + { + "description": "Source node type (decision|artifact|bead|...)", + "name": "from-type", + "origin": "local", + "required": false + }, + { + "description": "Emit the sealed edge as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Typed PROV-O relation (required), e.g. wasGeneratedBy", + "name": "relation", + "origin": "local", + "required": false + }, + { + "description": "Target node type (decision|artifact|bead|...)", + "name": "to-type", + "origin": "local", + "required": false + }, + { + "description": "Trust tier (authored|inferred|mined)", + "name": "trust-tier", + "origin": "local", + "required": false + }, + { + "description": "Override the UTC RFC3339 timestamp (defaults to now)", + "name": "ts", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.add", + "output": "none", + "path": "ao provenance add", + "short": "Append a provenance edge to the ledger", + "use": "add <from-id> <to-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Single commit-ish to emit edges for (default HEAD when no --range)", + "name": "commit", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Resolve and print edges without writing the ledger", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Emit appended edges as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Git revision range (e.g. origin/main..HEAD); emits for every commit in it", + "name": "range", + "origin": "local", + "required": false + }, + { + "description": "Require each commit to be an ancestor of this ref (e.g. origin/main) before emitting; merge_sha uses the resolved full OID", + "name": "trunk-ref", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.emit-landed", + "output": "none", + "path": "ao provenance emit-landed", + "short": "Auto-emit bead→commit provenance edges for landed commits", + "use": "emit-landed" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Resolve and print edges without writing the ledger", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Path to the pawl-verdict JSON file (required)", + "name": "file", + "origin": "local", + "required": true + }, + { + "description": "Emit appended edges as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.emit-verdict", + "output": "none", + "path": "ao provenance emit-verdict", + "short": "Emit verdict→commit provenance edges from a pawl-verdict file", + "use": "emit-verdict" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit a single indented JSON array instead of JSONL", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Verify the re-chained export and print only a one-line summary", + "name": "verify", + "origin": "local", + "required": false + } + ], + "id": "ao.provenance.export", + "output": "none", + "path": "ao provenance export", + "short": "Emit a deterministic, hash-chained rendering of the provenance ledger", + "use": "export" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.ledger-reader-version", + "output": "none", + "path": "ao provenance ledger-reader-version", + "short": "Print this binary's ledger-reader capability level (the pre-push hook's ao-version floor probe)", + "use": "ledger-reader-version" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Filter to edges whose from_id matches", + "name": "from-id", + "origin": "local", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter to edges with this relation", + "name": "relation", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.list", + "output": "none", + "path": "ao provenance list", + "short": "Read provenance edges back from the ledger", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the session transcript (.jsonl) to mine (required)", + "name": "file", + "origin": "local", + "required": false + }, + { + "description": "Emit events as JSONL on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to the incremental watermark state JSON (created/updated; omit for a full one-shot mine)", + "name": "state", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.mine-session", + "output": "none", + "path": "ao provenance mine-session", + "short": "Mine deterministic per-inference provenance events from a session transcript", + "use": "mine-session --file <session.jsonl>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.position", + "output": "none", + "path": "ao provenance position", + "short": "Report the navigator's current position from the provenance ledger", + "use": "position" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Verdicts dir (default: <repo>/.agents/pawl-verdicts)", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Re-emit missing ledger edges for unbound verdicts", + "name": "emit", + "origin": "local", + "required": false + }, + { + "description": "Run even with an uncommitted ledger worktree", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Emit the reconcile result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.reconcile", + "output": "none", + "path": "ao provenance reconcile", + "short": "Detect (and optionally repair) verdict-file / ledger-edge desyncs", + "use": "reconcile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.show", + "output": "none", + "path": "ao provenance show", + "short": "Render the human verdict lineage for one commit or bead", + "use": "show <sha|bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the JSONL trace-graph to audit (required)", + "name": "graph", + "origin": "local", + "required": false + }, + { + "description": "Emit each finding as one JSON object per line", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Audit for artifact nodes with no inbound provenance edge", + "name": "orphans", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero when any orphan exists", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.trace", + "output": "none", + "path": "ao provenance trace", + "short": "Audit the provenance graph for orphan artifacts (no inbound edge)", + "use": "trace" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the machine-readable verify result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.verify", + "output": "none", + "path": "ao provenance verify", + "short": "Verify the committed provenance ledger's hash chain IN PLACE", + "use": "verify" + }, + { + "aliases": [ + "quickstart" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimal setup (just directories)", + "name": "minimal", + "origin": "local", + "required": false + }, + { + "description": "Skip beads initialization", + "name": "no-beads", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.quick-start", + "output": "none", + "path": "ao quick-start", + "short": "Set up AgentOps in your project (5 minutes)", + "use": "quick-start" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet", + "output": "none", + "path": "ao ratchet", + "short": "Brownian Ratchet workflow tracking", + "use": "ratchet" + }, + { + "aliases": [ + "c" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.check", + "output": "none", + "path": "ao ratchet check", + "short": "Check if step gate is met", + "use": "check <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.find", + "output": "none", + "path": "ao ratchet find", + "short": "Search for artifacts", + "use": "find <pattern>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.migrate", + "output": "none", + "path": "ao ratchet migrate", + "short": "Migrate legacy chain", + "use": "migrate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.migrate-artifacts", + "output": "none", + "path": "ao ratchet migrate-artifacts", + "short": "Add schema_version to artifacts (ol-a46.1.3)", + "use": "migrate-artifacts [path]" + }, + { + "aliases": [ + "n" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Filter by epic ID", + "name": "epic", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.next", + "output": "none", + "path": "ao ratchet next", + "short": "Show next pending RPI step", + "use": "next" + }, + { + "aliases": [ + "p" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Target tier (0-4, required)", + "name": "to", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.promote", + "output": "none", + "path": "ao ratchet promote", + "short": "Record tier promotion", + "use": "promote <artifact>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "RPI cycle number (1 for first, 2+ for iterations)", + "name": "cycle", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Input artifact path", + "name": "input", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Lock the step (engage ratchet)", + "name": "lock", + "origin": "local", + "required": false + }, + { + "description": "Output artifact path (required)", + "name": "output", + "origin": "local", + "required": true + }, + { + "description": "Parent epic ID from prior RPI cycle", + "name": "parent-epic", + "origin": "local", + "required": false + }, + { + "description": "Quality tier (0-4)", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.record", + "output": "none", + "path": "ao ratchet record", + "short": "Record step completion", + "use": "record <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reason for skipping (required)", + "name": "reason", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.skip", + "output": "none", + "path": "ao ratchet skip", + "short": "Record intentional skip", + "use": "skip <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.spec", + "output": "none", + "path": "ao ratchet spec", + "short": "Get current spec path", + "use": "spec" + }, + { + "aliases": [ + "s" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Filter by chain ID", + "name": "chain", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Filter by epic ID", + "name": "epic", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.status", + "output": "none", + "path": "ao ratchet status", + "short": "Show ratchet chain state", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.trace", + "output": "none", + "path": "ao ratchet trace", + "short": "Trace provenance backward", + "use": "trace <artifact>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Files to validate", + "name": "changes", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Allow legacy artifacts without schema_version (expires in 90 days)", + "name": "lenient", + "origin": "local", + "required": false + }, + { + "description": "Days until lenient bypass expires", + "name": "lenient-expiry", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.validate", + "output": "none", + "path": "ao ratchet validate", + "short": "Validate step requirements", + "use": "validate <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ready", + "output": "none", + "path": "ao ready", + "short": "Print harness-neutral ready bead state as JSON", + "use": "ready" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "maximum bead and run records to sample", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "GitHub repo override for gh calls (owner/name)", + "name": "repo", + "origin": "local", + "required": false + }, + { + "description": "recent .agents evidence window", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.reconcile", + "output": "none", + "path": "ao reconcile", + "short": "Join git, CI, release, beads, and .agents truth into one report", + "use": "reconcile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.redact", + "output": "none", + "path": "ao redact", + "short": "Scrub secrets from stdin to stdout (canonical redactor)", + "use": "redact" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.refinery", + "output": "none", + "path": "ao refinery", + "short": "Continuous main-validation backstop (run on bushido)", + "use": "refinery" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.refinery.once", + "output": "none", + "path": "ao refinery once", + "short": "Evaluate main HEAD once", + "use": "once" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "poll interval", + "name": "interval", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.refinery.run", + "output": "none", + "path": "ao refinery run", + "short": "Run the refinery loop until interrupted", + "use": "run" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.registry", + "output": "none", + "path": "ao registry", + "short": "Query the unified registry", + "use": "registry" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter by surface type (skills, hooks, stores, jobs, evals, cli, cadence)", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.registry.list", + "output": "none", + "path": "ao registry list", + "short": "List registry entries", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.robot-docs", + "output": "none", + "path": "ao robot-docs", + "short": "Print the paste-ready agent handbook for the ao CLI (Markdown)", + "use": "robot-docs" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope", + "output": "none", + "path": "ao scope", + "short": "Manage edit-scope guard (freeze, unfreeze, status)", + "use": "scope" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON output", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Override scope-lock path (defaults to $AO_SCOPE_LOCK or .agents/scope.lock)", + "name": "lock", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope.freeze", + "output": "none", + "path": "ao scope freeze", + "short": "Freeze one or more directories (additive)", + "use": "freeze <dir> [<dir>...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON output", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Override scope-lock path (defaults to $AO_SCOPE_LOCK or .agents/scope.lock)", + "name": "lock", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope.status", + "output": "none", + "path": "ao scope status", + "short": "Show current scope-lock state", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON output", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Override scope-lock path (defaults to $AO_SCOPE_LOCK or .agents/scope.lock)", + "name": "lock", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope.unfreeze", + "output": "none", + "path": "ao scope unfreeze", + "short": "Unfreeze one (or all if no arg) directories", + "use": "unfreeze [<dir>...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Require upstream cass session-history search", + "name": "cass", + "origin": "local", + "required": false + }, + { + "description": "Optional citation type to record for matching repo-local artifacts: retrieved, reference, applied", + "name": "cite", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum results to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Force repo-local AgentOps search only", + "name": "local", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Session ID for citation tracking (defaults to the active runtime session)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Filter by type: session(s), learning(s), pattern(s), finding(s), research, compiled, vault-source(s), decision(s), knowledge", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Try Smart Connections semantic search first (requires Obsidian)", + "name": "use-sc", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.search", + "output": "none", + "path": "ao search", + "short": "Search workspace session history and repo-local knowledge", + "use": "search <query>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite existing seed files", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Goal template: go-cli, python-lib, web-app, rust-cli, generic (default: auto-detect)", + "name": "template", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.seed", + "output": "none", + "path": "ao seed", + "short": "Plant the seed in any repository", + "use": "seed [path]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session", + "output": "none", + "path": "ao session", + "short": "Session lifecycle operations", + "use": "session" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable status as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Skip the mcp-agent-mail probe", + "name": "no-mail", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Robot mode: JSON output with tight exit-code contract for SessionStart hooks", + "name": "robot", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.bootstrap", + "output": "none", + "path": "ao session bootstrap", + "short": "Universal init prompt — every agent runs this first", + "use": "bootstrap" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Extract lightweight learnings (quality-filtered) and write handoff artifact", + "name": "auto-extract", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Session ID to close (default: most recent transcript)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.close", + "output": "none", + "path": "ao session close", + "short": "Forge transcript, extract learnings, measure flywheel impact", + "use": "close" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Auto-collect git/bead state into the artifact", + "name": "collect", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print artifact to stdout without writing file", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Epic ID for RPI context", + "name": "epic", + "origin": "local", + "required": false + }, + { + "description": "What the session was working on", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write artifact without restarting the session via tmux", + "name": "no-kill", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "RPI phase number (populates RPI context, sets type=rpi)", + "name": "rpi-phase", + "origin": "local", + "required": false + }, + { + "description": "Run ID for RPI context", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.handoff", + "output": "none", + "path": "ao session handoff", + "short": "Write a structured handoff artifact for session boundary isolation", + "use": "handoff [summary]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.memory", + "output": "none", + "path": "ao session memory", + "short": "Manage repo-root MEMORY.md for cross-runtime access", + "use": "memory" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum session entries to keep", + "name": "max-entries", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Output path (default: MEMORY.md in repo root)", + "name": "output-file", + "origin": "local", + "required": false + }, + { + "description": "Suppress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.memory.sync", + "output": "none", + "path": "ao session memory sync", + "short": "Sync session history to repo-root MEMORY.md", + "use": "sync" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the raw handoff artifact as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Read the brief without marking the handoff consumed", + "name": "peek", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.rehydrate", + "output": "none", + "path": "ao session rehydrate", + "short": "Restore a lane from its latest handoff (the read-side of handoff→clear→rehydrate)", + "use": "rehydrate" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state", + "output": "none", + "path": "ao session state", + "short": "Validate, admit, verify, and doctor AgentOps state memory", + "use": "state" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Path to an .ao Finding candidate JSON file (required)", + "name": "candidate", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Destination under .ao/accepted/findings/ (default: finding id)", + "name": "destination", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Deprecated alias for --candidate", + "name": "finding", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum age for reviewed findings", + "name": "max-age-days", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Path to an independent admission verdict JSON file (required)", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.session.state.admit", + "output": "none", + "path": "ao session state admit", + "short": "Admit one independently reviewed Finding candidate into .ao/accepted", + "use": "admit --candidate <path> --verdict <path>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.candidate", + "output": "none", + "path": "ao session state candidate", + "short": "Inspect inert .ao state candidates", + "use": "candidate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.candidate.validate", + "output": "none", + "path": "ao session state candidate validate", + "short": "Validate an inert .ao Finding candidate and print its digest", + "use": "validate <path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.doctor", + "output": "none", + "path": "ao session state doctor", + "short": "Diagnose state memory health", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.review-request", + "output": "none", + "path": "ao session state review-request", + "short": "Emit the digest-bound review request for a Finding candidate", + "use": "review-request <candidate>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.validate", + "output": "none", + "path": "ao session state validate", + "short": "Validate state memory JSON files against their schemas", + "use": "validate <file> [file...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Verify all .ao state authority surfaces", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.verify", + "output": "none", + "path": "ao session state verify", + "short": "Verify .ao state schemas, fixtures, accepted findings, and ledger rows", + "use": "verify" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.sessions", + "output": "none", + "path": "ao sessions", + "short": "Manage indexed session pages", + "use": "sessions" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Delete derived session pages whose source_jsonl no longer exists", + "name": "prune-orphans", + "origin": "local", + "required": false + }, + { + "description": "Directory containing derived session pages (default: .agents/ao/sessions)", + "name": "sessions-dir", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.sessions.index", + "output": "none", + "path": "ao sessions index", + "short": "Maintain indexed session pages", + "use": "index" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Override date for template expansion (default: today, YYYY-MM-DD)", + "name": "date", + "origin": "local", + "required": false + }, + { + "description": "Print expanded template and init steps without executing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Run init steps but skip tmux session creation", + "name": "no-tmux", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.sessions.spawn", + "output": "none", + "path": "ao sessions spawn", + "short": "Cold-start a session from a TOML template", + "use": "spawn <template-path>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills", + "output": "none", + "path": "ao skills", + "short": "Inspect and validate the skills/ tree", + "use": "skills" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Restrict the audit to a single skill name", + "name": "skill", + "origin": "local", + "required": false + }, + { + "description": "Exit non-zero on any finding (CI mode)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.check", + "output": "none", + "path": "ao skills check", + "short": "Audit skills/ frontmatter, references, and codex parity", + "use": "check" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.consumers", + "output": "none", + "path": "ao skills consumers", + "short": "List skills that consume the named skill", + "use": "consumers <skill>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit", + "output": "none", + "path": "ao skills edit", + "short": "Seal and summarize live skill edits", + "use": "edit" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Critical skills policy file (default: docs/contracts/critical-skills.txt)", + "name": "critical-policy", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "git log --since value", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit.digest", + "output": "none", + "path": "ao skills edit digest", + "short": "Summarize recent committed skill edits", + "use": "digest" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Agent/operator name recorded in the commit body", + "name": "actor", + "origin": "local", + "required": false + }, + { + "description": "Allow a critical skill edit; use only for human-supervised edits", + "name": "allow-critical", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Critical skills policy file (default: docs/contracts/critical-skills.txt)", + "name": "critical-policy", + "origin": "local", + "required": false + }, + { + "description": "Check policy and print the commit action without staging or committing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Commit subject (default: chore(skills): update <skill> via live edit)", + "name": "message", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Skill slug under skills/<slug> to seal", + "name": "skill", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit.seal", + "output": "none", + "path": "ao skills edit seal", + "short": "Commit one live skill edit with critical-skill protection", + "use": "seal" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Maximum number of results to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.find", + "output": "none", + "path": "ao skills find", + "short": "Rank skills by how well they match a free-text intent", + "use": "find <intent>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Graph output format (mermaid|json)", + "name": "format", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.graph", + "output": "none", + "path": "ao skills graph", + "short": "Render the generated skill dependency graph", + "use": "graph" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Link into this single dir instead of the auto-detected runtimes (default: every installed runtime — ~/.claude, ~/.codex, ~/.gemini, ~/.cursor, ~/.pi)", + "name": "dest", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.link", + "output": "none", + "path": "ao skills link", + "short": "Symlink repo skills into every installed runtime's live tier (Claude, Codex, AGY, Cursor)", + "use": "link" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Filter to skills that consume this port/sibling", + "name": "consumes", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter to skills that apply this practice", + "name": "practice", + "origin": "local", + "required": false + }, + { + "description": "Filter to skills that produce this port/artifact", + "name": "produces", + "origin": "local", + "required": false + }, + { + "description": "Filter by hexagonal_role (domain, driving-adapter, ...)", + "name": "role", + "origin": "local", + "required": false + }, + { + "description": "Filter by user-invocability (true|false)", + "name": "user-invocable", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.list", + "output": "none", + "path": "ao skills list", + "short": "Query the generated skill catalog (skills/catalog.json)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.producers", + "output": "none", + "path": "ao skills producers", + "short": "List skills that produce the named port/artifact", + "use": "producers <output>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero when ME overlaps are found (CI dedup gate)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.resolve", + "output": "none", + "path": "ao skills resolve", + "short": "MECE audit: flag overlapping skills (merge candidates) and coverage gaps", + "use": "resolve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Allow retiring a slug listed in docs/contracts/critical-skills.txt", + "name": "allow-critical", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report every planned operation without mutating anything", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Target skill the retiree merges into (historical state merged-into; default: cut)", + "name": "into", + "origin": "local", + "required": false + }, + { + "description": "Emit a machine-readable JSON report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Skip the regen scripts after the ledger flip", + "name": "no-regen", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.retire", + "output": "none", + "path": "ao skills retire", + "short": "Retire a skill: remove its trees, flip the dispositions ledger, regen, and report ripples", + "use": "retire <slug>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.status", + "output": "none", + "path": "ao status", + "short": "Show AgentOps status", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Show ASCII provenance graph", + "name": "graph", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.trace", + "output": "none", + "path": "ao trace", + "short": "Track artifact provenance", + "use": "trace <artifact-path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Validate artifacts bound to a bead id", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Explicit files to validate", + "name": "changes", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Exit-code mode: 0=PASS/WARN, 1=FAIL, 2=error", + "name": "gate", + "origin": "local", + "required": false + }, + { + "description": "Structured verdict (honored in both modes)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Allow legacy artifacts without schema_version", + "name": "lenient", + "origin": "local", + "required": false + }, + { + "description": "Days until lenient bypass expires", + "name": "lenient-expiry", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Promote WARN to FAIL (exit 1)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Alias for --strict", + "name": "warn-as-fail", + "origin": "local", + "required": false + } + ], + "id": "ao.validate", + "output": "none", + "path": "ao validate", + "short": "Umbrella validation gate (exit-code-as-verdict with --gate)", + "use": "validate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verdict-gate", + "output": "none", + "path": "ao verdict-gate", + "short": "Reject verdicts without commands and independent judge identity", + "use": "verdict-gate <file|->" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "CONFIRMED — verdict written and bound to the commit", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — defects printed; fix and re-run", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — committed policy is invalid or strict quorum cannot run at two-family strength" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify", + "output": "none", + "path": "ao verify", + "short": "Independent cross-family verdict on your change — no verdict = not done", + "use": "verify <change-id> [--scope head|staged] [--converge] [--strict] [--author-family <fam>] [--context <s>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Uninstall the ratchet, restoring any pre-existing pre-push hook byte-identically", + "name": "remove", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.init", + "output": "none", + "path": "ao verify init", + "short": "Install the portable pre-push verdict ratchet (a local hook enforcing no verdict = not done)", + "use": "init [--remove]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.receipts", + "output": "none", + "path": "ao verify receipts", + "short": "Render this repo's membrane-receipts proof page from its provenance ledger", + "use": "receipts" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Trailing window in days for the trend section (<=0 = all time)", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Ledger path override (default: repo docs/provenance/ledger.jsonl)", + "name": "ledger", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.stats", + "output": "none", + "path": "ao verify stats", + "short": "Cost-of-verified-done instrument, derived entirely from the provenance ledger", + "use": "stats" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.version", + "output": "none", + "path": "ao version", + "short": "Show version information", + "use": "version" + }, + { + "aliases": [ + "vibecheck" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Show all metrics and findings (verbose)", + "name": "full", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output as markdown report", + "name": "markdown", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to git repository", + "name": "repo", + "origin": "local", + "required": false + }, + { + "description": "Time window for analysis (e.g., 7d, 30d, 90d)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.vibe-check", + "output": "none", + "path": "ao vibe-check", + "short": "Analyze codebase health and vibe", + "use": "vibe-check" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki", + "output": "none", + "path": "ao wiki", + "short": "Unified wiki knowledge surface (experimental)", + "use": "wiki" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.add", + "output": "none", + "path": "ao wiki add", + "short": "Add source files into the active wiki workspace's raw/ + registry", + "use": "add <file|dir>..." + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Corpus base directory (default: current directory)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.doctor", + "output": "none", + "path": "ao wiki doctor", + "short": "Diagnose the wiki corpus and index (experimental)", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "override the promotion confidence floor (default 0.70)", + "name": "confidence-floor", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "report what would be promoted without writing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "emit stats as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "output directory for the OKF gold wiki", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.gold", + "output": "none", + "path": "ao wiki gold", + "short": "Compile .agents/ into a sanitized OKF wiki under .ao/wiki/ (experimental)", + "use": "gold" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Corpus base directory (default: current directory)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Index the OKF gold wiki (.ao/wiki) instead of the raw .agents/ corpus", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.index", + "output": "none", + "path": "ao wiki index", + "short": "Build or refresh the persistent wiki document index (experimental)", + "use": "index" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Primary language for the wiki (recorded in config)", + "name": "language", + "origin": "local", + "required": false + }, + { + "description": "Model the wiki is initialized for (recorded in config)", + "name": "model", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.init", + "output": "none", + "path": "ao wiki init", + "short": "Scaffold an OpenKB-style wiki workspace (layout + config + schema)", + "use": "init [path]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.inject", + "output": "none", + "path": "ao wiki inject", + "short": "Assemble just-in-time context (experimental; see ao inject)", + "use": "inject" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Apply safe deterministic repairs (strip dangling wikilinks); read-only without this flag", + "name": "fix", + "origin": "local", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Run the legacy WikiPipeline LINT stage instead of the structural health check", + "name": "pipeline-stage", + "origin": "local", + "required": false + }, + { + "description": "Vault root (default: current directory)", + "name": "vault", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.lint", + "output": "none", + "path": "ao wiki lint", + "short": "Run the wiki pipeline LINT stage (experimental)", + "use": "lint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Filter to one frontmatter type (e.g. concept, entity, summary)", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.list", + "output": "none", + "path": "ao wiki list", + "short": "List the pages in the active wiki workspace (optionally by type)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Vault root (default: current directory)", + "name": "vault", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.promote", + "output": "none", + "path": "ao wiki promote", + "short": "Run the wiki pipeline PROMOTE stage (experimental)", + "use": "promote" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "bead whose CONFIRMED verdict for HEAD authorizes real publish (required without --dry-run)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "override the promotion confidence floor", + "name": "confidence-floor", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "compute + leak-scan the candidate without publishing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "fail closed unless the recomputed digest matches this (publish exactly what dry-run reviewed)", + "name": "expect-digest", + "origin": "local", + "required": false + }, + { + "description": "emit the candidate report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.publish", + "output": "none", + "path": "ao wiki publish", + "short": "Publish the gold wiki behind the membrane gate (leak-scan + commit verdict)", + "use": "publish" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Vault root (default: current directory)", + "name": "vault", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.query", + "output": "none", + "path": "ao wiki query", + "short": "Run the wiki pipeline QUERY stage (experimental)", + "use": "query" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Recompile the whole workspace", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "List sources that would be recompiled without writing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Also rewrite the workspace config/schema", + "name": "refresh-schema", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.recompile", + "output": "none", + "path": "ao wiki recompile", + "short": "Recompile workspace sources (re-run the ingest/compile stage)", + "use": "recompile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report artifacts that would be removed without deleting", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Leave the raw/ source file in place", + "name": "keep-raw", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.remove", + "output": "none", + "path": "ao wiki remove", + "short": "Remove a source and its derived artifacts from the workspace", + "use": "remove <doc>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Corpus base directory (default: current directory)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Search the OKF gold wiki (.ao/wiki) instead of the raw .agents/ corpus", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum results to print", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Rebuild the index before searching", + "name": "reindex", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.search", + "output": "none", + "path": "ao wiki search", + "short": "Rank indexed wiki documents against a query (experimental)", + "use": "search <query>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.status", + "output": "none", + "path": "ao wiki status", + "short": "Summarize page counts and structural health of the active wiki", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.use", + "output": "none", + "path": "ao wiki use", + "short": "Select (or show) the active wiki workspace for subsequent commands", + "use": "use [path]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.worktree", + "output": "none", + "path": "ao worktree", + "short": "Worktree maintenance utilities", + "use": "worktree" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {path, run_id} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.worktree.create", + "output": "none", + "path": "ao worktree create", + "short": "Create an isolated per-session worktree for concurrency-safe work", + "use": "create" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Clean stale ao-rpi tmux sessions without active run/worktree", + "name": "clean-tmux", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Also clean worktrees with uncommitted changes (unsafe)", + "name": "include-dirty", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run 'git worktree prune' after cleanup", + "name": "prune", + "origin": "local", + "required": false + }, + { + "description": "Only clean worktrees/sessions older than this age", + "name": "stale-after", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.worktree.gc", + "output": "none", + "path": "ao worktree gc", + "short": "Garbage-collect stale RPI worktrees and orphaned tmux sessions", + "use": "gc" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield", + "output": "none", + "path": "ao yield", + "short": "Record dynamo yield-ledger events (per-bead operational stream)", + "use": "yield" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "bead id this event is keyed to (required)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "the typed body object as a single JSON blob", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "factory run/cycle id (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "optional RFC3339 timestamp; defaults to now (UTC)", + "name": "ts", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.emit", + "output": "none", + "path": "ao yield emit", + "short": "Append one accept|gate-verdict|usage event to the yield ledger", + "use": "emit <accept|gate-verdict|usage> --bead <id> --run <id> [--json <body> | typed flags]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "ag-8p8o's published corpus delta (C); omit to report C as pending", + "name": "c-delta", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the computed gauges as JSON for machine consumption", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "factory run/cycle id to compute gauges for (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.gauge", + "output": "none", + "path": "ao yield gauge", + "short": "Compute the yield gauges (A, Q, A/R, E, L) for a run + print shadow-mode hypotheses", + "use": "gauge --run <id> [--json] [--c-delta <float>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the full report struct as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "cutoff: an RFC3339 instant or a duration lookback like 8h (default 24h)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.report", + "output": "none", + "path": "ao yield report", + "short": "The on-the-loop governance surface: the YIELD and the ANDON QUEUE since a cutoff", + "use": "report [--since <RFC3339|duration>] [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit {\"tokens_in\":N,\"tokens_out\":M} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "emit two whitespace-separated values: tokens_in tokens_out", + "name": "pair", + "origin": "local", + "required": false + }, + { + "description": "path to a session transcript (JSONL) to sum tokens from (required)", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.tokens", + "output": "none", + "path": "ao yield tokens", + "short": "Sum the real tokens_in/tokens_out from a session transcript (for a usage event)", + "use": "tokens --transcript <path> [--json]" + } + ], + "contract_version": "1.1", + "env_vars": { + "AGENTOPS_ACTOR": "AgentOps runtime input: actor", + "AGENTOPS_ACTOR_EMAIL": "AgentOps runtime input: actor email", + "AGENTOPS_AUTO_PRUNE": "AgentOps runtime input: auto prune", + "AGENTOPS_BASE_DIR": "AgentOps runtime input: base dir", + "AGENTOPS_CANON_JUDGE": "AgentOps runtime input: canon judge", + "AGENTOPS_CANON_VERIFIER_CMD": "AgentOps runtime input: canon verifier cmd", + "AGENTOPS_COMPILE_RUNTIME": "AgentOps runtime input: compile runtime", + "AGENTOPS_CONFIG": "path to the config file (overridden by --config)", + "AGENTOPS_COUNCIL_MODEL_TIER": "AgentOps runtime input: council model tier", + "AGENTOPS_DEDUP_CONFIRM_THRESHOLD": "AgentOps runtime input: dedup confirm threshold", + "AGENTOPS_DREAM_CURATOR_ENABLED": "AgentOps runtime input: dream curator enabled", + "AGENTOPS_DREAM_CURATOR_ENGINE": "AgentOps runtime input: dream curator engine", + "AGENTOPS_DREAM_CURATOR_MODEL": "AgentOps runtime input: dream curator model", + "AGENTOPS_DREAM_CURATOR_OLLAMA_URL": "AgentOps runtime input: dream curator ollama url", + "AGENTOPS_DREAM_CURATOR_VAULT_DIR": "AgentOps runtime input: dream curator vault dir", + "AGENTOPS_DREAM_CURATOR_WORKER_DIR": "AgentOps runtime input: dream curator worker dir", + "AGENTOPS_DREAM_KEEP_AWAKE": "AgentOps runtime input: dream keep awake", + "AGENTOPS_DREAM_REPORT_DIR": "AgentOps runtime input: dream report dir", + "AGENTOPS_DREAM_RUN_TIMEOUT": "AgentOps runtime input: dream run timeout", + "AGENTOPS_EVALS_ROOT": "AgentOps runtime input: evals root", + "AGENTOPS_EVALS_VENV": "AgentOps runtime input: evals venv", + "AGENTOPS_EVICTION_DISABLED": "AgentOps runtime input: eviction disabled", + "AGENTOPS_FLYWHEEL_AUTO_PROMOTE_THRESHOLD": "AgentOps runtime input: flywheel auto promote threshold", + "AGENTOPS_FORGE_LEGACY_LOCAL_LLM": "AgentOps runtime input: forge legacy local llm", + "AGENTOPS_FORGE_TIER1_DISABLE": "AgentOps runtime input: forge tier1 disable", + "AGENTOPS_FORGE_TYPED": "AgentOps runtime input: forge typed", + "AGENTOPS_GATE_RANGE": "AgentOps runtime input: gate range", + "AGENTOPS_HOLDOUT_EVALUATOR": "AgentOps runtime input: holdout evaluator", + "AGENTOPS_HOOKS_DISABLED": "AgentOps runtime input: hooks disabled", + "AGENTOPS_LEGACY": "AgentOps runtime input: legacy", + "AGENTOPS_LLM_ENDPOINT": "AgentOps runtime input: llm endpoint", + "AGENTOPS_MODEL_TIER": "AgentOps runtime input: model tier", + "AGENTOPS_NO_SC": "AgentOps runtime input: no sc", + "AGENTOPS_ORCHESTRATION": "set to off to disable spawning and use the single-agent beads floor", + "AGENTOPS_OUTPUT": "AgentOps runtime input: output", + "AGENTOPS_REDACTION_DENYLIST": "AgentOps runtime input: redaction denylist", + "AGENTOPS_REPO_ROOT": "AgentOps runtime input: repo root", + "AGENTOPS_RESERVATION_ID": "AgentOps runtime input: reservation id", + "AGENTOPS_RETRIEVAL_RERANK_ENDPOINT": "AgentOps runtime input: retrieval rerank endpoint", + "AGENTOPS_RPI_AO_COMMAND": "AgentOps runtime input: rpi ao command", + "AGENTOPS_RPI_BD_COMMAND": "AgentOps runtime input: rpi bd command", + "AGENTOPS_RPI_MERGE_RETRY_DELAY": "AgentOps runtime input: rpi merge retry delay", + "AGENTOPS_RPI_RUNTIME": "AgentOps runtime input: rpi runtime", + "AGENTOPS_RPI_RUNTIME_COMMAND": "AgentOps runtime input: rpi runtime command", + "AGENTOPS_RPI_RUNTIME_MODE": "AgentOps runtime input: rpi runtime mode", + "AGENTOPS_RPI_TMUX_COMMAND": "AgentOps runtime input: rpi tmux command", + "AGENTOPS_RPI_WORKTREE_MODE": "AgentOps runtime input: rpi worktree mode", + "AGENTOPS_TRACKER": "force the selected tracker backend when supported", + "AGENTOPS_TRUST_REPO": "AgentOps runtime input: trust repo", + "AGENTOPS_VERBOSE": "AgentOps runtime input: verbose", + "AGENTOPS_VERIFY_PREPUSH_SKIP": "AgentOps runtime input: verify prepush skip", + "AO_AGENTS_DIR": "ao command/runtime input: agents dir", + "AO_BIN": "ao command/runtime input: bin", + "AO_CITATION_NAMESPACE": "ao command/runtime input: citation namespace", + "AO_CONTEXT_VARIANT": "ao command/runtime input: context variant", + "AO_COUNCIL_DIR": "ao command/runtime input: council dir", + "AO_DECISIONS_DIR": "ao command/runtime input: decisions dir", + "AO_DEPOSIT_GATE": "ao command/runtime input: deposit gate", + "AO_DOCTOR_BACKUPS_DIR": "ao command/runtime input: doctor backups dir", + "AO_DOCTOR_HEAL_TIMEOUT": "ao command/runtime input: doctor heal timeout", + "AO_DOCTOR_LOG_LEVEL": "trace|debug|info|warn|error — verbosity of the doctor surface", + "AO_FINDINGS_DIR": "ao command/runtime input: findings dir", + "AO_HOME": "ao command/runtime input: home", + "AO_HOOKS_DIR": "ao command/runtime input: hooks dir", + "AO_KNOWLEDGE_ROOT": "ao command/runtime input: knowledge root", + "AO_LAND_REEXECED": "ao command/runtime input: land reexeced", + "AO_LAND_REVIEW_BASE": "ao command/runtime input: land review base", + "AO_LEARNINGS_DIR": "ao command/runtime input: learnings dir", + "AO_MAX_PROMOTIONS": "ao command/runtime input: max promotions", + "AO_PATTERNS_DIR": "ao command/runtime input: patterns dir", + "AO_PLANS_DIR": "ao command/runtime input: plans dir", + "AO_RESERVATION_ID": "ao command/runtime input: reservation id", + "AO_RETRIEVAL_EPSILON": "ao command/runtime input: retrieval epsilon", + "AO_RPI_DIR": "ao command/runtime input: rpi dir", + "AO_SCOPE_LOCK": "ao command/runtime input: scope lock", + "AO_SESSION_ID": "ao command/runtime input: session id", + "NO_COLOR": "disable ANSI styling on all output", + "PAWL_AUTHOR_FAMILY": "pawl review/runtime input: author family", + "PAWL_AUTOBIND": "enable or disable automatic provenance binding after an authorizing verdict", + "PAWL_BUNDLE_STATUS": "pawl review/runtime input: bundle status", + "PAWL_DRY_RUN": "pawl review/runtime input: dry run", + "PAWL_IDLE_TTL": "pawl review/runtime input: idle ttl", + "PAWL_LABEL": "pawl review/runtime input: label", + "PAWL_NO_SERVICE": "pawl review/runtime input: no service", + "PAWL_PROJECT": "pawl review/runtime input: project", + "PAWL_REVIEWER_CHAIN": "pawl review/runtime input: reviewer chain", + "PAWL_REVIEW_TIMEOUT": "pawl review/runtime input: review timeout", + "PAWL_SESSION": "pawl review/runtime input: session", + "PAWL_SMOKE_CMD": "pawl review/runtime input: smoke cmd", + "PAWL_STRICT": "require the strict pawl quorum; unavailable quorum HOLDs instead of degrading", + "PAWL_UNTRUSTED_REPO": "pawl review/runtime input: untrusted repo" + }, + "exit_codes": { + "0": "success", + "1": "error: usage error, runtime failure, or — for diagnostic commands — findings present", + "2": "diagnostic: partial result or bead claimed (command-specific; see that command's --help)" + }, + "global_flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config" + }, + { + "description": "Show what would happen without executing", + "name": "dry-run" + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json" + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "shorthand": "v" + } + ], + "output_formats": [ + "table", + "json", + "yaml" + ], + "platform": { + "arch": "<normalized>", + "os": "<normalized>" + }, + "robot_surfaces": { + "capabilities": "ao capabilities — this contract", + "doctor_capabilities": "ao doctor capabilities — extended doctor contract + exit codes", + "doctor_triage": "ao doctor --robot-triage — mega-command health triage JSON", + "json_everywhere": "append --json (or -o json) to any read-side command for structured output", + "robot_docs": "ao robot-docs — paste-ready agent handbook (Markdown)" + }, + "schema_version": "1.1", + "tool": "ao", + "tool_version": "<normalized>" +} diff --git a/cli/testdata/compatibility-baseline/v2/profiles/legacy.json b/cli/testdata/compatibility-baseline/v2/profiles/legacy.json new file mode 100644 index 000000000..28e505f9a --- /dev/null +++ b/cli/testdata/compatibility-baseline/v2/profiles/legacy.json @@ -0,0 +1,21154 @@ +{ + "command_exit_codes": { + "governor budget": { + "0": "ship — within error budget", + "3": "HARDEN — burn-rate over tolerance; stop the line" + }, + "pawl review": { + "0": "CONFIRMED — cross-family verdict written", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — auto-redo", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — strict quorum could not run at two-family strength" + }, + "plan-pawl decide": { + "0": "PASS — the door opens", + "2": "usage error", + "3": "REDO — auto-redo loop (no human)", + "4": "BLOCKED — a circuit breaker tripped (andon)", + "5": "DEGRADED — transient panel lane loss below quorum; retry the panel" + }, + "verify": { + "0": "CONFIRMED — verdict written and bound to the commit", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — defects printed; fix and re-run", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — committed policy is invalid or strict quorum cannot run at two-family strength" + } + }, + "command_groups": [ + { + "commands": [ + { + "name": "demo", + "short": "Show the council-first AgentOps 3.0 value path" + }, + { + "name": "init", + "short": "Initialize AgentOps in the current repository" + }, + { + "name": "quick-start", + "short": "Set up AgentOps in your project (5 minutes)" + }, + { + "name": "seed", + "short": "Plant the seed in any repository" + } + ], + "id": "start", + "title": "Getting Started:" + }, + { + "commands": [ + { + "name": "anti-patterns", + "short": "List learnings marked as anti-patterns" + }, + { + "name": "badge", + "short": "Display knowledge flywheel health badge" + }, + { + "name": "canon", + "short": "Team-knowledge canon: learnings earned by independent attestation" + }, + { + "name": "capabilities", + "short": "Print the machine-readable CLI contract (JSON)" + }, + { + "name": "ci", + "short": "BC2 CI status operations (latest run by SHA, recent runs)" + }, + { + "name": "citation", + "short": "BC1 CitationPort operations (verify file/function/symbol citations)" + }, + { + "name": "claim", + "short": "Claim a BR bead or manage claim-evidence bindings" + }, + { + "name": "constraint", + "short": "Manage compiled constraints" + }, + { + "name": "contradict", + "short": "Detect potentially contradictory learnings" + }, + { + "name": "doctor", + "short": "Check AgentOps health" + }, + { + "name": "gate", + "short": "Human review gates" + }, + { + "name": "harness", + "short": "BC5 HarnessPort operations (sync state across skill harnesses)" + }, + { + "name": "loop", + "short": "BC3 Loop operations (cycle history, etc.)" + }, + { + "name": "metrics", + "short": "Knowledge flywheel metrics" + }, + { + "name": "operator", + "short": "BC4 OperatorPort operations (record/list operator intents)" + }, + { + "name": "reconcile", + "short": "Join git, CI, release, beads, and .agents truth into one report" + }, + { + "name": "redact", + "short": "Scrub secrets from stdin to stdout (canonical redactor)" + }, + { + "name": "robot-docs", + "short": "Print the paste-ready agent handbook for the ao CLI (Markdown)" + }, + { + "name": "status", + "short": "Show AgentOps status" + }, + { + "name": "version", + "short": "Show version information" + }, + { + "name": "vibe-check", + "short": "Analyze codebase health and vibe" + } + ], + "id": "core", + "title": "Core Commands:" + }, + { + "commands": [ + { + "name": "autodev", + "short": "Manage the PROGRAM.md operational contract for autonomous development" + }, + { + "name": "codex", + "short": "Codex lifecycle commands (fallback for pre-v0.115.0; native hooks preferred)" + }, + { + "name": "eval", + "short": "Run deterministic local evaluation suites" + }, + { + "name": "feedback-loop", + "short": "Close the MemRL feedback loop for a session" + }, + { + "name": "goals", + "short": "Fitness goal measurement and validation" + }, + { + "name": "land", + "short": "Land a bead through the trusted pawl path with a fresh in-checkout binary, then atomic pawl-land" + }, + { + "name": "orchestrate", + "short": "Out-of-session orchestration instruments (windshield)" + }, + { + "name": "session", + "short": "Session lifecycle operations" + }, + { + "name": "tick", + "short": "Typed port of the assured loop tick oracle" + }, + { + "name": "validate", + "short": "Umbrella validation gate (exit-code-as-verdict with --gate)" + } + ], + "id": "workflow", + "title": "Workflow:" + }, + { + "commands": [ + { + "name": "config", + "short": "Manage configuration" + }, + { + "name": "notebook", + "short": "Manage the session notebook (MEMORY.md)" + }, + { + "name": "worktree", + "short": "Worktree maintenance utilities" + } + ], + "id": "config", + "title": "Configuration:" + }, + { + "commands": [ + { + "name": "beads", + "short": "Complementary tooling for the bd (beads) issue tracker" + }, + { + "name": "findings", + "short": "Manage promoted findings" + }, + { + "name": "forge", + "short": "Extract knowledge from sources" + }, + { + "name": "inject", + "short": "Output relevant knowledge for explicit or JIT injection" + }, + { + "name": "knowledge", + "short": "Operationalize a mature .agents corpus into reusable operator surfaces" + }, + { + "name": "lookup", + "short": "Retrieve specific knowledge artifacts by ID or query" + }, + { + "name": "membrane", + "short": "Self-improving membrane: turn escapes into membrane checks" + }, + { + "name": "mine", + "short": "Extract knowledge signal from git, .agents/, and code" + }, + { + "name": "patterns", + "short": "Inspect and repair .agents/patterns/ artifacts" + }, + { + "name": "search", + "short": "Search workspace session history and repo-local knowledge" + }, + { + "name": "sessions", + "short": "Manage indexed session pages" + }, + { + "name": "trace", + "short": "Track artifact provenance" + } + ], + "id": "knowledge", + "title": "Knowledge:" + }, + { + "commands": [ + { + "name": "compile", + "short": "Compile .agents knowledge into an interlinked wiki" + }, + { + "name": "dedup", + "short": "Detect near-duplicate learnings" + }, + { + "name": "flywheel", + "short": "Knowledge flywheel operations" + }, + { + "name": "maturity", + "short": "Check and manage learning maturity levels" + }, + { + "name": "pool", + "short": "Manage quality pools" + }, + { + "name": "ratchet", + "short": "Brownian Ratchet workflow tracking" + }, + { + "name": "wiki", + "short": "Unified wiki knowledge surface (experimental)" + } + ], + "id": "experimental", + "title": "Experimental (corpus/flywheel):" + }, + { + "commands": [ + { + "name": "agent", + "short": "Produce AgentOps-native Agent definitions for out-of-session loops" + }, + { + "name": "agents", + "short": "Inspect and manage .agents/ contracts and surfaces" + }, + { + "name": "close", + "short": "Close a bead and persist the explicit ledger/evidence paths" + }, + { + "name": "converge", + "short": "Bounded fix -> re-run-judge-panel loop to terminal agreement or a 3-consecutive-fail BLOCK" + }, + { + "name": "council-gate", + "short": "Fail-closed two-plus judge verdict aggregation" + }, + { + "name": "done", + "short": "Close a bead with a verdict-referenced stamp — no verdict = not done" + }, + { + "name": "extract", + "short": "Process pending learning extractions" + }, + { + "name": "governor", + "short": "The membrane's SPC control-loop governor (error budget, special-cause)" + }, + { + "name": "guard-status", + "short": "Verify guard hook and validator launcher installation" + }, + { + "name": "install-guards", + "short": "Install repo-local git guard hooks" + }, + { + "name": "mcp", + "short": "Expose the ao tool surface over MCP for hosted/SDK Claude loops" + }, + { + "name": "next-work", + "short": "Operate on the harvested next-work queue (.agents/rpi/next-work.jsonl)" + }, + { + "name": "pawl", + "short": "Cross-family membrane review and verdict tooling (the in-repo acceptance pawl)" + }, + { + "name": "plan-pawl", + "short": "The plan-pawl duel gate over discovery plans (docs/contracts/pawls.md)" + }, + { + "name": "provenance", + "short": "Write and read the SDLC provenance edge ledger" + }, + { + "name": "ready", + "short": "Print harness-neutral ready bead state as JSON" + }, + { + "name": "registry", + "short": "Query the unified registry" + }, + { + "name": "scope", + "short": "Manage edit-scope guard (freeze, unfreeze, status)" + }, + { + "name": "skills", + "short": "Inspect and validate the skills/ tree" + }, + { + "name": "turn", + "short": "Evidenced-Turn operations (the enforced unit-of-work definition-of-done)" + }, + { + "name": "verdict-gate", + "short": "Reject verdicts without commands and independent judge identity" + }, + { + "name": "verify", + "short": "Independent cross-family verdict on your change — no verdict = not done" + }, + { + "name": "yield", + "short": "Record dynamo yield-ledger events (per-bead operational stream)" + } + ], + "id": "", + "title": "Additional Commands:" + } + ], + "commands": [ + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agent", + "output": "none", + "path": "ao agent", + "short": "Produce AgentOps-native Agent definitions for out-of-session loops", + "use": "agent" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (always JSON for now; reserved for parity)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Write the bundle to this path instead of stdout", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Target runtime: managed | codex-ntm (required)", + "name": "runtime", + "origin": "local", + "required": false + }, + { + "description": "Sandbox placement: self-hosted | cloud", + "name": "sandbox", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated skill names (default: session-bootstrap,standards,validation,provenance)", + "name": "skills", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agent.bundle", + "output": "none", + "path": "ao agent bundle", + "short": "Emit a runtime-specific Agent definition (managed | codex-ntm)", + "use": "bundle" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents", + "output": "none", + "path": "ao agents", + "short": "Inspect and manage .agents/ contracts and surfaces", + "use": "agents" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Path to the .agents/ directory under inspection", + "name": "agents-dir", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the .agents/ write-surfaces contract doc", + "name": "contract", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to the lint script", + "name": "script", + "origin": "local", + "required": false + }, + { + "description": "Path to the skills/ directory used for skill-owned-subdir cross-check", + "name": "skills-dir", + "origin": "local", + "required": false + }, + { + "description": "Exit non-zero on any orphan or undocumented surface", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents.doctor", + "output": "none", + "path": "ao agents doctor", + "short": "Combined health check: inspect + lint + orphan/stray-dir report", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the .agents/ write-surfaces contract doc", + "name": "contract", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents.inspect", + "output": "none", + "path": "ao agents inspect", + "short": "Show catalogued .agents/ write surfaces and active skill-owned subdirs", + "use": "inspect" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Forward --json to the lint script", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to the lint script", + "name": "script", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.agents.lint", + "output": "none", + "path": "ao agents lint", + "short": "Run the .agents/ write-surfaces contract lint", + "use": "lint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.anti-patterns", + "output": "none", + "path": "ao anti-patterns", + "short": "List learnings marked as anti-patterns", + "use": "anti-patterns" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.autodev", + "output": "none", + "path": "ao autodev", + "short": "Manage the PROGRAM.md operational contract for autonomous development", + "use": "autodev" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to PROGRAM.md or AUTODEV.md (auto-detects PROGRAM.md then AUTODEV.md)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite an existing program file", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.autodev.init", + "output": "none", + "path": "ao autodev init", + "short": "Create a PROGRAM.md template", + "use": "init [objective]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to PROGRAM.md or AUTODEV.md (auto-detects PROGRAM.md then AUTODEV.md)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.autodev.show", + "output": "none", + "path": "ao autodev show", + "short": "Show the parsed PROGRAM.md contract", + "use": "show" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to PROGRAM.md or AUTODEV.md (auto-detects PROGRAM.md then AUTODEV.md)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.autodev.validate", + "output": "none", + "path": "ao autodev validate", + "short": "Validate PROGRAM.md structure", + "use": "validate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.badge", + "output": "none", + "path": "ao badge", + "short": "Display knowledge flywheel health badge", + "use": "badge" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads", + "output": "none", + "path": "ao beads", + "short": "Complementary tooling for the bd (beads) issue tracker", + "use": "beads" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Close likely-fixed beads when commit or file-change evidence is found", + "name": "auto-close", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit audit report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit 1 when any likely-fixed, likely-stale, or consolidatable bead is found", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.audit", + "output": "none", + "path": "ao beads audit", + "short": "Audit open beads for likely-fixed, stale, or consolidatable work", + "use": "audit" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Reparent non-representative beads under the cluster representative", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit cluster report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.cluster", + "output": "none", + "path": "ao beads cluster", + "short": "Suggest consolidation clusters for overlapping open beads", + "use": "cluster" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {beads_dir, source} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Fail closed: exit non-zero (printing nothing to stdout) unless the resolved directory holds a br ledger", + "name": "require", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.dir", + "output": "none", + "path": "ao beads dir", + "short": "Print the resolved live br ledger directory", + "use": "dir" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as a JSON object instead of a human-readable line.", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Map the verdict to the process exit code (0 terminal / 2 not-terminal / 3 skipped).", + "name": "terminal", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.epic-status", + "output": "none", + "path": "ao beads epic-status", + "short": "Deterministic group-terminality verdict for an epic/wave", + "use": "epic-status <epic-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.exec", + "output": "none", + "path": "ao beads exec", + "short": "Run a bead CRUD command against whichever tracker (bd or br) this environment uses", + "use": "exec [args...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print the learning content to stdout without writing a file", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Directory to write the learning file into", + "name": "out-dir", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.harvest", + "output": "none", + "path": "ao beads harvest", + "short": "Materialize a closed bead's reason as a structured learning file", + "use": "harvest <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit lint report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "bd status filter (open, closed, all)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.lint", + "output": "none", + "path": "ao beads lint", + "short": "Batch-verify every open bead (or filtered set) against HEAD", + "use": "lint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "New claimant id (defaults to BEADS_ACTOR env var, else ao-beads-resume).", + "name": "agent", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the claim_transferred event to stdout (always written to ledger).", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Path to the provenance ledger (relative to repo root).", + "name": "ledger", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.resume", + "output": "none", + "path": "ao beads resume", + "short": "Atomically transfer an in_progress claim from a stale agent to this one", + "use": "resume <bead-id>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.scenarios", + "output": "none", + "path": "ao beads scenarios", + "short": "[DEPRECATED — use 'ao beads verify-acceptance'] Convert bead acceptance criteria into Gherkin scenarios", + "use": "scenarios" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Extract even when the bead already has a '## Scenarios' block", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Emit extracted scenarios as JSON (data on stdout) instead of a Gherkin block", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "After printing the block and an operator y/N confirmation, append it to the bead via 'bd update'", + "name": "write", + "origin": "local", + "required": false + } + ], + "id": "ao.beads.scenarios.extract", + "output": "none", + "path": "ao beads scenarios extract", + "short": "Print a candidate Gherkin '## Scenarios' block from a bead's acceptance (dry-run)", + "use": "extract <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit a structured validation verdict as JSON on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.scenarios.validate", + "output": "none", + "path": "ao beads scenarios validate", + "short": "Check that a bead's authored '## Scenarios' block is well-formed Gherkin", + "use": "validate <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON array conforming to stale-claim-event.v1 (event_type: stale_detected).", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Staleness threshold in hours (claim updated more than N hours ago).", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.stale-claims", + "output": "none", + "path": "ao beads stale-claims", + "short": "List in_progress beads whose claim looks stale", + "use": "stale-claims" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {tracker, binary, ledger_dir, source} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.tracker", + "output": "none", + "path": "ao beads tracker", + "short": "Print the resolved beads tracker (bd or br) for this environment", + "use": "tracker" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit verification report as JSON instead of human-readable text", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Include FRESH citations in the output (default: stale only)", + "name": "verbose", + "origin": "local", + "required": false + } + ], + "id": "ao.beads.verify", + "output": "none", + "path": "ao beads verify", + "short": "Detect stale citations in a bead description (files, functions, symbols)", + "use": "verify <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit verdicts as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero on any FAIL or UNDEFINED verdict", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.beads.verify-acceptance", + "output": "none", + "path": "ao beads verify-acceptance", + "short": "Assert each bead carries the acceptance contract for its type (br-native)", + "use": "verify-acceptance <bead-id>..." + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon", + "output": "none", + "path": "ao canon", + "short": "Team-knowledge canon: learnings earned by independent attestation", + "use": "canon" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "acting actor override (\"Name\" or \"Name <email>\"); else AGENTOPS_ACTOR / git", + "name": "as", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "path to the learning file (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "search query that surfaced the learning", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "session ID", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon.cite", + "output": "none", + "path": "ao canon cite", + "short": "Record that you used a learning (the 'useful' signal)", + "use": "cite <entry-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "promote despite an unmet gate (records the override loudly)", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "path to the learning file (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon.promote", + "output": "none", + "path": "ao canon promote", + "short": "Promote an earned learning into the team canon", + "use": "promote <entry-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.canon.status", + "output": "none", + "path": "ao canon status", + "short": "Show promotion eligibility for one or all tracked entries", + "use": "status [entry-id]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "acting actor override (\"Name\" or \"Name <email>\"); else AGENTOPS_ACTOR / git", + "name": "as", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "obtain the verdict from an independent cross-vendor judge (cmd: AGENTOPS_CANON_VERIFIER_CMD) instead of asserting it", + "name": "council", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "how it was checked: manual|ao-verify|council|cross-model", + "name": "method", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "path to the learning file (required)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "evidence you independently gathered (gate log, file:line, hash)", + "name": "receipt", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "confirmed|refuted", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.canon.verify", + "output": "none", + "path": "ao canon verify", + "short": "Record an independent check of a learning (the 'true' signal)", + "use": "verify <entry-id>" + }, + { + "args": "range", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "help for capabilities", + "name": "help", + "origin": "local", + "required": false, + "shorthand": "h" + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.capabilities", + "output": "structured", + "path": "ao capabilities", + "short": "Print the machine-readable CLI contract (JSON)", + "use": "capabilities" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ci", + "output": "none", + "path": "ao ci", + "short": "BC2 CI status operations (latest run by SHA, recent runs)", + "use": "ci" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ci.latest", + "output": "none", + "path": "ao ci latest", + "short": "Get the most recent CI run for a given SHA via BC2 CIStatusPort", + "use": "latest <sha>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "max runs to emit (0 = all up to port cap of 50)", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ci.recent", + "output": "none", + "path": "ao ci recent", + "short": "List recent CI runs via BC2 CIStatusPort", + "use": "recent" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.citation", + "output": "none", + "path": "ao citation", + "short": "BC1 CitationPort operations (verify file/function/symbol citations)", + "use": "citation" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "citation kind (required: file|function|symbol)", + "name": "kind", + "origin": "local", + "required": true + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "citation text to verify (required)", + "name": "raw", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.citation.verify", + "output": "none", + "path": "ao citation verify", + "short": "Verify a single citation via BC1 CitationPort", + "use": "verify --kind <file|function|symbol> --raw <text>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim", + "output": "none", + "path": "ao claim", + "short": "Claim a BR bead or manage claim-evidence bindings", + "use": "claim [id]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "optional in-file anchors (repeatable)", + "name": "anchor", + "origin": "local", + "required": false + }, + { + "description": "artifact author identity for reviewer separation checks", + "name": "author-id", + "origin": "local", + "required": false + }, + { + "description": "claim ID (required, e.g. AOP-CLAIM-X)", + "name": "claim", + "origin": "local", + "required": true + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "judge/verifier identity for reviewer separation checks", + "name": "judge-id", + "origin": "local", + "required": false + }, + { + "description": "promotion level: PG1|PG2|PG3|PG4", + "name": "level", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "evidence file path (required, relative to repo root)", + "name": "path", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.bind", + "output": "none", + "path": "ao claim bind", + "short": "Bind a claim to an evidence file at a promotion level", + "use": "bind --claim <AOP-CLAIM-X> --path <evidence-path> [--level PG1|PG2|PG3|PG4] [--anchor ...] [--author-id <id> --judge-id <id>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "base ref for --changed comparison", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "check claim markers in files changed against --base plus worktree changes", + "name": "changed", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.check", + "output": "none", + "path": "ao claim check", + "short": "Report proof cards for changed public claims", + "use": "check --changed [--base <ref>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.claim.list", + "output": "none", + "path": "ao claim list", + "short": "List recorded claim→evidence bindings (most-recent first)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.close", + "output": "none", + "path": "ao close", + "short": "Close a bead and persist the explicit ledger/evidence paths", + "use": "close <id> <commit-message> <evidence-ref> [paths...]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex", + "output": "none", + "path": "ao codex", + "short": "Codex lifecycle commands (fallback for pre-v0.115.0; native hooks preferred)", + "use": "codex" + }, + { + "aliases": [ + "run" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to a Codex task packet JSON file", + "name": "packet", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.dispatch", + "output": "none", + "path": "ao codex dispatch", + "short": "Run a non-mutating Codex task packet and write a receipt", + "use": "dispatch --packet <path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum artifacts to surface per category", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Skip safe close-loop maintenance on start", + "name": "no-maintenance", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Optional startup query (defaults to the current Codex thread name)", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.ensure-start", + "output": "none", + "path": "ao codex ensure-start", + "short": "Ensure Codex startup context exists once per thread", + "use": "ensure-start" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Write lightweight learnings and handoff artifacts during closeout", + "name": "auto-extract", + "origin": "local", + "required": false + }, + { + "description": "Run mutating flywheel close-loop maintenance after forging", + "name": "close-loop", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Skip flywheel close-loop maintenance after forging", + "name": "no-close-loop", + "origin": "local", + "required": false + }, + { + "description": "Disable history.jsonl fallback when no archived Codex transcript exists", + "name": "no-history-fallback", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Codex session ID to close (defaults to the active thread)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Explicit transcript path to forge instead of runtime discovery", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.ensure-stop", + "output": "none", + "path": "ao codex ensure-stop", + "short": "Ensure Codex closeout runs once per thread", + "use": "ensure-stop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Per-check timeout budget for image health checks", + "name": "check-timeout", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.image-health", + "output": "none", + "path": "ao codex image-health", + "short": "Run read-only Codex image and runtime health checks", + "use": "image-health" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum artifacts to surface per category", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Skip safe close-loop maintenance on start", + "name": "no-maintenance", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Optional startup query (defaults to the current Codex thread name)", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.start", + "output": "none", + "path": "ao codex start", + "short": "Start a Codex session with explicit flywheel maintenance (fallback for pre-v0.115.0)", + "use": "start" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Citation window in days for Codex lifecycle health", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.status", + "output": "none", + "path": "ao codex status", + "short": "Show Codex lifecycle health (native hooks detected when available)", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Write lightweight learnings and handoff artifacts during closeout", + "name": "auto-extract", + "origin": "local", + "required": false + }, + { + "description": "Run mutating flywheel close-loop maintenance after forging", + "name": "close-loop", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Skip flywheel close-loop maintenance after forging", + "name": "no-close-loop", + "origin": "local", + "required": false + }, + { + "description": "Disable history.jsonl fallback when no archived Codex transcript exists", + "name": "no-history-fallback", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Codex session ID to close (defaults to the active thread)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Explicit transcript path to forge instead of runtime discovery", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.codex.stop", + "output": "none", + "path": "ao codex stop", + "short": "Close a Codex session explicitly (fallback for pre-v0.115.0)", + "use": "stop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Max changed files per LLM prompt (prevents single-giant-prompt on large corpora)", + "name": "batch-size", + "origin": "local", + "required": false + }, + { + "description": "Skip mine and defrag; run compile plus lint", + "name": "compile-only", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Only run mechanical defrag cleanup", + "name": "defrag-only", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Recompile all source artifacts regardless of hashes", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Actually delete orphans during --repair. Without --force-repair, --repair runs dry.", + "name": "force-repair", + "origin": "local", + "required": false + }, + { + "description": "Run the full mine, compile, lint, and defrag cycle", + "name": "full", + "origin": "local", + "required": false + }, + { + "description": "Publish the sanitized OKF gold wiki to .ao/wiki after the compile cycle", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "Compile only changed source artifacts", + "name": "incremental", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Only lint the existing compiled wiki", + "name": "lint-only", + "origin": "local", + "required": false + }, + { + "description": "Cap number of compile batches per invocation (0 = unlimited)", + "name": "max-batches", + "origin": "local", + "required": false + }, + { + "description": "Only mine new knowledge signal", + "name": "mine-only", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Compiled wiki output directory", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Suppress human progress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Remove orphaned fallback stubs from .agents/compiled/ (files with no inbound wikilink traffic)", + "name": "repair", + "origin": "local", + "required": false + }, + { + "description": "Delete .agents/compiled/ and .hashes.json before compiling (force full rebuild)", + "name": "reset", + "origin": "local", + "required": false + }, + { + "description": "LLM runtime override for headless compilation (codex-cli, ollama, claude, openai)", + "name": "runtime", + "origin": "local", + "required": false + }, + { + "description": "Mine lookback window for full and mine-only modes", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Source .agents root to compile", + "name": "sources", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.compile", + "output": "none", + "path": "ao compile", + "short": "Compile .agents knowledge into an interlinked wiki", + "use": "compile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Show resolved configuration with sources", + "name": "show", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.config", + "output": "none", + "path": "ao config", + "short": "Manage configuration", + "use": "config" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Set a skill-specific tier override (e.g. council=quality)", + "name": "set-skill", + "origin": "local", + "required": false + }, + { + "description": "Set the default model cost tier (quality, balanced, budget)", + "name": "set-tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.config.models", + "output": "none", + "path": "ao config models", + "short": "Show model cost tier configuration", + "use": "models" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint", + "output": "none", + "path": "ao constraint", + "short": "Manage compiled constraints", + "use": "constraint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.activate", + "output": "none", + "path": "ao constraint activate", + "short": "Change constraint status from draft to active", + "use": "activate <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.list", + "output": "none", + "path": "ao constraint list", + "short": "List all constraints with status", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.publish", + "output": "none", + "path": "ao constraint publish", + "short": "Publish active constraints to the tracked surface so CI / clean clones enforce them", + "use": "publish" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.retire", + "output": "none", + "path": "ao constraint retire", + "short": "Change constraint status from active to retired", + "use": "retire <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.constraint.review", + "output": "none", + "path": "ao constraint review", + "short": "List constraints compiled >90 days ago without recent citation", + "use": "review" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.contradict", + "output": "none", + "path": "ao contradict", + "short": "Detect potentially contradictory learnings", + "use": "contradict" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "directory whose .agents/rpi/KILL switch aborts the bounded loop at a round boundary", + "name": "kill-dir", + "origin": "local", + "required": false + }, + { + "description": "maximum fix->re-run rounds before NOT-CONVERGED", + "name": "max-rounds", + "origin": "local", + "required": false + }, + { + "description": "distinct non-author judge contexts required to converge", + "name": "min-contexts", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "optional strengthener: additionally require >=2 model families in the PASS quorum", + "name": "require-cross-family", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.converge", + "output": "none", + "path": "ao converge", + "short": "Bounded fix -> re-run-judge-panel loop to terminal agreement or a 3-consecutive-fail BLOCK", + "use": "converge" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.council-gate", + "output": "none", + "path": "ao council-gate", + "short": "Fail-closed two-plus judge verdict aggregation", + "use": "council-gate <verdict1> <verdict2> [...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Auto-resolve duplicates: keep highest utility, archive the rest", + "name": "merge", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Skip the interactive confirmation prompt for large merges (for hooks/CI)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.dedup", + "output": "none", + "path": "ao dedup", + "short": "Detect near-duplicate learnings", + "use": "dedup" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Explain product model", + "name": "concepts", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "2-minute council-first overview", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.demo", + "output": "none", + "path": "ao demo", + "short": "Show the council-first AgentOps 3.0 value path", + "use": "demo" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "With --fix: print the plan, change nothing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Expand a single finding by id", + "name": "explain", + "origin": "local", + "required": false + }, + { + "description": "Apply fixers for findings (routes through mutate())", + "name": "fix", + "origin": "local", + "required": false + }, + { + "description": "Output results as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Enable network probes (default: offline-only)", + "name": "online", + "origin": "local", + "required": false + }, + { + "description": "Scope to a subset of detectors or subsystems", + "name": "only", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run only fast-path detectors (< 200ms)", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Alias for --json with structured wrapper", + "name": "robot", + "origin": "local", + "required": false + }, + { + "description": "Emit the mega-command triage JSON", + "name": "robot-triage", + "origin": "local", + "required": false + }, + { + "description": "Minimum severity to emit (P0|P1|P2|P3)", + "name": "severity", + "origin": "local", + "required": false + }, + { + "description": "Diff findings against an earlier run", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Inverse of --only", + "name": "skip", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor", + "output": "none", + "path": "ao doctor", + "short": "Check AgentOps health", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.capabilities", + "output": "none", + "path": "ao doctor capabilities", + "short": "Print the machine-readable doctor contract (JSON)", + "use": "capabilities" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.diff", + "output": "none", + "path": "ao doctor diff", + "short": "Show what --fix would change (read-only)", + "use": "diff" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.explain", + "output": "none", + "path": "ao doctor explain", + "short": "Expand a single finding with full evidence", + "use": "explain <finding-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.fix", + "output": "none", + "path": "ao doctor fix", + "short": "Run detectors, then apply fixers (backs up before every mutation)", + "use": "fix" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Prune runs started before this date (YYYY-MM-DD)", + "name": "before", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Confirm pruning (required)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.doctor.gc", + "output": "none", + "path": "ao doctor gc", + "short": "Prune old runs (requires --yes and --before <date>)", + "use": "gc" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.health", + "output": "none", + "path": "ao doctor health", + "short": "Cheap one-line liveness summary", + "use": "health" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.ls", + "output": "none", + "path": "ao doctor ls", + "short": "List runs in .doctor/runs/", + "use": "ls" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.robot-docs", + "output": "none", + "path": "ao doctor robot-docs", + "short": "Print the paste-ready agent handbook (Markdown)", + "use": "robot-docs" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print the restore plan; do not execute", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Refuse if any backup is missing or hash-mismatched", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.doctor.undo", + "output": "none", + "path": "ao doctor undo", + "short": "Restore from .doctor/runs/<run-id>/backups/ (run-id may be 'latest')", + "use": "undo <run-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Close without a verdict, stamping an explicit UNVERIFIED marker", + "name": "force-no-verdict", + "origin": "local", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Close reason prose (the verdict stamp is appended)", + "name": "reason", + "origin": "local", + "required": false, + "shorthand": "r" + }, + { + "description": "Commit sha (or >=7-char prefix) the bead landed as (default: HEAD at cwd)", + "name": "sha", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.done", + "output": "none", + "path": "ao done", + "short": "Close a bead with a verdict-referenced stamp — no verdict = not done", + "use": "done <bead-id>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval", + "output": "none", + "path": "ao eval", + "short": "Run deterministic local evaluation suites", + "use": "eval" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "write promoted baseline run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "identity promoting the baseline", + "name": "promoted-by", + "origin": "local", + "required": false + }, + { + "description": "rationale for promoting the baseline", + "name": "rationale", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.baseline", + "output": "none", + "path": "ao eval baseline", + "short": "Promote an eval run record as a baseline", + "use": "baseline <run.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "promoted baseline directory", + "name": "baseline-dir", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "suite root to scan when no suite paths are provided", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.baseline-audit", + "output": "none", + "path": "ao eval baseline-audit", + "short": "Audit eval suite baseline policy against promoted baselines", + "use": "baseline-audit [suite.json ...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Path to benchmark corpus directory", + "name": "corpus", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include ~/.agents/learnings/ (cross-rig aggregated store, requires --live)", + "name": "global", + "origin": "local", + "required": false + }, + { + "description": "JSON output", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "K for Precision@K", + "name": "k", + "origin": "local", + "required": false + }, + { + "description": "Benchmark against real .agents/learnings/ instead of synthetic corpus", + "name": "live", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Search backend for --search-eval (local-lexical, ao-auto, agentic-rg, wiki-link-expand, rerank-llamacpp)", + "name": "search-backend", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated search backends to compare for --search-eval", + "name": "search-compare-backends", + "origin": "local", + "required": false + }, + { + "description": "Path to an ao-search eval manifest with queries and ground_truth paths", + "name": "search-eval", + "origin": "local", + "required": false + }, + { + "description": "Repo root to search for --search-eval (defaults to current directory)", + "name": "search-root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.bench", + "output": "none", + "path": "ao eval bench", + "short": "Run retrieval quality benchmarks", + "use": "bench" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.chaos", + "output": "none", + "path": "ao eval chaos", + "short": "Run a read-only smoke test of the tick membrane", + "use": "chaos" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Remove Run directories whose status is failed or aborted (never retracted)", + "name": "delete", + "origin": "local", + "required": false + }, + { + "description": "Preview without mutations", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Minimum tmp-file age in seconds before sweep (0 = sweep all)", + "name": "tmp-age", + "origin": "local", + "required": false + }, + { + "description": "Sweep orphan *.tmp files older than --tmp-age", + "name": "tmp-files", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.cleanup", + "output": "none", + "path": "ao eval cleanup", + "short": "Recover stale Runs (state transitions, --delete, --tmp-files)", + "use": "cleanup" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "allowed aggregate regression before verdict becomes regression", + "name": "max-aggregate-regression", + "origin": "local", + "required": false + }, + { + "description": "allowed per-dimension regression before verdict becomes regression", + "name": "max-dimension-regression", + "origin": "local", + "required": false + }, + { + "description": "write compared eval run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.compare", + "output": "none", + "path": "ao eval compare", + "short": "Compare an eval run against a baseline", + "use": "compare <candidate-run.json> <baseline-run.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "required score dimension for missing-dimension reporting", + "name": "require-dimension", + "origin": "local", + "required": false + }, + { + "description": "required product domain for missing-domain reporting", + "name": "require-domain", + "origin": "local", + "required": false + }, + { + "description": "required evidence kind for missing-evidence-kind reporting", + "name": "require-evidence-kind", + "origin": "local", + "required": false + }, + { + "description": "required deterministic runtime for missing-runtime reporting", + "name": "require-runtime", + "origin": "local", + "required": false + }, + { + "description": "suite root to scan when no suite paths are provided", + "name": "root", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.coverage", + "output": "none", + "path": "ao eval coverage", + "short": "Summarize eval suite coverage", + "use": "coverage [suite.json ...]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes", + "output": "none", + "path": "ao eval outcomes", + "short": "Project the locked eval substrate into Outcomes grading payloads (holdout-safe)", + "use": "outcomes" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes.compile", + "output": "none", + "path": "ao eval outcomes compile", + "short": "Compile a holdout-safe Outcomes rubric payload from a locked Task + criteria", + "use": "compile <input.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "path to a JSON HoldoutBurnLedger; when set, a holdout-split score registers a burn and is REFUSED if the (suite,gt) quota is exhausted (gate #3 runtime enforcement), persisted across invocations", + "name": "burn-ledger", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "refuse the ingest if the score's judge_content_hash does not match this value (gate #2 rubric-drift parity)", + "name": "expect-judge-hash", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "also write an eval-run.v1 manifest to <dir>/<run-id>/manifest.json so the verdict pipeline feeds the Knowledge Flywheel (closes the Outcomes→Flywheel loop)", + "name": "manifest-out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "run id for the --manifest-out manifest; defaults to the score's run_id, then source_task_id (sanitized to the eval-run.v1 pattern)", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.outcomes.ingest", + "output": "none", + "path": "ao eval outcomes ingest", + "short": "Ingest an Outcomes score payload into the one council verdict record", + "use": "ingest <score.json>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "compare the run against a baseline run record", + "name": "baseline", + "origin": "local", + "required": false + }, + { + "description": "skill-on | skill-off | both — runs the suite once with skills loaded, once with hooks suppressed, or both for a delta scorecard", + "name": "baseline-mode", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "none | ab — run context-off/context-on legs over isolated AO_AGENTS_DIR roots", + "name": "context-mode", + "origin": "local", + "required": false + }, + { + "description": "AO_AGENTS_DIR root for the context-off leg (defaults to suite fixtures)", + "name": "context-off-agents-dir", + "origin": "local", + "required": false + }, + { + "description": "AO_AGENTS_DIR root for the context-on leg (defaults to suite fixtures)", + "name": "context-on-agents-dir", + "origin": "local", + "required": false + }, + { + "description": "write delta scorecard JSON to path (with --baseline-mode=both or --context-mode=ab)", + "name": "delta-out", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "write eval run record to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "stable run id to use in the run record", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "runtime override (static, mock, shell, claude, codex)", + "name": "runtime", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.run", + "output": "none", + "path": "ao eval run", + "short": "Run a deterministic eval suite", + "use": "run <suite.json>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario", + "output": "none", + "path": "ao eval scenario", + "short": "Manage holdout scenarios for behavioral validation", + "use": "scenario" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Expected observable outcome (default: inferred from goal)", + "name": "expected-outcome", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Narrative description (default: inferred from goal)", + "name": "narrative", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Scenario source (human, agent, prod-telemetry)", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Scenario status (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Satisfaction threshold in [0,1]", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.add", + "output": "none", + "path": "ao eval scenario add", + "short": "Author a holdout scenario from a goal description", + "use": "add <goal>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Evaluate every directive's linked scenarios", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Evaluate only the directive with this stable Directive ID", + "name": "directive", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the machine-readable evaluation report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "run_id recorded in the results artifact", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Per-check execution timeout", + "name": "timeout", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.evaluate", + "output": "none", + "path": "ao eval scenario evaluate", + "short": "Evaluate directive-linked scenarios and record satisfaction results", + "use": "evaluate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.init", + "output": "none", + "path": "ao eval scenario init", + "short": "Initialize .agents/holdout/ directory for scenario storage", + "use": "init" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter by status (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.list", + "output": "none", + "path": "ao eval scenario list", + "short": "List holdout scenarios", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario.validate", + "output": "none", + "path": "ao eval scenario validate", + "short": "Validate holdout scenarios against schema", + "use": "validate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Run only the without-gold control arm and fail on ceiling/no-headroom", + "name": "control-only", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write the ScenarioDeltaScorecard JSON to this path", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Path to the scenario.v1 JSON file (required)", + "name": "scenario", + "origin": "local", + "required": false + }, + { + "description": "Per-arm timeout (0 = default 5m)", + "name": "timeout", + "origin": "local", + "required": false + }, + { + "description": "Fail the gate if summed arm token cost exceeds this (0 = default 200000)", + "name": "token-budget", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario-ab", + "output": "none", + "path": "ao eval scenario-ab", + "short": "Run a knowledge-reuse holdout scenario with vs. without the gold pull (the discriminating A/B)", + "use": "scenario-ab" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write the MoatClaimResult JSON to this path", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Path to a ScenarioDeltaScorecard JSON (repeatable)", + "name": "scorecard", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scenario-moat", + "output": "none", + "path": "ao eval scenario-moat", + "short": "Aggregate moat-eligible scenario A/B scorecards into a publication verdict", + "use": "scenario-moat" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "scorecard kind (rpi, skill-change)", + "name": "kind", + "origin": "local", + "required": false + }, + { + "description": "allowed per-category regression before verdict becomes regression", + "name": "max-category-regression", + "origin": "local", + "required": false + }, + { + "description": "write scorecard JSON to path", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.scorecard", + "output": "none", + "path": "ao eval scorecard", + "short": "Build an eval scorecard from run records", + "use": "scorecard <candidate-run.json> [baseline-run.json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format: text, json", + "name": "output", + "origin": "local", + "required": false + }, + { + "description": "Session ID (extracted from transcript if not provided)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.session-outcome", + "output": "none", + "path": "ao eval session-outcome", + "short": "Analyze session transcript to derive reward signal", + "use": "session-outcome [transcript-path]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite", + "output": "none", + "path": "ao eval suite", + "short": "Suite-level operations (verdict, n-required)", + "use": "suite" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Type-I error rate", + "name": "alpha", + "origin": "local", + "required": false + }, + { + "description": "Baseline rate (binomial worst-case fallback)", + "name": "baseline-rate", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum detectable effect", + "name": "mde", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Paired comparison", + "name": "paired", + "origin": "local", + "required": false + }, + { + "description": "Statistical power (1-beta)", + "name": "power", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite.n-required", + "output": "none", + "path": "ao eval suite n-required", + "short": "Compute power-derived n_required (gate #6 input on Day 3+)", + "use": "n-required" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Bootstrap resamples", + "name": "B", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated arm ids (default: from suite varied_axis)", + "name": "arms", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to canonical bootstrap-inputs JSON (REQUIRED)", + "name": "inputs", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum detectable effect (used for inconclusive_high_variance)", + "name": "mde", + "origin": "local", + "required": false + }, + { + "description": "Override n_required (default: derived from suite power block)", + "name": "n-required", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.suite.verdict", + "output": "none", + "path": "ao eval suite verdict", + "short": "Compute the §6.5 paired cluster-bootstrap verdict", + "use": "verdict <suite-id> --arms a,b --inputs <bootstrap-inputs.json>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task", + "output": "none", + "path": "ao eval task", + "short": "Manage evaluation Tasks (add, list, show, run)", + "use": "task" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.add", + "output": "none", + "path": "ao eval task add", + "short": "Register a Task by copying its yaml + samples into the substrate", + "use": "add <task.yaml>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.list", + "output": "none", + "path": "ao eval task list", + "short": "List registered Task ids", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Allow runs against confidence=weak ground-truth rows (gate #7)", + "name": "allow-weak-labels", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Allow ModelSpec drift (gate #4)", + "name": "cross-spec", + "origin": "local", + "required": false + }, + { + "description": "Run gates and exit without writing a Run manifest", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Ground-truth row id (head of supersession chain)", + "name": "ground-truth", + "origin": "local", + "required": false + }, + { + "description": "Harness id (recorded into manifest)", + "name": "harness", + "origin": "local", + "required": false + }, + { + "description": "Path to harness source dir for snapshot + gate #8", + "name": "harness-dir", + "origin": "local", + "required": false + }, + { + "description": "Inspect command recorded into the Run manifest (not executed yet)", + "name": "inspect-command", + "origin": "local", + "required": false + }, + { + "description": "Inspect AI version stamped into manifest", + "name": "inspect-version", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "ModelSpec id (already captured via ao eval models capture)", + "name": "model-spec", + "origin": "local", + "required": false + }, + { + "description": "Override Suite.n_samples", + "name": "n-samples", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Mark Run as quick_session=true (excluded from --vs auto-baseline pool)", + "name": "quick", + "origin": "local", + "required": false + }, + { + "description": "Rig identifier stamped into the Run manifest", + "name": "rig-id", + "origin": "local", + "required": false + }, + { + "description": "Sample split (dev|holdout); default from suite", + "name": "sample-split", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated seeds (>=3, per §4)", + "name": "seeds", + "origin": "local", + "required": false + }, + { + "description": "Suite id or path to suite.yaml (required)", + "name": "suite", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.run", + "output": "none", + "path": "ao eval task run", + "short": "Open a new Run manifest for <task-id>; refuses on gate failure", + "use": "run <task-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.eval.task.show", + "output": "none", + "path": "ao eval task show", + "short": "Print a registered Task summary", + "use": "show <task-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Process all pending entries", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Bead ID to tag extracted learnings with", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Clear pending queue without processing", + "name": "clear", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum characters of session content to include", + "name": "max-content", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.extract", + "output": "none", + "path": "ao extract", + "short": "Process pending learning extractions", + "use": "extract" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "EMA learning rate", + "name": "alpha", + "origin": "local", + "required": false + }, + { + "description": "Filter citations by type (retrieved, used-in-final-artifact, helpful, harmful, refuted, applied, reference, all)", + "name": "citation-type", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Walk citations.jsonl and feed entries with zero feedback_at sentinel (idempotent)", + "name": "drain", + "origin": "local", + "required": false + }, + { + "description": "Neutral reward applied to drained citations (0.0-1.0)", + "name": "drain-reward", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Override reward value (0.0-1.0); -1 = compute from transcript", + "name": "reward", + "origin": "local", + "required": false + }, + { + "description": "Session ID to process", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Path to transcript for reward computation", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.feedback-loop", + "output": "none", + "path": "ao feedback-loop", + "short": "Close the MemRL feedback loop for a session", + "use": "feedback-loop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings", + "output": "none", + "path": "ao findings", + "short": "Manage promoted findings", + "use": "findings" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Export every local finding", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite destination files if they already exist", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Destination repo root or .agents/findings directory", + "name": "to", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.export", + "output": "none", + "path": "ao findings export", + "short": "Export finding artifacts to another repo or findings directory", + "use": "export <id...>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Include retired and superseded findings", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum findings to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.list", + "output": "none", + "path": "ao findings list", + "short": "List active findings", + "use": "list [query]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Pull every source finding", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite local files if they already exist", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Source repo root or .agents/findings directory", + "name": "from", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.pull", + "output": "none", + "path": "ao findings pull", + "short": "Pull finding artifacts from another repo or findings directory", + "use": "pull <id...>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Retired-by marker (defaults to current user or ao findings retire)", + "name": "by", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.retire", + "output": "none", + "path": "ao findings retire", + "short": "Retire a finding artifact", + "use": "retire <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.findings.stats", + "output": "none", + "path": "ao findings stats", + "short": "Summarize local finding artifact inventory", + "use": "stats" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel", + "output": "none", + "path": "ao flywheel", + "short": "Knowledge flywheel operations", + "use": "flywheel" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Pending directory to ingest from", + "name": "pending-dir", + "origin": "local", + "required": false + }, + { + "description": "Suppress non-essential output (hook-friendly)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Minimum age for auto-promotion (default: 24h)", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.close-loop", + "output": "none", + "path": "ao flywheel close-loop", + "short": "Close the knowledge flywheel loop", + "use": "close-loop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Shadow namespace to compare against primary", + "name": "shadow", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.compare", + "output": "none", + "path": "ao flywheel compare", + "short": "Compare primary vs shadow namespace metrics", + "use": "compare" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Benchmark corpus directory (defaults to repo testdata)", + "name": "corpus", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.gate", + "output": "none", + "path": "ao flywheel gate", + "short": "Check readiness for retrieval-expansion work", + "use": "gate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.nudge", + "output": "none", + "path": "ao flywheel nudge", + "short": "Combined flywheel + ratchet + pool status for hooks", + "use": "nudge" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days for metrics calculation", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Show golden signals (always shown; flag kept for compatibility)", + "name": "golden", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Citation namespace to evaluate (primary by default)", + "name": "namespace", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.flywheel.status", + "output": "none", + "path": "ao flywheel status", + "short": "Show flywheel health status", + "use": "status" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge", + "output": "none", + "path": "ao forge", + "short": "Extract knowledge from sources", + "use": "forge" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Specific directory to scan (default: all Claude project dirs)", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Trigger extraction after forging", + "name": "extract", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum transcripts to process (0 = all)", + "name": "max", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.batch", + "output": "none", + "path": "ao forge batch", + "short": "Process multiple transcripts at once", + "use": "batch" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Queue for learning extraction at next session start", + "name": "queue", + "origin": "local", + "required": false + }, + { + "description": "Suppress all output (for hooks)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.markdown", + "output": "none", + "path": "ao forge markdown", + "short": "Extract knowledge from markdown files", + "use": "markdown <path-or-glob>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would be promoted without writing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Evaluate review decisions against a labeled JSON manifest without writing", + "name": "eval", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Ollama HTTP endpoint for --reviewer-model (fallback: $AGENTOPS_LLM_ENDPOINT or http://localhost:11434)", + "name": "reviewer-endpoint", + "origin": "local", + "required": false + }, + { + "description": "LLM model tag for Tier 2 reviewer decisions (e.g. gemma2:9b)", + "name": "reviewer-model", + "origin": "local", + "required": false + }, + { + "description": "Directory containing session pages (default: .agents/ao/sessions)", + "name": "sessions-dir", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.review", + "output": "none", + "path": "ao forge review", + "short": "Tier 2 structural review of draft session pages", + "use": "review" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Process only the most recent transcript", + "name": "last-session", + "origin": "local", + "required": false + }, + { + "description": "Allow legacy local Ollama/Gemma fallback for --tier=1 when no AgentWorker queue is configured", + "name": "legacy-local-llm", + "origin": "local", + "required": false + }, + { + "description": "Legacy Ollama HTTP endpoint for --tier=1 (fallback: $AGENTOPS_LLM_ENDPOINT or http://localhost:11434)", + "name": "llm-endpoint", + "origin": "local", + "required": false + }, + { + "description": "Per-chunk character budget for --tier=1 legacy local LLM mode (default: conservative built-in budget)", + "name": "max-chars", + "origin": "local", + "required": false + }, + { + "description": "Legacy local LLM model tag for --tier=1 (e.g. gemma2:9b)", + "name": "model", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Queue session for learning extraction at next session start", + "name": "queue", + "origin": "local", + "required": false + }, + { + "description": "Suppress all output (for hooks)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Tier 1 transcript processing: enqueue to configured Dream worker; local Ollama fallback requires --legacy-local-llm", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "OPT-IN (value-gated, default off): route knowledge through the native typed extractor to emit learning.v1 records; falls back to the heuristic path if the LLM backend is unavailable", + "name": "typed", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.forge.transcript", + "output": "none", + "path": "ao forge transcript", + "short": "Extract knowledge from Claude Code transcripts", + "use": "transcript <path-or-glob>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate", + "output": "none", + "path": "ao gate", + "short": "Human review gates", + "use": "gate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Optional approval note", + "name": "note", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.approve", + "output": "none", + "path": "ao gate approve", + "short": "Approve candidate for promotion", + "use": "approve <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Age threshold for bulk approval", + "name": "older-than", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Tier to bulk approve (default: silver)", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.bulk-approve", + "output": "none", + "path": "ao gate bulk-approve", + "short": "Bulk approve silver candidates", + "use": "bulk-approve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "stop after the first blocking failure", + "name": "fail-fast", + "origin": "local", + "required": false + }, + { + "description": "fast cockpit subset routed to changed files (the default; explicit flag for clarity in hooks)", + "name": "fast", + "origin": "local", + "required": false + }, + { + "description": "run every check (routing ignored); default is the fast changed-file subset", + "name": "full", + "origin": "local", + "required": false + }, + { + "description": "emit GitHub Actions annotations for WARN/FAIL checks", + "name": "github-annotations", + "origin": "local", + "required": false + }, + { + "description": "emit the machine-readable JSON report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "fail if validate.yml references scripts missing from the Go gate registry", + "name": "require-workflow-parity", + "origin": "local", + "required": false + }, + { + "description": "fast-mode changed-file scope: head|staged|worktree|upstream|range:<base>..<head>", + "name": "scope", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "include validate.yml-vs-registry script coverage in the report", + "name": "workflow-coverage", + "origin": "local", + "required": false + }, + { + "description": "workflow path used by --workflow-coverage and --require-workflow-parity", + "name": "workflow-path", + "origin": "local", + "required": false + } + ], + "id": "ao.gate.check", + "output": "none", + "path": "ao gate check", + "short": "Run the gate registry (fast cockpit subset or full suite)", + "use": "check" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.pending", + "output": "none", + "path": "ao gate pending", + "short": "List candidates pending review", + "use": "pending" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Required rejection reason", + "name": "reason", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.reject", + "output": "none", + "path": "ao gate reject", + "short": "Reject candidate", + "use": "reject <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.gate.run", + "output": "none", + "path": "ao gate run", + "short": "Run a check-*.sh gate via BC2 GateRunnerPort and emit verdict", + "use": "run <name>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals", + "output": "none", + "path": "ao goals", + "short": "Fitness goal measurement and validation", + "use": "goals" + }, + { + "aliases": [ + "a" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Goal description", + "name": "description", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Goal type (health, architecture, quality, meta)", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Goal weight (1-10)", + "name": "weight", + "origin": "local", + "required": false + } + ], + "id": "ao.goals.add", + "output": "none", + "path": "ao goals add", + "short": "Add a new goal", + "use": "add <id> <check-command>" + }, + { + "aliases": [ + "d" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.drift", + "output": "none", + "path": "ao goals drift", + "short": "Compare snapshots for regressions", + "use": "drift" + }, + { + "aliases": [ + "e" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.export", + "output": "none", + "path": "ao goals export", + "short": "Export latest snapshot as JSON (for CI)", + "use": "export" + }, + { + "aliases": [ + "h" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Filter history to a specific goal", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Show entries since date (YYYY-MM-DD)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.history", + "output": "none", + "path": "ao goals history", + "short": "Show goal measurement history", + "use": "history" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Use defaults without prompting", + "name": "non-interactive", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Goal template (go-cli, python-lib, web-app, rust-cli, generic)", + "name": "template", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.init", + "output": "none", + "path": "ao goals init", + "short": "Bootstrap a new GOALS.md file", + "use": "init" + }, + { + "aliases": [ + "m" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Output directives as JSON (skip gate checks)", + "name": "directives", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Skip goals whose Tags include this value (e.g. long-cycle)", + "name": "exclude-tag", + "origin": "local", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Measure a single goal by ID", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Evaluate only executable-spec scenario satisfaction; skip shell gate-command execution", + "name": "scenarios-only", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Overall measurement timeout in seconds (0 disables)", + "name": "total-timeout", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.measure", + "output": "none", + "path": "ao goals measure", + "short": "Run goal checks and produce a snapshot", + "use": "measure" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.meta", + "output": "none", + "path": "ao goals meta", + "short": "Run and report meta-goals only", + "use": "meta" + }, + { + "aliases": [ + "mg" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Convert GOALS.yaml to GOALS.md format", + "name": "to-md", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.migrate", + "output": "none", + "path": "ao goals migrate", + "short": "Migrate goals to latest format", + "use": "migrate" + }, + { + "aliases": [ + "p" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.prune", + "output": "none", + "path": "ao goals prune", + "short": "Remove goals referencing nonexistent files", + "use": "prune" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write Gherkin to this file instead of stdout", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.render", + "output": "none", + "path": "ao goals render", + "short": "Render GOALS.md directives and linked scenarios as BDD/Gherkin", + "use": "render" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Create a scenario from this goal description and link it to --directive", + "name": "create", + "origin": "local", + "required": false + }, + { + "description": "Directive display number (filter when listing, target when creating)", + "name": "directive", + "origin": "local", + "required": false + }, + { + "description": "Filter listing to one directive by stable Directive ID", + "name": "directive-id", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Lint the directive↔scenario link graph instead of listing", + "name": "lint", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Source for a created scenario (human, agent, prod-telemetry)", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Status for a created scenario (active, draft, retired)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "With --lint, exit non-zero on warnings as well as errors", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Satisfaction threshold for a created scenario", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.scenarios", + "output": "none", + "path": "ao goals scenarios", + "short": "List or create the holdout scenarios linked to GOALS.md directives", + "use": "scenarios" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer", + "output": "none", + "path": "ao goals steer", + "short": "Manage directives", + "use": "steer" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Directive description (required)", + "name": "description", + "origin": "local", + "required": true + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Steer direction (increase, decrease, hold, explore)", + "name": "steer", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.add", + "output": "none", + "path": "ao goals steer add", + "short": "Add a new directive", + "use": "add <title>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Equivalent to --yes: explicit non-interactive consent to apply", + "name": "auto", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Re-steer policy path (default: docs/re-steer-policy.json)", + "name": "policy", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Pre-confirm the apply for non-interactive/scripted use (explicit consent)", + "name": "yes", + "origin": "local", + "required": false + } + ], + "id": "ao.goals.steer.apply", + "output": "none", + "path": "ao goals steer apply", + "short": "Apply a re-steer recommendation to GOALS.md (human-gated)", + "use": "apply" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.prioritize", + "output": "none", + "path": "ao goals steer prioritize", + "short": "Move a directive to a new position", + "use": "prioritize <number> <new-position>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Re-steer policy path (default: docs/re-steer-policy.json)", + "name": "policy", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.recommend", + "output": "none", + "path": "ao goals steer recommend", + "short": "Show re-steer recommendations without modifying GOALS.md", + "use": "recommend" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.steer.remove", + "output": "none", + "path": "ao goals steer remove", + "short": "Remove a directive by number", + "use": "remove <number>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Render the trace lineage rooted at this directive, scenario, or bead ID", + "name": "from", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Audit the whole chain for broken references (errors) and missing yields (warnings)", + "name": "orphans", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Escalate warning-class defects to a non-zero exit (ADR-0005 §4.2)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.trace", + "output": "none", + "path": "ao goals trace", + "short": "Trace the directive→scenario→bead→artifact→learning executable-spec chain", + "use": "trace" + }, + { + "aliases": [ + "v" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to goals file (auto-detects GOALS.md then GOALS.yaml)", + "name": "file", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Check timeout in seconds", + "name": "timeout", + "origin": "inherited", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.goals.validate", + "output": "none", + "path": "ao goals validate", + "short": "Validate GOALS.yaml structure and wiring", + "use": "validate" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.governor", + "output": "none", + "path": "ao governor", + "short": "The membrane's SPC control-loop governor (error budget, special-cause)", + "use": "governor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "ship — within error budget", + "3": "HARDEN — burn-rate over tolerance; stop the line" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Special-cause floor: min confirmed in window before harden can fire; 0 = default", + "name": "min-confirmed", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Tolerated escape rate T; 0 = default", + "name": "tolerance", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Rolling window size (gate-verdicts); 0 = default", + "name": "window", + "origin": "local", + "required": false + } + ], + "id": "ao.governor.budget", + "output": "none", + "path": "ao governor budget", + "short": "Error-budget burn-rate: the one number that decides ship-vs-harden", + "use": "budget [--json] [--window N] [--tolerance T] [--min-confirmed N]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the verdict as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Special-cause control limit K (escapes per domain in window); 0 = default", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Rolling window size (gate-verdicts); 0 = default", + "name": "window", + "origin": "local", + "required": false + } + ], + "id": "ao.governor.noise-band", + "output": "none", + "path": "ao governor noise-band", + "short": "Special-cause noise-band: should the membrane ADJUST, or is this common-cause noise?", + "use": "noise-band [--json] [--window N] [--limit K]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.guard-status", + "output": "none", + "path": "ao guard-status", + "short": "Verify guard hook and validator launcher installation", + "use": "guard-status" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.harness", + "output": "none", + "path": "ao harness", + "short": "BC5 HarnessPort operations (sync state across skill harnesses)", + "use": "harness" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "emit only entries with OutOfSync=true", + "name": "out-of-sync-only", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "filter to one skill name (empty = all)", + "name": "skill", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.harness.status", + "output": "none", + "path": "ao harness status", + "short": "Emit (skill, harness) sync state via BC5 HarnessPort", + "use": "status [--skill <name>] [--out-of-sync-only]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Use .git/info/exclude instead of .gitignore", + "name": "stealth", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.init", + "output": "none", + "path": "ao init", + "short": "Initialize AgentOps in the current repository", + "use": "init" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Apply confidence decay before ranking", + "name": "apply-decay", + "origin": "local", + "required": false + }, + { + "description": "Bead ID for work-scoped knowledge injection", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Context query for filtering (alternative to positional arg)", + "name": "context", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Skill name — assembles context per skill's context declaration", + "name": "for", + "origin": "local", + "required": false + }, + { + "description": "Output format: markdown, json", + "name": "format", + "origin": "local", + "required": false + }, + { + "description": "Output compact knowledge index table instead of full content", + "name": "index-only", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum tokens to output", + "name": "max-tokens", + "origin": "local", + "required": false + }, + { + "description": "Disable citation recording", + "name": "no-cite", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to predecessor handoff file for context injection", + "name": "predecessor", + "origin": "local", + "required": false + }, + { + "description": "Include .agents/profile.md identity artifact in output", + "name": "profile", + "origin": "local", + "required": false + }, + { + "description": "Quarantine flagged learnings from quality report", + "name": "quarantine-flagged", + "origin": "local", + "required": false + }, + { + "description": "Session ID for citation tracking (auto-generated if empty)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Session type for scoring boost (career, research, debug, implement, brainstorm)", + "name": "session-type", + "origin": "local", + "required": false + }, + { + "description": "Multiplier on utility's contribution to ranking (0=disable, 1=default, >1=emphasize). Reads `utility:` frontmatter; closes the eval-verdict-compiler loop.", + "name": "utility-weight", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.inject", + "output": "none", + "path": "ao inject", + "short": "Output relevant knowledge for explicit or JIT injection", + "use": "inject [context]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.install-guards", + "output": "none", + "path": "ao install-guards", + "short": "Install repo-local git guard hooks", + "use": "install-guards" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge", + "output": "none", + "path": "ao knowledge", + "short": "Operationalize a mature .agents corpus into reusable operator surfaces", + "use": "knowledge" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Optional goal for briefing compilation during activation", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.activate", + "output": "none", + "path": "ao knowledge activate", + "short": "Run the full knowledge activation outer loop", + "use": "activate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.beliefs", + "output": "none", + "path": "ao knowledge beliefs", + "short": "Refresh the belief book from promoted evidence", + "use": "beliefs" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Goal to compile into a briefing", + "name": "goal", + "origin": "local", + "required": true + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.brief", + "output": "none", + "path": "ao knowledge brief", + "short": "Compile a goal-time briefing", + "use": "brief" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.gaps", + "output": "none", + "path": "ao knowledge gaps", + "short": "Report thin topics, promotion gaps, and next mining work", + "use": "gaps" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include thin topics when building playbook candidates", + "name": "include-thin", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.knowledge.playbooks", + "output": "none", + "path": "ao knowledge playbooks", + "short": "Refresh playbook candidates from healthy topics", + "use": "playbooks" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.land", + "output": "none", + "path": "ao land", + "short": "Land a bead through the trusted pawl path with a fresh in-checkout binary, then atomic pawl-land", + "use": "land <bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Filter by source bead ID", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Citation type to record for returned artifacts: retrieved, reference, applied", + "name": "cite", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Retrieve from the sanitized OKF gold wiki (.ao/wiki) instead of the raw .agents/ corpus", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "JSON output", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Maximum results to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Skip citation recording", + "name": "no-cite", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Compact pointers only (type · title · path · score) — no bodies; the token-cheap mode for decision-point pulls", + "name": "pointers", + "origin": "local", + "required": false + }, + { + "description": "Search query for relevance matching", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "Session ID for citation tracking", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.lookup", + "output": "none", + "path": "ao lookup", + "short": "Retrieve specific knowledge artifacts by ID or query", + "use": "lookup [id]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop", + "output": "none", + "path": "ao loop", + "short": "BC3 Loop operations (cycle history, etc.)", + "use": "loop" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "git commit SHA (optional)", + "name": "commit", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "cycle number (0 = auto-assign max+1)", + "name": "cycle", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "milestone note (optional)", + "name": "milestone", + "origin": "local", + "required": false + }, + { + "description": "cycle mode (required)", + "name": "mode", + "origin": "local", + "required": true + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "cycle result: improved|harvested|unchanged|idle (required)", + "name": "result", + "origin": "local", + "required": true + }, + { + "description": "XP/BDD/TDD evidence trace as a JSON object — a file path or inline JSON (optional)", + "name": "trace-json", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.append", + "output": "none", + "path": "ao loop append", + "short": "Append a cycle entry via BC3 LoopWriterPort", + "use": "append --mode <m> --result <r> [flags]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Bead id the agent was working on (write mode, optional)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Clear mode: delete entries for the given cycle id (operator-only)", + "name": "clear", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Override cycle-id (write mode; defaults to date-derived counter)", + "name": "cycle", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Read mode: emit JSON instead of human-readable text", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Ladder step that failed (write mode, optional)", + "name": "ladder-step-failed", + "origin": "local", + "required": false + }, + { + "description": "Read mode: list blocked events", + "name": "list", + "origin": "local", + "required": false + }, + { + "description": "Missing context description (write mode, optional)", + "name": "needed-context", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reason text (write mode)", + "name": "reason", + "origin": "local", + "required": false + }, + { + "description": "Read mode: show last N entries", + "name": "tail", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.blocked", + "output": "none", + "path": "ao loop blocked", + "short": "Log or list typed blocked-events from the /evolve loop", + "use": "blocked" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "a fitness baseline artifact has been captured", + "name": "fitness-baseline", + "origin": "local", + "required": false + }, + { + "description": "current leading green CI streak (caller-supplied evidence)", + "name": "green-streak", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "current unconsumed HIGH+MEDIUM finding count", + "name": "unconsumed-high-medium", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.converged", + "output": "none", + "path": "ao loop converged", + "short": "Evaluate the evolve convergence STOP predicate via the BC3 ConvergenceCheckPort", + "use": "converged" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "end cycle number (inclusive; 0 = unbounded)", + "name": "end", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "emit only the latest entry", + "name": "latest", + "origin": "local", + "required": false + }, + { + "description": "max entries to emit (0 = all)", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "start cycle number (inclusive; 0 = unbounded)", + "name": "start", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.history", + "output": "none", + "path": "ao loop history", + "short": "Read /evolve cycle history via the BC3 LoopReaderPort", + "use": "history" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.hypothesis", + "output": "none", + "path": "ao loop hypothesis", + "short": "BC3 Loop hypothesis-ledger operations (list, append)", + "use": "hypothesis" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "future cycle that evaluates the measure", + "name": "check-at-cycle", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "cycle the patch landed", + "name": "cycle-landed", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "expected effect of the patch", + "name": "hypothesis", + "origin": "local", + "required": false + }, + { + "description": "unique hypothesis ID, e.g. H210.1 (required)", + "name": "id", + "origin": "local", + "required": true + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "how the effect is verified", + "name": "measure", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "one-line description of what landed", + "name": "patch", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "verdict: PENDING|VERIFIED|FALSIFIED", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.loop.hypothesis.append", + "output": "none", + "path": "ao loop hypothesis append", + "short": "Append a hypothesis record via the BC3 HypothesisLedgerPort", + "use": "append --id <id> --hypothesis <h> --measure <m> [flags]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.hypothesis.list", + "output": "none", + "path": "ao loop hypothesis list", + "short": "List evolve hypotheses via the BC3 HypothesisLedgerPort", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Override path to the 'bd' binary (default: resolves via PATH)", + "name": "bd-binary", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Do not filter operator-shape beads at step 1", + "name": "include-operator-shape", + "origin": "local", + "required": false + }, + { + "description": "Emit JSON instead of human-readable text", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Execution contract: 'burst' (default) or 'loop'", + "name": "mode", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.next-work", + "output": "none", + "path": "ao loop next-work", + "short": "Recommend the next bead to claim via the 5-step ladder", + "use": "next-work" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "max acceptable trailing idle/unchanged streak before flagging dormancy", + "name": "max-idle", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.verify", + "output": "none", + "path": "ao loop verify", + "short": "Audit cycle-history.jsonl integrity via BC3 LoopReaderPort", + "use": "verify" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Marker name: dormant, stop, or kill", + "name": "marker", + "origin": "local", + "required": true + }, + { + "description": "Execution contract: 'burst' or 'loop' (loop refuses unconditionally)", + "name": "mode", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reason text written to the marker file", + "name": "reason", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.loop.write-stop-marker", + "output": "none", + "path": "ao loop write-stop-marker", + "short": "Write an evolve stop marker (refused under --mode=loop)", + "use": "write-stop-marker" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Apply maturity transitions", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Move expired/evicted/curated files to archive (requires --expire, --evict, or --curate)", + "name": "archive", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Normalize metadata and identify low-signal or uncited stale learnings", + "name": "curate", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Identify eviction candidates (composite criteria)", + "name": "evict", + "origin": "local", + "required": false + }, + { + "description": "Scan for expired learnings", + "name": "expire", + "origin": "local", + "required": false + }, + { + "description": "Operate on ~/.agents/learnings instead of the local workspace learnings", + "name": "global", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Add default frontmatter to .md learnings missing utility field", + "name": "migrate-md", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reset utility to 0.5 for all learnings", + "name": "recalibrate", + "origin": "local", + "required": false + }, + { + "description": "Scan all learnings for pending transitions", + "name": "scan", + "origin": "local", + "required": false + }, + { + "description": "Size-budget eviction: when set with --evict, archive lowest-utility eligible files until the learnings hub falls below the target (e.g. 250M, 1G, 1024K)", + "name": "target-size", + "origin": "local", + "required": false + }, + { + "description": "Archive provisional/candidate learnings with zero citations older than this many days when used with --curate", + "name": "uncited-days", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.maturity", + "output": "none", + "path": "ao maturity", + "short": "Check and manage learning maturity levels", + "use": "maturity [learning-id]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mcp", + "output": "none", + "path": "ao mcp", + "short": "Expose the ao tool surface over MCP for hosted/SDK Claude loops", + "use": "mcp" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Machine-readable JSON (always JSON for --print-tools; reserved for parity)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Emit the curated tool surface as JSON and exit", + "name": "print-tools", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mcp.serve", + "output": "none", + "path": "ao mcp serve", + "short": "Serve (or print) the curated ao MCP tool surface", + "use": "serve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane", + "output": "none", + "path": "ao membrane", + "short": "Self-improving membrane: turn escapes into membrane checks", + "use": "membrane" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.calibrate", + "output": "none", + "path": "ao membrane calibrate", + "short": "Calibrate the cold membrane's catch-rate against the frozen trap corpus (the standing ruler)", + "use": "calibrate [--membrane-label <adapter>] [--membrane-cmd <c>] [--out-dir <dir>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "With --scope upstream: exact reviewed ancestor commit (default: configured-upstream merge-base)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Bead id the catch was found on (required)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Optional SEMANTIC class slug (e.g. stale-retired-surface). When set it keys the class CROSS-BEAD (the same label on different beads is ONE class), instead of the bead-drifting reason. Slug shape: lowercase [a-z0-9] words joined by '-'", + "name": "class", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Optional detector kind (e.g. regex)", + "name": "detector-kind", + "origin": "local", + "required": false + }, + { + "description": "Optional regex that mechanically detects this class (makes it a compile candidate)", + "name": "detector-pattern", + "origin": "local", + "required": false + }, + { + "description": "Bounded-context / work-class tag (required)", + "name": "domain", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Pawl-review evidence file: derive --reason (two-tier REFUTED salvage), --domain (first changed file's top dir) and --paths (changed files, first 20); explicit flags win", + "name": "evidence", + "origin": "local", + "required": false + }, + { + "description": "Optional path globs scoping the detector pattern", + "name": "globs", + "origin": "local", + "required": false + }, + { + "description": "Commit sha the catch was found at (default: git HEAD)", + "name": "head", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Pawl diversity mode: fresh-context (default) | multi-model | deterministic", + "name": "mode", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Concrete repo-relative file paths the catch touches (comma-separated or repeated)", + "name": "paths", + "origin": "local", + "required": false + }, + { + "description": "What was caught — the defect (required; the class reason when no --class given)", + "name": "reason", + "origin": "local", + "required": false + }, + { + "description": "Run id (default: membrane-catch)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "With --evidence: changed-file scope — head (the --head commit), staged (the index), or upstream (configured-upstream merge-base through --head)", + "name": "scope", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.catch", + "output": "none", + "path": "ao membrane catch", + "short": "Record a membrane CATCH — a REFUTED defect, as a structured class the membrane remembers", + "use": "catch --bead <id> (--domain <bc> --reason <what> | --evidence <file>) [--scope head|staged|upstream] [--base <sha>] [--class <slug>] [--paths f1,f2] [--detector-pattern <re> --globs <g> --detector-kind <k>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report what would be derived without writing files", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Overwrite existing derived artifacts", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run id to scan for escapes (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.derive-checks", + "output": "none", + "path": "ao membrane derive-checks", + "short": "Derive membrane checks from escapes in a run", + "use": "derive-checks --run <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Per-class recurrence before vs since --since (read-only; for the producer-defect register)", + "name": "deltas", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include reason-less placeholder classes (e.g. \"pawl-review REFUTED (see evidence)\") for corpus auditing; excluded by default so the checklist stays actionable", + "name": "include-placeholders", + "origin": "local", + "required": false + }, + { + "description": "Also print the ranked digest as JSON (the checklist file is written either way)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Cutoff for --deltas: an ISO date (2026-07-08, UTC midnight) or RFC3339 timestamp — typically a producer fix's land date", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "How many top recurring catch classes to include", + "name": "top", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.digest", + "output": "none", + "path": "ao membrane digest", + "short": "Mine the catch corpus into a GLOBAL top-N recurring-defect checklist the loop's START consumes", + "use": "digest [--top N] [--json] [--deltas --since <date>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Bounded-context / work-class tag to recall escapes for (required)", + "name": "domain", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Also surface CATCH classes in the domain (the abundant memory; escapes are rare)", + "name": "include-catches", + "origin": "local", + "required": false + }, + { + "description": "Emit the recalled escapes as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "With --include-catches, narrow to catches whose affected_paths overlap these files", + "name": "paths", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.recall", + "output": "none", + "path": "ao membrane recall", + "short": "Recall past escapes in a domain — the membrane's 'look out for this here' memory", + "use": "recall --domain <domain>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the triage result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.membrane.triage", + "output": "none", + "path": "ao membrane triage", + "short": "Triage the catch corpus: the HONEST recurrence + compilability read (today: INSUFFICIENT-DATA)", + "use": "triage" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics", + "output": "none", + "path": "ao metrics", + "short": "Knowledge flywheel metrics", + "use": "metrics" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days for metrics calculation", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.baseline", + "output": "none", + "path": "ao metrics baseline", + "short": "Capture current flywheel state", + "use": "baseline" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Author/owner identity of the cited artifact", + "name": "artifact-author", + "origin": "local", + "required": false + }, + { + "description": "Agent identity recording the citation outcome", + "name": "cited-by-agent", + "origin": "local", + "required": false + }, + { + "description": "Model family of the citing/reviewing agent", + "name": "cited-by-family", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Search query that surfaced this artifact", + "name": "query", + "origin": "local", + "required": false + }, + { + "description": "Session ID (auto-detected if not provided)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Citation type: retrieved, used-in-final-artifact, helpful, harmful, refuted, applied, reference", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Model vendor attribution: claude, codex", + "name": "vendor", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.cite", + "output": "none", + "path": "ao metrics cite", + "short": "Record a citation event", + "use": "cite <artifact-path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.cite-report", + "output": "none", + "path": "ao metrics cite-report", + "short": "Aggregated citation report", + "use": "cite-report" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Citation namespace to evaluate (primary by default)", + "name": "namespace", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.health", + "output": "none", + "path": "ao metrics health", + "short": "Show flywheel health metrics", + "use": "health" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Period in days for metrics calculation", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.metrics.report", + "output": "none", + "path": "ao metrics report", + "short": "Show flywheel metrics report", + "use": "report" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Append actionable mine findings to .agents/rpi/next-work.jsonl for evolve to pick up", + "name": "emit-work-items", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Directory for mine output JSON", + "name": "output-dir", + "origin": "local", + "required": false + }, + { + "description": "Suppress progress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "How far back to look (e.g. 26h, 7d)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated sources to mine (git, agents, code, events)", + "name": "sources", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.mine", + "output": "none", + "path": "ao mine", + "short": "Extract knowledge signal from git, .agents/, and code", + "use": "mine" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.next-work", + "output": "none", + "path": "ao next-work", + "short": "Operate on the harvested next-work queue (.agents/rpi/next-work.jsonl)", + "use": "next-work" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would be created without creating beads or mutating the queue", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Path to next-work.jsonl (default: <cwd>/.agents/rpi/next-work.jsonl)", + "name": "file", + "origin": "local", + "required": false + }, + { + "description": "Emit a machine-readable JSON summary", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Actor recorded in provenance metadata", + "name": "materialized-by", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Only materialize items whose batch source_epic equals this value", + "name": "source-epic", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.next-work.materialize", + "output": "none", + "path": "ao next-work materialize", + "short": "Create durable beads from unmaterialized harvested follow-ups", + "use": "materialize" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.notebook", + "output": "none", + "path": "ao notebook", + "short": "Manage the session notebook (MEMORY.md)", + "use": "notebook" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum lines in MEMORY.md", + "name": "max-lines", + "origin": "local", + "required": false + }, + { + "description": "Path to MEMORY.md (auto-detected if omitted)", + "name": "memory-file", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Suppress output (for hooks)", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Specific session ID to update from", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Source: auto|sessions|pending", + "name": "source", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.notebook.update", + "output": "none", + "path": "ao notebook update", + "short": "Update MEMORY.md with latest session insights", + "use": "update" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.operator", + "output": "none", + "path": "ao operator", + "short": "BC4 OperatorPort operations (record/list operator intents)", + "use": "operator" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.operator.list", + "output": "none", + "path": "ao operator list", + "short": "List recorded operator intents (most-recent first)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "intent kind (required: halt|rescope|handoff|other)", + "name": "kind", + "origin": "local", + "required": true + }, + { + "description": "free-text note", + "name": "note", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "intent subject (e.g., bd ID, file path)", + "name": "subject", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.operator.record", + "output": "none", + "path": "ao operator record", + "short": "Record an operator intent via BC4 OperatorPort", + "use": "record --kind <kind> [--subject S] [--note N]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate", + "output": "none", + "path": "ao orchestrate", + "short": "Out-of-session orchestration instruments (windshield)", + "use": "orchestrate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON instrument result", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Profile id (dual-pane, tri-vendor)", + "name": "profile", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.preflight", + "output": "none", + "path": "ao orchestrate preflight", + "short": "Pre-run admission gate for an orchestration profile", + "use": "preflight" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON instrument result", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Comma-separated models (opus,codex,agy)", + "name": "models", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Durability axis: unattended out-of-session", + "name": "unattended", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Parallel writer count", + "name": "writers", + "origin": "local", + "required": false + } + ], + "id": "ao.orchestrate.route", + "output": "none", + "path": "ao orchestrate route", + "short": "Recommend orchestration profile for out-of-session work", + "use": "route" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the selection trace as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Bypass swarm engines and run on the beads floor", + "name": "opt-out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Force a backend: ntm|claude|codex|beads (overrides --opt-out and availability)", + "name": "pin", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.select", + "output": "none", + "path": "ao orchestrate select", + "short": "Select the orchestration backend for a unit of work", + "use": "select" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Skip Agent Mail gathering", + "name": "no-am", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Execution packet path", + "name": "packet", + "origin": "local", + "required": false + }, + { + "description": "Agent Mail project key", + "name": "project", + "origin": "local", + "required": false + }, + { + "description": "Proposed shape", + "name": "proposed", + "origin": "local", + "required": false + }, + { + "description": "Durability axis", + "name": "unattended", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.shape", + "output": "none", + "path": "ao orchestrate shape", + "short": "Stamp orchestration shape onto the execution packet", + "use": "shape" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.status", + "output": "none", + "path": "ao orchestrate status", + "short": "List active ATM sessions with degraded hints", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON instrument result", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.tools", + "output": "none", + "path": "ao orchestrate tools", + "short": "Probe the orchestration tool matrix", + "use": "tools" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON instrument result", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Profile id", + "name": "profile", + "origin": "local", + "required": true + }, + { + "description": "ATM session name", + "name": "session", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.orchestrate.verify", + "output": "none", + "path": "ao orchestrate verify", + "short": "Post-spawn windshield for a live session", + "use": "verify" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.patterns", + "output": "none", + "path": "ao patterns", + "short": "Inspect and repair .agents/patterns/ artifacts", + "use": "patterns" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Perform renames (default: dry-run, no disk writes)", + "name": "apply", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Patterns directory to repair (default: <cwd>/.agents/patterns)", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Suppress per-rename output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.patterns.repair-filenames", + "output": "none", + "path": "ao patterns repair-filenames", + "short": "Repair doubled/tripled prefixes in .agents/patterns/ filenames", + "use": "repair-filenames" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl", + "output": "none", + "path": "ao pawl", + "short": "Cross-family membrane review and verdict tooling (the in-repo acceptance pawl)", + "use": "pawl" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.doctor", + "output": "none", + "path": "ao pawl doctor", + "short": "Read-only standing pawl preflight: assert swarm binary (ntm-first), session, pane cwd/model, trust prompts, readiness, and evidence policy", + "use": "doctor [--json] [--expected-cwd PATH] [--expected-claude-model MODEL] [--expected-codex-model MODEL]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.down", + "output": "none", + "path": "ao pawl down", + "short": "Tear down the standing pawl-service (no orphan panes)", + "use": "down" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.health", + "output": "none", + "path": "ao pawl health", + "short": "Per-pane liveness/readiness of the standing pawl-service + the membrane tier", + "use": "health [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.metrics", + "output": "none", + "path": "ao pawl metrics", + "short": "p50/p95 route latency + agreement-rate SLOs over the recorded routes", + "use": "metrics [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.reap", + "output": "none", + "path": "ao pawl reap", + "short": "Tear down the standing pawl-service iff idle > PAWL_IDLE_TTL (substrate/cron schedules it; no-op otherwise)", + "use": "reap" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "CONFIRMED — cross-family verdict written", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — auto-redo", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — strict quorum could not run at two-family strength" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.review", + "output": "none", + "path": "ao pawl review", + "short": "Run the cross-family (codex) membrane review; on CONFIRMED write the commit-bound verdict", + "use": "review <bead-id> [--scope head|staged|upstream] [--base <sha>] [--converge] [--strict] [--author-family <fam>] [--context <s>] [--smoke <cmd>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.route", + "output": "none", + "path": "ao pawl route", + "short": "Route a review packet to the warm cross-family panel; require tier-appropriate agreement, record the verdict", + "use": "route <bead> <packet> [pr]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.smoke", + "output": "none", + "path": "ao pawl smoke", + "short": "Alias for pawl doctor: non-mutating readiness smoke before routing real reviews", + "use": "smoke [--json] [--expected-cwd PATH] [--expected-claude-model MODEL] [--expected-codex-model MODEL]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pawl.up", + "output": "none", + "path": "ao pawl up", + "short": "Stand up the standing pawl-service — adaptive: probe installed families (claude/codex/agy) and form the strongest membrane; pin with --dual/--tri/--models. Readiness-gated, idempotent", + "use": "up [--dual|--tri|--models a,b,c]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.plan-pawl", + "output": "none", + "path": "ao plan-pawl", + "short": "The plan-pawl duel gate over discovery plans (docs/contracts/pawls.md)", + "use": "plan-pawl" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "PASS — the door opens", + "2": "usage error", + "3": "REDO — auto-redo loop (no human)", + "4": "BLOCKED — a circuit breaker tripped (andon)", + "5": "DEGRADED — transient panel lane loss below quorum; retry the panel" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "directory of judge verdict *.json files", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the decision as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "a reviewer raised an explicit value/irreversibility judgment (hard breaker)", + "name": "judgment-flag", + "origin": "local", + "required": false + }, + { + "description": "max rounds before the max-attempts breaker trips (<=0 = unbounded)", + "name": "max-rounds", + "origin": "local", + "required": false + }, + { + "description": "the same failure has repeated (hard breaker)", + "name": "oscillation", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "current round (1-based)", + "name": "round", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "judge verdict: family:disposition[:warnclass] (repeatable)", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.plan-pawl.decide", + "output": "none", + "path": "ao plan-pawl decide", + "short": "Decide a duel round: PASS / REDO / BLOCKED (exit 0 / 3 / 4)", + "use": "decide" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool", + "output": "none", + "path": "ao pool", + "short": "Manage quality pools", + "use": "pool" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Include gold-tier candidates when using --promote", + "name": "include-gold", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Also stage+promote eligible candidates into .agents/ (not just approval)", + "name": "promote", + "origin": "local", + "required": false + }, + { + "description": "Minimum age for auto-promotion (default: 24h)", + "name": "threshold", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.auto-promote", + "output": "none", + "path": "ao pool auto-promote", + "short": "Auto-promote eligible candidates older than threshold", + "use": "auto-promote" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Promote all pending regardless of criteria", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum age for promotion eligibility", + "name": "min-age", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.batch-promote", + "output": "none", + "path": "ao pool batch-promote", + "short": "Bulk promote pending candidates to knowledge base", + "use": "batch-promote" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Directory to ingest from when no args are provided", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.ingest", + "output": "none", + "path": "ao pool ingest", + "short": "Ingest pending markdown learnings into the pool", + "use": "ingest [<files-or-globs...>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum results to return (default 50, 0 for unlimited)", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Skip first N results (for pagination)", + "name": "offset", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter by status (pending, staged, promoted, rejected)", + "name": "status", + "origin": "local", + "required": false + }, + { + "description": "Filter by tier (gold, silver, bronze)", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Show full IDs without truncation", + "name": "wide", + "origin": "local", + "required": false, + "shorthand": "w" + } + ], + "id": "ao.pool.list", + "output": "none", + "path": "ao pool list", + "short": "List candidates in pools", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.promote", + "output": "none", + "path": "ao pool promote", + "short": "Promote candidate to knowledge base", + "use": "promote <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print counts only; do not write to the index", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Emit structured JSON output", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.reindex", + "output": "none", + "path": "ao pool reindex", + "short": "Backfill promoted-index.jsonl from on-disk learnings/patterns", + "use": "reindex" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reason for rejection (required)", + "name": "reason", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.reject", + "output": "none", + "path": "ao pool reject", + "short": "Reject candidate", + "use": "reject <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.show", + "output": "none", + "path": "ao pool show", + "short": "Show candidate details", + "use": "show <candidate-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimum tier threshold (default: bronze)", + "name": "min-tier", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.pool.stage", + "output": "none", + "path": "ao pool stage", + "short": "Stage candidate for promotion", + "use": "stage <candidate-id>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance", + "output": "none", + "path": "ao provenance", + "short": "Write and read the SDLC provenance edge ledger", + "use": "provenance" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Optional evidence pointer (path, commit, CI run URL, event id)", + "name": "evidence", + "origin": "local", + "required": false + }, + { + "description": "Source node type (decision|artifact|bead|...)", + "name": "from-type", + "origin": "local", + "required": false + }, + { + "description": "Emit the sealed edge as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Typed PROV-O relation (required), e.g. wasGeneratedBy", + "name": "relation", + "origin": "local", + "required": false + }, + { + "description": "Target node type (decision|artifact|bead|...)", + "name": "to-type", + "origin": "local", + "required": false + }, + { + "description": "Trust tier (authored|inferred|mined)", + "name": "trust-tier", + "origin": "local", + "required": false + }, + { + "description": "Override the UTC RFC3339 timestamp (defaults to now)", + "name": "ts", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.add", + "output": "none", + "path": "ao provenance add", + "short": "Append a provenance edge to the ledger", + "use": "add <from-id> <to-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Single commit-ish to emit edges for (default HEAD when no --range)", + "name": "commit", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Resolve and print edges without writing the ledger", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Emit appended edges as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Git revision range (e.g. origin/main..HEAD); emits for every commit in it", + "name": "range", + "origin": "local", + "required": false + }, + { + "description": "Require each commit to be an ancestor of this ref (e.g. origin/main) before emitting; merge_sha uses the resolved full OID", + "name": "trunk-ref", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.emit-landed", + "output": "none", + "path": "ao provenance emit-landed", + "short": "Auto-emit bead→commit provenance edges for landed commits", + "use": "emit-landed" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Resolve and print edges without writing the ledger", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Path to the pawl-verdict JSON file (required)", + "name": "file", + "origin": "local", + "required": true + }, + { + "description": "Emit appended edges as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.emit-verdict", + "output": "none", + "path": "ao provenance emit-verdict", + "short": "Emit verdict→commit provenance edges from a pawl-verdict file", + "use": "emit-verdict" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit a single indented JSON array instead of JSONL", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Verify the re-chained export and print only a one-line summary", + "name": "verify", + "origin": "local", + "required": false + } + ], + "id": "ao.provenance.export", + "output": "none", + "path": "ao provenance export", + "short": "Emit a deterministic, hash-chained rendering of the provenance ledger", + "use": "export" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.ledger-reader-version", + "output": "none", + "path": "ao provenance ledger-reader-version", + "short": "Print this binary's ledger-reader capability level (the pre-push hook's ao-version floor probe)", + "use": "ledger-reader-version" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Filter to edges whose from_id matches", + "name": "from-id", + "origin": "local", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter to edges with this relation", + "name": "relation", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.list", + "output": "none", + "path": "ao provenance list", + "short": "Read provenance edges back from the ledger", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the session transcript (.jsonl) to mine (required)", + "name": "file", + "origin": "local", + "required": false + }, + { + "description": "Emit events as JSONL on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to the incremental watermark state JSON (created/updated; omit for a full one-shot mine)", + "name": "state", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.mine-session", + "output": "none", + "path": "ao provenance mine-session", + "short": "Mine deterministic per-inference provenance events from a session transcript", + "use": "mine-session --file <session.jsonl>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.position", + "output": "none", + "path": "ao provenance position", + "short": "Report the navigator's current position from the provenance ledger", + "use": "position" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Verdicts dir (default: <repo>/.agents/pawl-verdicts)", + "name": "dir", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Re-emit missing ledger edges for unbound verdicts", + "name": "emit", + "origin": "local", + "required": false + }, + { + "description": "Run even with an uncommitted ledger worktree", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Emit the reconcile result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.reconcile", + "output": "none", + "path": "ao provenance reconcile", + "short": "Detect (and optionally repair) verdict-file / ledger-edge desyncs", + "use": "reconcile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.show", + "output": "none", + "path": "ao provenance show", + "short": "Render the human verdict lineage for one commit or bead", + "use": "show <sha|bead-id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the JSONL trace-graph to audit (required)", + "name": "graph", + "origin": "local", + "required": false + }, + { + "description": "Emit each finding as one JSON object per line", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Audit for artifact nodes with no inbound provenance edge", + "name": "orphans", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero when any orphan exists", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.trace", + "output": "none", + "path": "ao provenance trace", + "short": "Audit the provenance graph for orphan artifacts (no inbound edge)", + "use": "trace" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the machine-readable verify result as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.provenance.verify", + "output": "none", + "path": "ao provenance verify", + "short": "Verify the committed provenance ledger's hash chain IN PLACE", + "use": "verify" + }, + { + "aliases": [ + "quickstart" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Minimal setup (just directories)", + "name": "minimal", + "origin": "local", + "required": false + }, + { + "description": "Skip beads initialization", + "name": "no-beads", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.quick-start", + "output": "none", + "path": "ao quick-start", + "short": "Set up AgentOps in your project (5 minutes)", + "use": "quick-start" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet", + "output": "none", + "path": "ao ratchet", + "short": "Brownian Ratchet workflow tracking", + "use": "ratchet" + }, + { + "aliases": [ + "c" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.check", + "output": "none", + "path": "ao ratchet check", + "short": "Check if step gate is met", + "use": "check <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.find", + "output": "none", + "path": "ao ratchet find", + "short": "Search for artifacts", + "use": "find <pattern>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.migrate", + "output": "none", + "path": "ao ratchet migrate", + "short": "Migrate legacy chain", + "use": "migrate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.migrate-artifacts", + "output": "none", + "path": "ao ratchet migrate-artifacts", + "short": "Add schema_version to artifacts (ol-a46.1.3)", + "use": "migrate-artifacts [path]" + }, + { + "aliases": [ + "n" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Filter by epic ID", + "name": "epic", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.next", + "output": "none", + "path": "ao ratchet next", + "short": "Show next pending RPI step", + "use": "next" + }, + { + "aliases": [ + "p" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Target tier (0-4, required)", + "name": "to", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.promote", + "output": "none", + "path": "ao ratchet promote", + "short": "Record tier promotion", + "use": "promote <artifact>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "RPI cycle number (1 for first, 2+ for iterations)", + "name": "cycle", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Input artifact path", + "name": "input", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Lock the step (engage ratchet)", + "name": "lock", + "origin": "local", + "required": false + }, + { + "description": "Output artifact path (required)", + "name": "output", + "origin": "local", + "required": true + }, + { + "description": "Parent epic ID from prior RPI cycle", + "name": "parent-epic", + "origin": "local", + "required": false + }, + { + "description": "Quality tier (0-4)", + "name": "tier", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.record", + "output": "none", + "path": "ao ratchet record", + "short": "Record step completion", + "use": "record <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Reason for skipping (required)", + "name": "reason", + "origin": "local", + "required": true + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.skip", + "output": "none", + "path": "ao ratchet skip", + "short": "Record intentional skip", + "use": "skip <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.spec", + "output": "none", + "path": "ao ratchet spec", + "short": "Get current spec path", + "use": "spec" + }, + { + "aliases": [ + "s" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Filter by chain ID", + "name": "chain", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Filter by epic ID", + "name": "epic", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.status", + "output": "none", + "path": "ao ratchet status", + "short": "Show ratchet chain state", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.trace", + "output": "none", + "path": "ao ratchet trace", + "short": "Trace provenance backward", + "use": "trace <artifact>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Files to validate", + "name": "changes", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Allow legacy artifacts without schema_version (expires in 90 days)", + "name": "lenient", + "origin": "local", + "required": false + }, + { + "description": "Days until lenient bypass expires", + "name": "lenient-expiry", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ratchet.validate", + "output": "none", + "path": "ao ratchet validate", + "short": "Validate step requirements", + "use": "validate <step>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.ready", + "output": "none", + "path": "ao ready", + "short": "Print harness-neutral ready bead state as JSON", + "use": "ready" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "maximum bead and run records to sample", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "GitHub repo override for gh calls (owner/name)", + "name": "repo", + "origin": "local", + "required": false + }, + { + "description": "recent .agents evidence window", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.reconcile", + "output": "none", + "path": "ao reconcile", + "short": "Join git, CI, release, beads, and .agents truth into one report", + "use": "reconcile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.redact", + "output": "none", + "path": "ao redact", + "short": "Scrub secrets from stdin to stdout (canonical redactor)", + "use": "redact" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.registry", + "output": "none", + "path": "ao registry", + "short": "Query the unified registry", + "use": "registry" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter by surface type (skills, hooks, stores, jobs, evals, cli, cadence)", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.registry.list", + "output": "none", + "path": "ao registry list", + "short": "List registry entries", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.robot-docs", + "output": "none", + "path": "ao robot-docs", + "short": "Print the paste-ready agent handbook for the ao CLI (Markdown)", + "use": "robot-docs" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope", + "output": "none", + "path": "ao scope", + "short": "Manage edit-scope guard (freeze, unfreeze, status)", + "use": "scope" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON output", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Override scope-lock path (defaults to $AO_SCOPE_LOCK or .agents/scope.lock)", + "name": "lock", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope.freeze", + "output": "none", + "path": "ao scope freeze", + "short": "Freeze one or more directories (additive)", + "use": "freeze <dir> [<dir>...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON output", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Override scope-lock path (defaults to $AO_SCOPE_LOCK or .agents/scope.lock)", + "name": "lock", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope.status", + "output": "none", + "path": "ao scope status", + "short": "Show current scope-lock state", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON output", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Override scope-lock path (defaults to $AO_SCOPE_LOCK or .agents/scope.lock)", + "name": "lock", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.scope.unfreeze", + "output": "none", + "path": "ao scope unfreeze", + "short": "Unfreeze one (or all if no arg) directories", + "use": "unfreeze [<dir>...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Require upstream cass session-history search", + "name": "cass", + "origin": "local", + "required": false + }, + { + "description": "Optional citation type to record for matching repo-local artifacts: retrieved, reference, applied", + "name": "cite", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum results to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Force repo-local AgentOps search only", + "name": "local", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Session ID for citation tracking (defaults to the active runtime session)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Filter by type: session(s), learning(s), pattern(s), finding(s), research, compiled, vault-source(s), decision(s), knowledge", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Try Smart Connections semantic search first (requires Obsidian)", + "name": "use-sc", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.search", + "output": "none", + "path": "ao search", + "short": "Search workspace session history and repo-local knowledge", + "use": "search <query>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Overwrite existing seed files", + "name": "force", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Goal template: go-cli, python-lib, web-app, rust-cli, generic (default: auto-detect)", + "name": "template", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.seed", + "output": "none", + "path": "ao seed", + "short": "Plant the seed in any repository", + "use": "seed [path]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session", + "output": "none", + "path": "ao session", + "short": "Session lifecycle operations", + "use": "session" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable status as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Skip the mcp-agent-mail probe", + "name": "no-mail", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Robot mode: JSON output with tight exit-code contract for SessionStart hooks", + "name": "robot", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.bootstrap", + "output": "none", + "path": "ao session bootstrap", + "short": "Universal init prompt — every agent runs this first", + "use": "bootstrap" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Extract lightweight learnings (quality-filtered) and write handoff artifact", + "name": "auto-extract", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Session ID to close (default: most recent transcript)", + "name": "session", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.close", + "output": "none", + "path": "ao session close", + "short": "Forge transcript, extract learnings, measure flywheel impact", + "use": "close" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Auto-collect git/bead state into the artifact", + "name": "collect", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Print artifact to stdout without writing file", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Epic ID for RPI context", + "name": "epic", + "origin": "local", + "required": false + }, + { + "description": "What the session was working on", + "name": "goal", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Write artifact without restarting the session via tmux", + "name": "no-kill", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "RPI phase number (populates RPI context, sets type=rpi)", + "name": "rpi-phase", + "origin": "local", + "required": false + }, + { + "description": "Run ID for RPI context", + "name": "run-id", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.handoff", + "output": "none", + "path": "ao session handoff", + "short": "Write a structured handoff artifact for session boundary isolation", + "use": "handoff [summary]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.memory", + "output": "none", + "path": "ao session memory", + "short": "Manage repo-root MEMORY.md for cross-runtime access", + "use": "memory" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum session entries to keep", + "name": "max-entries", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Output path (default: MEMORY.md in repo root)", + "name": "output-file", + "origin": "local", + "required": false + }, + { + "description": "Suppress output", + "name": "quiet", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.memory.sync", + "output": "none", + "path": "ao session memory sync", + "short": "Sync session history to repo-root MEMORY.md", + "use": "sync" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit the raw handoff artifact as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Read the brief without marking the handoff consumed", + "name": "peek", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.rehydrate", + "output": "none", + "path": "ao session rehydrate", + "short": "Restore a lane from its latest handoff (the read-side of handoff→clear→rehydrate)", + "use": "rehydrate" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state", + "output": "none", + "path": "ao session state", + "short": "Validate, admit, verify, and doctor AgentOps state memory", + "use": "state" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Path to an .ao Finding candidate JSON file (required)", + "name": "candidate", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Destination under .ao/accepted/findings/ (default: finding id)", + "name": "destination", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Deprecated alias for --candidate", + "name": "finding", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum age for reviewed findings", + "name": "max-age-days", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Path to an independent admission verdict JSON file (required)", + "name": "verdict", + "origin": "local", + "required": false + } + ], + "id": "ao.session.state.admit", + "output": "none", + "path": "ao session state admit", + "short": "Admit one independently reviewed Finding candidate into .ao/accepted", + "use": "admit --candidate <path> --verdict <path>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.candidate", + "output": "none", + "path": "ao session state candidate", + "short": "Inspect inert .ao state candidates", + "use": "candidate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.candidate.validate", + "output": "none", + "path": "ao session state candidate validate", + "short": "Validate an inert .ao Finding candidate and print its digest", + "use": "validate <path>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.doctor", + "output": "none", + "path": "ao session state doctor", + "short": "Diagnose state memory health", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.review-request", + "output": "none", + "path": "ao session state review-request", + "short": "Emit the digest-bound review request for a Finding candidate", + "use": "review-request <candidate>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.validate", + "output": "none", + "path": "ao session state validate", + "short": "Validate state memory JSON files against their schemas", + "use": "validate <file> [file...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Verify all .ao state authority surfaces", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.session.state.verify", + "output": "none", + "path": "ao session state verify", + "short": "Verify .ao state schemas, fixtures, accepted findings, and ledger rows", + "use": "verify" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.sessions", + "output": "none", + "path": "ao sessions", + "short": "Manage indexed session pages", + "use": "sessions" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Delete derived session pages whose source_jsonl no longer exists", + "name": "prune-orphans", + "origin": "local", + "required": false + }, + { + "description": "Directory containing derived session pages (default: .agents/ao/sessions)", + "name": "sessions-dir", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.sessions.index", + "output": "none", + "path": "ao sessions index", + "short": "Maintain indexed session pages", + "use": "index" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Override date for template expansion (default: today, YYYY-MM-DD)", + "name": "date", + "origin": "local", + "required": false + }, + { + "description": "Print expanded template and init steps without executing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Run init steps but skip tmux session creation", + "name": "no-tmux", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.sessions.spawn", + "output": "none", + "path": "ao sessions spawn", + "short": "Cold-start a session from a TOML template", + "use": "spawn <template-path>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills", + "output": "none", + "path": "ao skills", + "short": "Inspect and validate the skills/ tree", + "use": "skills" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Restrict the audit to a single skill name", + "name": "skill", + "origin": "local", + "required": false + }, + { + "description": "Exit non-zero on any finding (CI mode)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.check", + "output": "none", + "path": "ao skills check", + "short": "Audit skills/ frontmatter, references, and codex parity", + "use": "check" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.consumers", + "output": "none", + "path": "ao skills consumers", + "short": "List skills that consume the named skill", + "use": "consumers <skill>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit", + "output": "none", + "path": "ao skills edit", + "short": "Seal and summarize live skill edits", + "use": "edit" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Critical skills policy file (default: docs/contracts/critical-skills.txt)", + "name": "critical-policy", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "git log --since value", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit.digest", + "output": "none", + "path": "ao skills edit digest", + "short": "Summarize recent committed skill edits", + "use": "digest" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Agent/operator name recorded in the commit body", + "name": "actor", + "origin": "local", + "required": false + }, + { + "description": "Allow a critical skill edit; use only for human-supervised edits", + "name": "allow-critical", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Critical skills policy file (default: docs/contracts/critical-skills.txt)", + "name": "critical-policy", + "origin": "local", + "required": false + }, + { + "description": "Check policy and print the commit action without staging or committing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Commit subject (default: chore(skills): update <skill> via live edit)", + "name": "message", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Skill slug under skills/<slug> to seal", + "name": "skill", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.edit.seal", + "output": "none", + "path": "ao skills edit seal", + "short": "Commit one live skill edit with critical-skill protection", + "use": "seal" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON on stdout", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Maximum number of results to return", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.find", + "output": "none", + "path": "ao skills find", + "short": "Rank skills by how well they match a free-text intent", + "use": "find <intent>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Graph output format (mermaid|json)", + "name": "format", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.graph", + "output": "none", + "path": "ao skills graph", + "short": "Render the generated skill dependency graph", + "use": "graph" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Link into this single dir instead of the auto-detected runtimes (default: every installed runtime — ~/.claude, ~/.codex, ~/.gemini, ~/.cursor, ~/.pi)", + "name": "dest", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.link", + "output": "none", + "path": "ao skills link", + "short": "Symlink repo skills into every installed runtime's live tier (Claude, Codex, AGY, Cursor)", + "use": "link" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Filter to skills that consume this port/sibling", + "name": "consumes", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Filter to skills that apply this practice", + "name": "practice", + "origin": "local", + "required": false + }, + { + "description": "Filter to skills that produce this port/artifact", + "name": "produces", + "origin": "local", + "required": false + }, + { + "description": "Filter by hexagonal_role (domain, driving-adapter, ...)", + "name": "role", + "origin": "local", + "required": false + }, + { + "description": "Filter by user-invocability (true|false)", + "name": "user-invocable", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.list", + "output": "none", + "path": "ao skills list", + "short": "Query the generated skill catalog (skills/catalog.json)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.producers", + "output": "none", + "path": "ao skills producers", + "short": "List skills that produce the named port/artifact", + "use": "producers <output>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Exit non-zero when ME overlaps are found (CI dedup gate)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.resolve", + "output": "none", + "path": "ao skills resolve", + "short": "MECE audit: flag overlapping skills (merge candidates) and coverage gaps", + "use": "resolve" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Allow retiring a slug listed in docs/contracts/critical-skills.txt", + "name": "allow-critical", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report every planned operation without mutating anything", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Target skill the retiree merges into (historical state merged-into; default: cut)", + "name": "into", + "origin": "local", + "required": false + }, + { + "description": "Emit a machine-readable JSON report", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Skip the regen scripts after the ledger flip", + "name": "no-regen", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.skills.retire", + "output": "none", + "path": "ao skills retire", + "short": "Retire a skill: remove its trees, flip the dispositions ledger, regen, and report ripples", + "use": "retire <slug>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.status", + "output": "none", + "path": "ao status", + "short": "Show AgentOps status", + "use": "status" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick", + "output": "none", + "path": "ao tick", + "short": "Typed port of the assured loop tick oracle", + "use": "tick" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.claim", + "output": "none", + "path": "ao tick claim", + "short": "Claim a bead through br", + "use": "claim <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.close", + "output": "none", + "path": "ao tick close", + "short": "Close a bead and persist the explicit ledger/evidence paths", + "use": "close <id> <commit-message> <evidence-ref> [paths...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.council-gate", + "output": "none", + "path": "ao tick council-gate", + "short": "Fail-closed two-plus judge verdict aggregation", + "use": "council-gate <verdict1> <verdict2> [...]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.guard-status", + "output": "none", + "path": "ao tick guard-status", + "short": "Verify guard hook and validator launcher installation", + "use": "guard-status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.install-guards", + "output": "none", + "path": "ao tick install-guards", + "short": "Install repo-local git guard hooks", + "use": "install-guards" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.next", + "output": "none", + "path": "ao tick next", + "short": "Print the next ready bead id", + "use": "next" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.reopen", + "output": "none", + "path": "ao tick reopen", + "short": "Reopen a bead after failed validation", + "use": "reopen <id>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.smoke", + "output": "none", + "path": "ao tick smoke", + "short": "Run a read-only smoke test of the tick membrane", + "use": "smoke" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.status", + "output": "none", + "path": "ao tick status", + "short": "Print ready-work status or convergence state", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.tick.verdict-gate", + "output": "none", + "path": "ao tick verdict-gate", + "short": "Reject verdicts without commands and independent judge identity", + "use": "verdict-gate <file|->" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Show ASCII provenance graph", + "name": "graph", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.trace", + "output": "none", + "path": "ao trace", + "short": "Track artifact provenance", + "use": "trace <artifact-path>" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.turn", + "output": "none", + "path": "ao turn", + "short": "Evidenced-Turn operations (the enforced unit-of-work definition-of-done)", + "use": "turn" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Waive the no-self-grading invariant (permit judge_id == author_id) for the inline fallback; default OFF", + "name": "allow-self", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Path to the provenance trace-graph JSONL (node/edge records) for orphan detection", + "name": "graph", + "origin": "local", + "required": false + }, + { + "description": "Path to the turn-input JSON file (state log + scenario coverage) (required)", + "name": "input", + "origin": "local", + "required": false + }, + { + "description": "Emit the full Verdict object as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Path to the provenance EDGE ledger JSONL (default: docs/provenance/ledger.jsonl)", + "name": "ledger", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.turn.verify", + "output": "none", + "path": "ao turn verify", + "short": "Verify a bead's Evidenced-Turn definition-of-done (legible pass/fail)", + "use": "verify <bead>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Validate artifacts bound to a bead id", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Explicit files to validate", + "name": "changes", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Exit-code mode: 0=PASS/WARN, 1=FAIL, 2=error", + "name": "gate", + "origin": "local", + "required": false + }, + { + "description": "Structured verdict (honored in both modes)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Allow legacy artifacts without schema_version", + "name": "lenient", + "origin": "local", + "required": false + }, + { + "description": "Days until lenient bypass expires", + "name": "lenient-expiry", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Promote WARN to FAIL (exit 1)", + "name": "strict", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + }, + { + "description": "Alias for --strict", + "name": "warn-as-fail", + "origin": "local", + "required": false + } + ], + "id": "ao.validate", + "output": "none", + "path": "ao validate", + "short": "Umbrella validation gate (exit-code-as-verdict with --gate)", + "use": "validate" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verdict-gate", + "output": "none", + "path": "ao verdict-gate", + "short": "Reject verdicts without commands and independent judge identity", + "use": "verdict-gate <file|->" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "CONFIRMED — verdict written and bound to the commit", + "1": "hard error", + "2": "usage error", + "3": "REFUTED — defects printed; fix and re-run", + "4": "--converge advisory-only (no lineage written)", + "5": "HOLD / UNAVAILABLE — committed policy is invalid or strict quorum cannot run at two-family strength" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify", + "output": "none", + "path": "ao verify", + "short": "Independent cross-family verdict on your change — no verdict = not done", + "use": "verify <change-id> [--scope head|staged] [--converge] [--strict] [--author-family <fam>] [--context <s>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Uninstall the ratchet, restoring any pre-existing pre-push hook byte-identically", + "name": "remove", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.init", + "output": "none", + "path": "ao verify init", + "short": "Install the portable pre-push verdict ratchet (a local hook enforcing no verdict = not done)", + "use": "init [--remove]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.receipts", + "output": "none", + "path": "ao verify receipts", + "short": "Render this repo's membrane-receipts proof page from its provenance ledger", + "use": "receipts" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Trailing window in days for the trend section (<=0 = all time)", + "name": "days", + "origin": "local", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit machine-readable JSON (stdout-as-data)", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Ledger path override (default: repo docs/provenance/ledger.jsonl)", + "name": "ledger", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.verify.stats", + "output": "none", + "path": "ao verify stats", + "short": "Cost-of-verified-done instrument, derived entirely from the provenance ledger", + "use": "stats" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.version", + "output": "none", + "path": "ao version", + "short": "Show version information", + "use": "version" + }, + { + "aliases": [ + "vibecheck" + ], + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Show all metrics and findings (verbose)", + "name": "full", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output as markdown report", + "name": "markdown", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Path to git repository", + "name": "repo", + "origin": "local", + "required": false + }, + { + "description": "Time window for analysis (e.g., 7d, 30d, 90d)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.vibe-check", + "output": "none", + "path": "ao vibe-check", + "short": "Analyze codebase health and vibe", + "use": "vibe-check" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki", + "output": "none", + "path": "ao wiki", + "short": "Unified wiki knowledge surface (experimental)", + "use": "wiki" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.add", + "output": "none", + "path": "ao wiki add", + "short": "Add source files into the active wiki workspace's raw/ + registry", + "use": "add <file|dir>..." + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Corpus base directory (default: current directory)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.doctor", + "output": "none", + "path": "ao wiki doctor", + "short": "Diagnose the wiki corpus and index (experimental)", + "use": "doctor" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "override the promotion confidence floor (default 0.70)", + "name": "confidence-floor", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "report what would be promoted without writing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "emit stats as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "output directory for the OKF gold wiki", + "name": "out", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.gold", + "output": "none", + "path": "ao wiki gold", + "short": "Compile .agents/ into a sanitized OKF wiki under .ao/wiki/ (experimental)", + "use": "gold" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Corpus base directory (default: current directory)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Index the OKF gold wiki (.ao/wiki) instead of the raw .agents/ corpus", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.index", + "output": "none", + "path": "ao wiki index", + "short": "Build or refresh the persistent wiki document index (experimental)", + "use": "index" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Primary language for the wiki (recorded in config)", + "name": "language", + "origin": "local", + "required": false + }, + { + "description": "Model the wiki is initialized for (recorded in config)", + "name": "model", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.init", + "output": "none", + "path": "ao wiki init", + "short": "Scaffold an OpenKB-style wiki workspace (layout + config + schema)", + "use": "init [path]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.inject", + "output": "none", + "path": "ao wiki inject", + "short": "Assemble just-in-time context (experimental; see ao inject)", + "use": "inject" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Apply safe deterministic repairs (strip dangling wikilinks); read-only without this flag", + "name": "fix", + "origin": "local", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Run the legacy WikiPipeline LINT stage instead of the structural health check", + "name": "pipeline-stage", + "origin": "local", + "required": false + }, + { + "description": "Vault root (default: current directory)", + "name": "vault", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.lint", + "output": "none", + "path": "ao wiki lint", + "short": "Run the wiki pipeline LINT stage (experimental)", + "use": "lint" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Filter to one frontmatter type (e.g. concept, entity, summary)", + "name": "type", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.list", + "output": "none", + "path": "ao wiki list", + "short": "List the pages in the active wiki workspace (optionally by type)", + "use": "list" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Vault root (default: current directory)", + "name": "vault", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.promote", + "output": "none", + "path": "ao wiki promote", + "short": "Run the wiki pipeline PROMOTE stage (experimental)", + "use": "promote" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "bead whose CONFIRMED verdict for HEAD authorizes real publish (required without --dry-run)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "override the promotion confidence floor", + "name": "confidence-floor", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "compute + leak-scan the candidate without publishing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "fail closed unless the recomputed digest matches this (publish exactly what dry-run reviewed)", + "name": "expect-digest", + "origin": "local", + "required": false + }, + { + "description": "emit the candidate report as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.publish", + "output": "none", + "path": "ao wiki publish", + "short": "Publish the gold wiki behind the membrane gate (leak-scan + commit verdict)", + "use": "publish" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Vault root (default: current directory)", + "name": "vault", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.query", + "output": "none", + "path": "ao wiki query", + "short": "Run the wiki pipeline QUERY stage (experimental)", + "use": "query" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Recompile the whole workspace", + "name": "all", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "List sources that would be recompiled without writing", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Also rewrite the workspace config/schema", + "name": "refresh-schema", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.recompile", + "output": "none", + "path": "ao wiki recompile", + "short": "Recompile workspace sources (re-run the ingest/compile stage)", + "use": "recompile" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Report artifacts that would be removed without deleting", + "name": "dry-run", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Leave the raw/ source file in place", + "name": "keep-raw", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.remove", + "output": "none", + "path": "ao wiki remove", + "short": "Remove a source and its derived artifacts from the workspace", + "use": "remove <doc>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Corpus base directory (default: current directory)", + "name": "base", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Search the OKF gold wiki (.ao/wiki) instead of the raw .agents/ corpus", + "name": "gold", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Maximum results to print", + "name": "limit", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Rebuild the index before searching", + "name": "reindex", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.search", + "output": "none", + "path": "ao wiki search", + "short": "Rank indexed wiki documents against a query (experimental)", + "use": "search <query>" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Workspace path (default: the active workspace)", + "name": "path", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.status", + "output": "none", + "path": "ao wiki status", + "short": "Summarize page counts and structural health of the active wiki", + "use": "status" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.wiki.use", + "output": "none", + "path": "ao wiki use", + "short": "Select (or show) the active wiki workspace for subsequent commands", + "use": "use [path]" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.worktree", + "output": "none", + "path": "ao worktree", + "short": "Worktree maintenance utilities", + "use": "worktree" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Emit {path, run_id} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.worktree.create", + "output": "none", + "path": "ao worktree create", + "short": "Create an isolated per-session worktree for concurrency-safe work", + "use": "create" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Clean stale ao-rpi tmux sessions without active run/worktree", + "name": "clean-tmux", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Also clean worktrees with uncommitted changes (unsafe)", + "name": "include-dirty", + "origin": "local", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Run 'git worktree prune' after cleanup", + "name": "prune", + "origin": "local", + "required": false + }, + { + "description": "Only clean worktrees/sessions older than this age", + "name": "stale-after", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.worktree.gc", + "output": "none", + "path": "ao worktree gc", + "short": "Garbage-collect stale RPI worktrees and orphaned tmux sessions", + "use": "gc" + }, + { + "args": "subcommands-only", + "effects": "pure", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json", + "origin": "inherited", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield", + "output": "none", + "path": "ao yield", + "short": "Record dynamo yield-ledger events (per-bead operational stream)", + "use": "yield" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "bead id this event is keyed to (required)", + "name": "bead", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "the typed body object as a single JSON blob", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "factory run/cycle id (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "optional RFC3339 timestamp; defaults to now (UTC)", + "name": "ts", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.emit", + "output": "none", + "path": "ao yield emit", + "short": "Append one accept|gate-verdict|usage event to the yield ledger", + "use": "emit <accept|gate-verdict|usage> --bead <id> --run <id> [--json <body> | typed flags]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "ag-8p8o's published corpus delta (C); omit to report C as pending", + "name": "c-delta", + "origin": "local", + "required": false + }, + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the computed gauges as JSON for machine consumption", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "factory run/cycle id to compute gauges for (required)", + "name": "run", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.gauge", + "output": "none", + "path": "ao yield gauge", + "short": "Compute the yield gauges (A, Q, A/R, E, L) for a run + print shadow-mode hypotheses", + "use": "gauge --run <id> [--json] [--c-delta <float>]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit the full report struct as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "cutoff: an RFC3339 instant or a duration lookback like 8h (default 24h)", + "name": "since", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.report", + "output": "none", + "path": "ao yield report", + "short": "The on-the-loop governance surface: the YIELD and the ANDON QUEUE since a cutoff", + "use": "report [--since <RFC3339|duration>] [--json]" + }, + { + "args": "range", + "effects": "mixed", + "exit_codes": { + "0": "success", + "1": "error" + }, + "flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config", + "origin": "inherited", + "required": false + }, + { + "description": "Show what would happen without executing", + "name": "dry-run", + "origin": "inherited", + "required": false + }, + { + "description": "emit {\"tokens_in\":N,\"tokens_out\":M} as JSON", + "name": "json", + "origin": "local", + "required": false + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "origin": "inherited", + "required": false, + "shorthand": "o" + }, + { + "description": "emit two whitespace-separated values: tokens_in tokens_out", + "name": "pair", + "origin": "local", + "required": false + }, + { + "description": "path to a session transcript (JSONL) to sum tokens from (required)", + "name": "transcript", + "origin": "local", + "required": false + }, + { + "description": "Enable verbose output", + "name": "verbose", + "origin": "inherited", + "required": false, + "shorthand": "v" + } + ], + "id": "ao.yield.tokens", + "output": "none", + "path": "ao yield tokens", + "short": "Sum the real tokens_in/tokens_out from a session transcript (for a usage event)", + "use": "tokens --transcript <path> [--json]" + } + ], + "contract_version": "1.1", + "env_vars": { + "AGENTOPS_ACTOR": "AgentOps runtime input: actor", + "AGENTOPS_ACTOR_EMAIL": "AgentOps runtime input: actor email", + "AGENTOPS_AUTO_PRUNE": "AgentOps runtime input: auto prune", + "AGENTOPS_BASE_DIR": "AgentOps runtime input: base dir", + "AGENTOPS_CANON_JUDGE": "AgentOps runtime input: canon judge", + "AGENTOPS_CANON_VERIFIER_CMD": "AgentOps runtime input: canon verifier cmd", + "AGENTOPS_COMPILE_RUNTIME": "AgentOps runtime input: compile runtime", + "AGENTOPS_CONFIG": "path to the config file (overridden by --config)", + "AGENTOPS_COUNCIL_MODEL_TIER": "AgentOps runtime input: council model tier", + "AGENTOPS_DEDUP_CONFIRM_THRESHOLD": "AgentOps runtime input: dedup confirm threshold", + "AGENTOPS_DREAM_CURATOR_ENABLED": "AgentOps runtime input: dream curator enabled", + "AGENTOPS_DREAM_CURATOR_ENGINE": "AgentOps runtime input: dream curator engine", + "AGENTOPS_DREAM_CURATOR_MODEL": "AgentOps runtime input: dream curator model", + "AGENTOPS_DREAM_CURATOR_OLLAMA_URL": "AgentOps runtime input: dream curator ollama url", + "AGENTOPS_DREAM_CURATOR_VAULT_DIR": "AgentOps runtime input: dream curator vault dir", + "AGENTOPS_DREAM_CURATOR_WORKER_DIR": "AgentOps runtime input: dream curator worker dir", + "AGENTOPS_DREAM_KEEP_AWAKE": "AgentOps runtime input: dream keep awake", + "AGENTOPS_DREAM_REPORT_DIR": "AgentOps runtime input: dream report dir", + "AGENTOPS_DREAM_RUN_TIMEOUT": "AgentOps runtime input: dream run timeout", + "AGENTOPS_EVALS_ROOT": "AgentOps runtime input: evals root", + "AGENTOPS_EVALS_VENV": "AgentOps runtime input: evals venv", + "AGENTOPS_EVICTION_DISABLED": "AgentOps runtime input: eviction disabled", + "AGENTOPS_FLYWHEEL_AUTO_PROMOTE_THRESHOLD": "AgentOps runtime input: flywheel auto promote threshold", + "AGENTOPS_FORGE_LEGACY_LOCAL_LLM": "AgentOps runtime input: forge legacy local llm", + "AGENTOPS_FORGE_TIER1_DISABLE": "AgentOps runtime input: forge tier1 disable", + "AGENTOPS_FORGE_TYPED": "AgentOps runtime input: forge typed", + "AGENTOPS_GATE_RANGE": "AgentOps runtime input: gate range", + "AGENTOPS_HOLDOUT_EVALUATOR": "AgentOps runtime input: holdout evaluator", + "AGENTOPS_HOOKS_DISABLED": "AgentOps runtime input: hooks disabled", + "AGENTOPS_LEGACY": "AgentOps runtime input: legacy", + "AGENTOPS_LLM_ENDPOINT": "AgentOps runtime input: llm endpoint", + "AGENTOPS_MODEL_TIER": "AgentOps runtime input: model tier", + "AGENTOPS_NO_SC": "AgentOps runtime input: no sc", + "AGENTOPS_ORCHESTRATION": "set to off to disable spawning and use the single-agent beads floor", + "AGENTOPS_OUTPUT": "AgentOps runtime input: output", + "AGENTOPS_REDACTION_DENYLIST": "AgentOps runtime input: redaction denylist", + "AGENTOPS_REPO_ROOT": "AgentOps runtime input: repo root", + "AGENTOPS_RESERVATION_ID": "AgentOps runtime input: reservation id", + "AGENTOPS_RETRIEVAL_RERANK_ENDPOINT": "AgentOps runtime input: retrieval rerank endpoint", + "AGENTOPS_RPI_AO_COMMAND": "AgentOps runtime input: rpi ao command", + "AGENTOPS_RPI_BD_COMMAND": "AgentOps runtime input: rpi bd command", + "AGENTOPS_RPI_MERGE_RETRY_DELAY": "AgentOps runtime input: rpi merge retry delay", + "AGENTOPS_RPI_RUNTIME": "AgentOps runtime input: rpi runtime", + "AGENTOPS_RPI_RUNTIME_COMMAND": "AgentOps runtime input: rpi runtime command", + "AGENTOPS_RPI_RUNTIME_MODE": "AgentOps runtime input: rpi runtime mode", + "AGENTOPS_RPI_TMUX_COMMAND": "AgentOps runtime input: rpi tmux command", + "AGENTOPS_RPI_WORKTREE_MODE": "AgentOps runtime input: rpi worktree mode", + "AGENTOPS_TRACKER": "force the selected tracker backend when supported", + "AGENTOPS_TRUST_REPO": "AgentOps runtime input: trust repo", + "AGENTOPS_VERBOSE": "AgentOps runtime input: verbose", + "AGENTOPS_VERIFY_PREPUSH_SKIP": "AgentOps runtime input: verify prepush skip", + "AO_AGENTS_DIR": "ao command/runtime input: agents dir", + "AO_BIN": "ao command/runtime input: bin", + "AO_CITATION_NAMESPACE": "ao command/runtime input: citation namespace", + "AO_CONTEXT_VARIANT": "ao command/runtime input: context variant", + "AO_COUNCIL_DIR": "ao command/runtime input: council dir", + "AO_DECISIONS_DIR": "ao command/runtime input: decisions dir", + "AO_DEPOSIT_GATE": "ao command/runtime input: deposit gate", + "AO_DOCTOR_BACKUPS_DIR": "ao command/runtime input: doctor backups dir", + "AO_DOCTOR_HEAL_TIMEOUT": "ao command/runtime input: doctor heal timeout", + "AO_DOCTOR_LOG_LEVEL": "trace|debug|info|warn|error — verbosity of the doctor surface", + "AO_FINDINGS_DIR": "ao command/runtime input: findings dir", + "AO_HOME": "ao command/runtime input: home", + "AO_HOOKS_DIR": "ao command/runtime input: hooks dir", + "AO_KNOWLEDGE_ROOT": "ao command/runtime input: knowledge root", + "AO_LAND_REEXECED": "ao command/runtime input: land reexeced", + "AO_LAND_REVIEW_BASE": "ao command/runtime input: land review base", + "AO_LEARNINGS_DIR": "ao command/runtime input: learnings dir", + "AO_MAX_PROMOTIONS": "ao command/runtime input: max promotions", + "AO_PATTERNS_DIR": "ao command/runtime input: patterns dir", + "AO_PLANS_DIR": "ao command/runtime input: plans dir", + "AO_RESERVATION_ID": "ao command/runtime input: reservation id", + "AO_RETRIEVAL_EPSILON": "ao command/runtime input: retrieval epsilon", + "AO_RPI_DIR": "ao command/runtime input: rpi dir", + "AO_SCOPE_LOCK": "ao command/runtime input: scope lock", + "AO_SESSION_ID": "ao command/runtime input: session id", + "NO_COLOR": "disable ANSI styling on all output", + "PAWL_AUTHOR_FAMILY": "pawl review/runtime input: author family", + "PAWL_AUTOBIND": "enable or disable automatic provenance binding after an authorizing verdict", + "PAWL_BUNDLE_STATUS": "pawl review/runtime input: bundle status", + "PAWL_DRY_RUN": "pawl review/runtime input: dry run", + "PAWL_IDLE_TTL": "pawl review/runtime input: idle ttl", + "PAWL_LABEL": "pawl review/runtime input: label", + "PAWL_NO_SERVICE": "pawl review/runtime input: no service", + "PAWL_PROJECT": "pawl review/runtime input: project", + "PAWL_REVIEWER_CHAIN": "pawl review/runtime input: reviewer chain", + "PAWL_REVIEW_TIMEOUT": "pawl review/runtime input: review timeout", + "PAWL_SESSION": "pawl review/runtime input: session", + "PAWL_SMOKE_CMD": "pawl review/runtime input: smoke cmd", + "PAWL_STRICT": "require the strict pawl quorum; unavailable quorum HOLDs instead of degrading", + "PAWL_UNTRUSTED_REPO": "pawl review/runtime input: untrusted repo" + }, + "exit_codes": { + "0": "success", + "1": "error: usage error, runtime failure, or — for diagnostic commands — findings present", + "2": "diagnostic: partial result or bead claimed (command-specific; see that command's --help)" + }, + "global_flags": [ + { + "description": "Config file (default: ~/.agentops/config.yaml)", + "name": "config" + }, + { + "description": "Show what would happen without executing", + "name": "dry-run" + }, + { + "description": "Output as JSON (shorthand for -o json)", + "name": "json" + }, + { + "description": "Output format (json, table, yaml)", + "name": "output", + "shorthand": "o" + }, + { + "description": "Enable verbose output", + "name": "verbose", + "shorthand": "v" + } + ], + "output_formats": [ + "table", + "json", + "yaml" + ], + "platform": { + "arch": "<normalized>", + "os": "<normalized>" + }, + "robot_surfaces": { + "capabilities": "ao capabilities — this contract", + "doctor_capabilities": "ao doctor capabilities — extended doctor contract + exit codes", + "doctor_triage": "ao doctor --robot-triage — mega-command health triage JSON", + "json_everywhere": "append --json (or -o json) to any read-side command for structured output", + "robot_docs": "ao robot-docs — paste-ready agent handbook (Markdown)" + }, + "schema_version": "1.1", + "tool": "ao", + "tool_version": "<normalized>" +} diff --git a/scripts/check-go-cli-compatibility.sh b/scripts/check-go-cli-compatibility.sh index d72bc1043..6fb222b4f 100755 --- a/scripts/check-go-cli-compatibility.sh +++ b/scripts/check-go-cli-compatibility.sh @@ -3,7 +3,9 @@ set -euo pipefail ROOT="${AO_CLI_COMPAT_REPO_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}" CLI="$ROOT/cli" -BASELINE="${AO_CLI_COMPAT_BASELINE_DIR:-$CLI/testdata/compatibility-baseline}" +BASELINE_ROOT="${AO_CLI_COMPAT_BASELINE_DIR:-$CLI/testdata/compatibility-baseline}" +V2_DIR="$BASELINE_ROOT/v2" +BASELINE="$BASELINE_ROOT" NORMALIZER="$BASELINE/normalize.jq" PROFILE_DIR="$BASELINE/profiles" FAMILY_DIR="$BASELINE/families" @@ -18,12 +20,21 @@ all_migrated=0 execution_base="" raw_file="" profile_file="" +oracle_version="v1" +equivalent_main_sha="" +source_decision_c59="" +source_decision_main="" +v2_stage="" +v2_lock="$BASELINE_ROOT/.v2.lock" usage() { cat <<'EOF' usage: check-go-cli-compatibility.sh [options] --capture --execution-base SHA Capture the immutable four-profile baseline. + --oracle-version V Select v1, v2, or current (default: v1). + --equivalent-main-sha SHA Bind a behaviorally equivalent main SHA during v2 capture. + --verify-source-decision A B Compare clean-archive four-profile behavior and emit JSON. --family NAME Validate one frozen family fixture. --all-migrated Validate every family with lineage.json. --verify-frozen Enforce family fixture digest and git lineage. @@ -38,6 +49,9 @@ EOF while (($#)); do case "$1" in --capture) mode=capture; shift ;; + --oracle-version) oracle_version="${2:?missing oracle version}"; shift 2 ;; + --equivalent-main-sha) equivalent_main_sha="${2:?missing equivalent main SHA}"; shift 2 ;; + --verify-source-decision) mode=source_decision; source_decision_c59="${2:?missing source SHA}"; source_decision_main="${3:?missing main SHA}"; shift 3 ;; --execution-base) execution_base="${2:?missing SHA}"; shift 2 ;; --family) family="${2:?missing family}"; shift 2 ;; --all-migrated) all_migrated=1; shift ;; @@ -52,6 +66,11 @@ while (($#)); do esac done +case "$oracle_version" in + v1|v2|current) ;; + *) printf 'unknown oracle version: %s (want v1, v2, or current)\n' "$oracle_version" >&2; exit 2 ;; +esac + sha256() { if command -v sha256sum >/dev/null 2>&1; then sha256sum "$1" | awk '{print $1}' @@ -60,6 +79,55 @@ sha256() { fi } +is_commit() { + [[ "$1" =~ ^[0-9a-f]{40}$ ]] && git -C "$ROOT" cat-file -e "$1^{commit}" 2>/dev/null +} + +maybe_fail() { + local point="$1" + if [[ "${AO_CLI_COMPAT_TEST_FAIL:-}" == "$point" ]]; then + printf 'injected %s failure\n' "$point" >&2 + return 1 + fi +} + +cleanup_v2_capture() { + if [[ -n "$v2_stage" && -e "$v2_stage" ]]; then + rm -rf "$v2_stage" + fi + if [[ -d "$v2_lock" ]]; then + rmdir "$v2_lock" 2>/dev/null || true + fi +} + +select_oracle() { + case "$oracle_version" in + v1) + BASELINE="$BASELINE_ROOT" + ;; + v2) + [[ -d "$V2_DIR" && ! -L "$V2_DIR" ]] || { + printf 'compatibility oracle v2 is absent or not a real directory: %s\n' "$V2_DIR" >&2 + return 1 + } + BASELINE="$V2_DIR" + ;; + current) + if [[ ! -e "$V2_DIR" && ! -L "$V2_DIR" ]]; then + BASELINE="$BASELINE_ROOT" + elif [[ -d "$V2_DIR" && ! -L "$V2_DIR" ]]; then + BASELINE="$V2_DIR" + else + printf 'compatibility oracle v2 is partial or corrupt: %s\n' "$V2_DIR" >&2 + return 1 + fi + ;; + esac + NORMALIZER="$BASELINE_ROOT/normalize.jq" + PROFILE_DIR="$BASELINE/profiles" + FAMILY_DIR="$BASELINE_ROOT/families" +} + verify_git_freeze() { local capture_sha="" intro rel repo_rel snapshot local -a frozen_paths=( @@ -112,6 +180,113 @@ verify_git_freeze() { done } +verify_v2_git_freeze() { + local intro="" rel repo_rel snapshot + local -a paths=(metadata.json profiles/default.json profiles/flywheel.json profiles/legacy.json profiles/combined.json) + [[ "$BASELINE_ROOT" == "$CLI/testdata/compatibility-baseline" ]] || return 0 + for rel in "${paths[@]}"; do + repo_rel="cli/testdata/compatibility-baseline/v2/$rel" + current_intro="$(git -C "$ROOT" log --diff-filter=A --format=%H HEAD -- "$repo_rel" | tail -n 1)" + test -n "$current_intro" || { printf 'v2 artifact is not committed: %s\n' "$rel" >&2; return 1; } + if [[ -z "$intro" ]]; then + intro="$current_intro" + git -C "$ROOT" merge-base --is-ancestor "$intro" HEAD || return 1 + elif [[ "$intro" != "$current_intro" ]]; then + printf 'v2 artifacts do not share one capture commit: %s\n' "$rel" >&2 + return 1 + fi + snapshot="$TMP/v2-frozen-${rel//\//_}" + git -C "$ROOT" show "$intro:$repo_rel" >"$snapshot" + cmp -s "$snapshot" "$V2_DIR/$rel" || { + printf 'v2 baseline drift from capture commit %s: %s\n' "$intro" "$rel" >&2 + return 1 + } + done +} + +verify_tracked_family_lineages() { + local lineage family rel intro snapshot + [[ "$BASELINE_ROOT" == "$CLI/testdata/compatibility-baseline" ]] || return 0 + while IFS= read -r lineage; do + family="$(basename "$(dirname "$lineage")")" + rel="cli/testdata/compatibility-baseline/families/$family/lineage.json" + intro="$(git -C "$ROOT" log --diff-filter=A --format=%H HEAD -- "$rel" | tail -n 1)" + test -n "$intro" || { printf 'family lineage is not committed: %s\n' "$family" >&2; return 1; } + snapshot="$TMP/lineage-$family.json" + git -C "$ROOT" show "$intro:$rel" >"$snapshot" + cmp -s "$snapshot" "$lineage" || { printf 'frozen family lineage mutated: %s\n' "$family" >&2; return 1; } + done < <(find "$BASELINE_ROOT/families" -mindepth 2 -maxdepth 2 -name lineage.json -type f 2>/dev/null | sort) +} + +verify_exact_v2_deltas() { + local profile old new + local -a expected=(environment_projection pawl_review_hold_5 provenance_reconcile verify_hold_5) + test "$(jq -r '.intentional_deltas[]' "$V2_DIR/metadata.json" | sort | paste -sd ' ' -)" = "$(printf '%s\n' "${expected[@]}" | sort | paste -sd ' ' -)" || { + printf 'v2 intentional delta allowlist is not exact\n' >&2 + return 1 + } + ! jq -e '.intentional_deltas[] | select(test("plan-pawl"; "i"))' "$V2_DIR/metadata.json" >/dev/null || { + printf 'plan-pawl exit 5 predates v1 and must not be a v2 delta\n' >&2 + return 1 + } + for profile in default flywheel legacy combined; do + old="$BASELINE_ROOT/profiles/$profile.json" + new="$V2_DIR/profiles/$profile.json" + jq -S --slurpfile old "$old" ' + ($old[0]) as $o + | .env_vars = $o.env_vars + | .command_exit_codes = $o.command_exit_codes + | .commands = [.commands[] + | select(.path != "ao provenance reconcile") + | . as $n + | ($o.commands[] | select(.id == $n.id)) as $prior + | if ($n.id == "ao.pawl.review" or $n.id == "ao.verify") + then .exit_codes = $prior.exit_codes + else . end] + ' "$new" >"$TMP/v2-$profile-sanitized.json" + cmp -s "$old" "$TMP/v2-$profile-sanitized.json" || { + printf 'unclassified v1 -> v2 compatibility delta in profile %s\n' "$profile" >&2 + return 1 + } + jq -e ' + ([.commands[] | select(.path == "ao provenance reconcile")] | length) == 1 + and .command_exit_codes["pawl review"]["5"] != null + and .command_exit_codes.verify["5"] != null + ' "$new" >/dev/null || { printf 'required v2 delta missing in profile %s\n' "$profile" >&2; return 1; } + done +} + +verify_v2_integrity() { + local metadata="$V2_DIR/metadata.json" profile expected actual count sha + test -f "$metadata" && [[ ! -L "$metadata" ]] || { printf 'missing v2 metadata.json\n' >&2; return 1; } + jq -e ' + .schema_version == 2 + and (.behavioral_source_sha | test("^[0-9a-f]{40}$")) + and (.capture_sha | test("^[0-9a-f]{40}$")) + and ((.equivalent_main_sha == null) or (.equivalent_main_sha | test("^[0-9a-f]{40}$"))) + and (.profiles | keys | sort) == ["combined","default","flywheel","legacy"] + and (.intentional_deltas | type == "array") + ' "$metadata" >/dev/null || { printf 'invalid schema-2 v2 metadata\n' >&2; return 1; } + for sha in "$(jq -r '.behavioral_source_sha' "$metadata")" "$(jq -r '.capture_sha' "$metadata")"; do + is_commit "$sha" || { printf 'v2 metadata references unreachable commit: %s\n' "$sha" >&2; return 1; } + done + sha="$(jq -r '.equivalent_main_sha // empty' "$metadata")" + [[ -z "$sha" ]] || is_commit "$sha" || { printf 'v2 metadata references unreachable equivalent main: %s\n' "$sha" >&2; return 1; } + test -d "$V2_DIR/profiles" && [[ ! -L "$V2_DIR/profiles" ]] || return 1 + count="$(find "$V2_DIR/profiles" -mindepth 1 -maxdepth 1 -type f -name '*.json' | wc -l | tr -d ' ')" + test "$count" -eq 4 || { printf 'v2 requires exactly four profile files\n' >&2; return 1; } + for profile in default flywheel legacy combined; do + test -f "$V2_DIR/profiles/$profile.json" || { printf 'missing v2 profile: %s\n' "$profile" >&2; return 1; } + jq -e . "$V2_DIR/profiles/$profile.json" >/dev/null || { printf 'invalid v2 profile JSON: %s\n' "$profile" >&2; return 1; } + expected="$(jq -r --arg p "$profile" '.profiles[$p].sha256' "$metadata")" + actual="$(sha256 "$V2_DIR/profiles/$profile.json")" + test "$expected" = "$actual" || { printf 'v2 profile hash mismatch: %s\n' "$profile" >&2; return 1; } + done + verify_exact_v2_deltas + verify_tracked_family_lineages + [[ "$mode" == capture ]] || verify_v2_git_freeze +} + profile_tags() { case "$1" in default) printf '%s' "" ;; @@ -156,6 +331,202 @@ build_profile() { fi } +build_profile_from_cli() { + local source_cli="$1" profile="$2" out="$3" tags + tags="$(profile_tags "$profile")" + if [[ -n "$tags" ]]; then + (cd "$source_cli" && go build -tags "$tags" -o "$out" ./cmd/ao) + else + (cd "$source_cli" && go build -o "$out" ./cmd/ao) + fi +} + +capture_profile_from_cli() { + local source_cli="$1" profile="$2" bin raw1 raw2 actual second + bin="$TMP/capture-$profile-ao" + raw1="$TMP/capture-$profile-1.json" + raw2="$TMP/capture-$profile-2.json" + actual="$TMP/capture-$profile.norm.json" + second="$TMP/capture-$profile-2.norm.json" + build_profile_from_cli "$source_cli" "$profile" "$bin" + "$bin" capabilities --json >"$raw1" + "$bin" capabilities --json >"$raw2" + normalize "$raw1" "$actual" + normalize "$raw2" "$second" + cmp -s "$actual" "$second" || { + printf 'nondeterministic capture execution source: %s\n' "$profile" >&2 + return 1 + } + mkdir -p "$PROFILE_DIR" + cp "$actual" "$PROFILE_DIR/$profile.json" +} + +bind_measured_v2_profile() { + local profile="$1" measured="$2" tracked + local measured_hash tracked_hash metadata_hash + tracked="$V2_DIR/profiles/$profile.json" + measured_hash="$(sha256 "$measured")" + tracked_hash="$(sha256 "$tracked")" + metadata_hash="$(jq -r --arg p "$profile" '.profiles[$p].sha256' "$V2_DIR/metadata.json")" + if ! cmp -s "$measured" "$tracked" \ + || [[ "$measured_hash" != "$tracked_hash" ]] \ + || [[ "$measured_hash" != "$metadata_hash" ]]; then + printf 'v2 measured source mismatch: %s\n' "$profile" >&2 + return 1 + fi +} + +verify_v2_source_binding_at() { + local source="$1" label="$2" tree profile bin raw1 raw2 norm1 norm2 + tree="$TMP/v2-$label-source" + mkdir -p "$tree" + git -C "$ROOT" archive "$source" | tar -x -C "$tree" + for profile in default flywheel legacy combined; do + bin="$TMP/v2-$label-$profile-ao" + raw1="$TMP/v2-$label-$profile-1.json" + raw2="$TMP/v2-$label-$profile-2.json" + norm1="$TMP/v2-$label-$profile-1.norm.json" + norm2="$TMP/v2-$label-$profile-2.norm.json" + build_profile_from_cli "$tree/cli" "$profile" "$bin" + "$bin" capabilities --json >"$raw1" + "$bin" capabilities --json >"$raw2" + normalize "$raw1" "$norm1" + normalize "$raw2" "$norm2" + cmp -s "$norm1" "$norm2" || { + printf 'nondeterministic v2 %s source: %s\n' "$label" "$profile" >&2 + return 1 + } + bind_measured_v2_profile "$profile" "$norm1" + done +} + +verify_v2_source_binding() { + local source + source="$(jq -r '.behavioral_source_sha' "$V2_DIR/metadata.json")" + verify_v2_source_binding_at "$source" behavioral +} + +verify_source_decision() { + local left="$source_decision_c59" right="$source_decision_main" label sha tree profile bin raw1 raw2 norm1 norm2 hash equal + local recorded_left="" recorded_right="" v2_selected=0 + local records="$TMP/source-runs.jsonl" comparisons="$TMP/source-comparisons.jsonl" + maybe_fail git + is_commit "$left" || { printf 'invalid source-decision commit: %s\n' "$left" >&2; return 1; } + is_commit "$right" || { printf 'invalid source-decision commit: %s\n' "$right" >&2; return 1; } + if [[ -e "$BASELINE_ROOT/v2" || -L "$BASELINE_ROOT/v2" ]]; then + v2_selected=1 + V2_DIR="$BASELINE_ROOT/v2" + verify_v2_integrity + recorded_left="$(jq -r '.behavioral_source_sha' "$V2_DIR/metadata.json")" + recorded_right="$(jq -r '.equivalent_main_sha' "$V2_DIR/metadata.json")" + [[ "$left" == "$recorded_left" ]] || { + printf 'source-decision LEFT does not match recorded behavioral source: %s\n' "$left" >&2 + return 1 + } + is_commit "$recorded_right" || { + printf 'invalid recorded equivalent main commit: %s\n' "$recorded_right" >&2 + return 1 + } + git -C "$ROOT" merge-base --is-ancestor "$recorded_right" "$right" || { + printf 'source-decision RIGHT is not a descendant of recorded equivalent main: %s\n' "$right" >&2 + return 1 + } + fi + touch "$records" "$comparisons" + for label in c59 main; do + [[ "$label" == c59 ]] && sha="$left" || sha="$right" + tree="$TMP/source-$label" + mkdir -p "$tree" + git -C "$ROOT" archive "$sha" | tar -x -C "$tree" + for profile in default flywheel legacy combined; do + bin="$TMP/source-$label-$profile-ao" + build_profile_from_cli "$tree/cli" "$profile" "$bin" + raw1="$TMP/source-$label-$profile-1.json" + raw2="$TMP/source-$label-$profile-2.json" + norm1="$TMP/source-$label-$profile-1.norm.json" + norm2="$TMP/source-$label-$profile-2.norm.json" + "$bin" capabilities --json >"$raw1" + "$bin" capabilities --json >"$raw2" + jq -e . "$raw1" >/dev/null && jq -e . "$raw2" >/dev/null + jq -S -f "$BASELINE_ROOT/normalize.jq" "$raw1" >"$norm1" + jq -S -f "$BASELINE_ROOT/normalize.jq" "$raw2" >"$norm2" + cmp -s "$norm1" "$norm2" || { printf 'nondeterministic source decision: %s/%s\n' "$label" "$profile" >&2; return 1; } + hash="$(sha256 "$norm1")" + jq -nc --arg source "$label" --arg sha "$sha" --arg profile "$profile" --arg hash "$hash" '{source:$source,sha:$sha,profile:$profile,normalized_sha256:$hash,deterministic:true}' >>"$records" + done + done + for profile in default flywheel legacy combined; do + if cmp -s "$TMP/source-c59-$profile-1.norm.json" "$TMP/source-main-$profile-1.norm.json"; then equal=true; else equal=false; fi + jq -nc --arg profile "$profile" --argjson equal "$equal" '{profile:$profile,equal:$equal}' >>"$comparisons" + [[ "$equal" == true ]] || { printf 'source-decision behavior differs: %s\n' "$profile" >&2; return 1; } + done + if [[ "$v2_selected" == 1 ]]; then + for profile in default flywheel legacy combined; do + bind_measured_v2_profile "$profile" "$TMP/source-c59-$profile-1.norm.json" + bind_measured_v2_profile "$profile" "$TMP/source-main-$profile-1.norm.json" + done + fi + jq -s '.' "$records" >"$TMP/source-runs.json" + jq -s '.' "$comparisons" >"$TMP/source-comparisons.json" + jq -n --arg c59 "$left" --arg main "$right" --slurpfile runs "$TMP/source-runs.json" --slurpfile comparisons "$TMP/source-comparisons.json" '{schema_version:1,c59_sha:$c59,main_sha:$main,runs:$runs[0],cross_source:$comparisons[0],all_deterministic:true,all_cross_source_equal:true}' +} + +capture_v2() { + local target="$BASELINE_ROOT/v2" capture_sha profile execution_tree + test -n "$execution_base" || { printf '--capture v2 requires --execution-base SHA\n' >&2; return 2; } + test -n "$equivalent_main_sha" || { printf '--capture v2 requires --equivalent-main-sha SHA\n' >&2; return 2; } + maybe_fail git + is_commit "$execution_base" || { printf 'unreachable v2 behavioral source: %s\n' "$execution_base" >&2; return 1; } + is_commit "$equivalent_main_sha" || { printf 'unreachable equivalent main: %s\n' "$equivalent_main_sha" >&2; return 1; } + [[ "$profiles_csv" == "default,flywheel,legacy,combined" ]] || { printf 'v2 capture requires all four profiles\n' >&2; return 1; } + [[ ! -e "$target" && ! -L "$target" ]] || { printf 'compatibility oracle v2 target already exists: %s\n' "$target" >&2; return 1; } + maybe_fail lock + mkdir "$v2_lock" || { printf 'cannot acquire v2 capture lock: %s\n' "$v2_lock" >&2; return 1; } + trap 'cleanup_v2_capture; rm -rf "$TMP"' EXIT + trap 'cleanup_v2_capture; exit 143' HUP INT TERM + maybe_fail stage + v2_stage="$(mktemp -d "$BASELINE_ROOT/.v2-stage.XXXXXX")" + mkdir -p "$v2_stage/profiles" + V2_DIR="$v2_stage" + PROFILE_DIR="$v2_stage/profiles" + BASELINE="$v2_stage" + maybe_fail build + execution_tree="$TMP/capture-execution-source" + mkdir -p "$execution_tree" + git -C "$ROOT" archive "$execution_base" | tar -x -C "$execution_tree" + for profile in default flywheel legacy combined; do + capture_profile_from_cli "$execution_tree/cli" "$profile" + done + maybe_fail binary + maybe_fail json + maybe_fail jq + capture_sha="$(git -C "$ROOT" rev-parse HEAD)" + jq -n --arg source "$execution_base" --arg capture "$capture_sha" --arg main "$equivalent_main_sha" \ + --arg d "$(sha256 "$PROFILE_DIR/default.json")" \ + --arg f "$(sha256 "$PROFILE_DIR/flywheel.json")" \ + --arg l "$(sha256 "$PROFILE_DIR/legacy.json")" \ + --arg c "$(sha256 "$PROFILE_DIR/combined.json")" \ + '{schema_version:2,behavioral_source_sha:$source,capture_sha:$capture,equivalent_main_sha:$main,normalized_fields:["tool_version","platform.os","platform.arch"],intentional_deltas:["provenance_reconcile","pawl_review_hold_5","verify_hold_5","environment_projection"],profiles:{default:{tags:[],sha256:$d},flywheel:{tags:["flywheel"],sha256:$f},legacy:{tags:["legacy"],sha256:$l},combined:{tags:["flywheel","legacy"],sha256:$c}}}' >"$v2_stage/metadata.json" + BASELINE="$BASELINE_ROOT" + PROFILE_DIR="$BASELINE_ROOT/profiles" + verify_v1_integrity + BASELINE="$v2_stage" + PROFILE_DIR="$v2_stage/profiles" + verify_v2_integrity + verify_v2_source_binding_at "$equivalent_main_sha" capture-equivalent + [[ ! -e "$target" && ! -L "$target" ]] || { printf 'compatibility oracle v2 target appeared during capture: %s\n' "$target" >&2; return 1; } + maybe_fail rename + mv "$v2_stage" "$target" + v2_stage="" + rmdir "$v2_lock" + trap 'rm -rf "$TMP"' EXIT + trap - HUP INT TERM + V2_DIR="$target" + BASELINE="$target" + PROFILE_DIR="$target/profiles" + printf 'captured append-only Go CLI compatibility oracle v2 at %s\n' "$execution_base" +} + capture_or_check_profile() { local profile="$1" action="$2" bin raw1 raw2 actual bin="$TMP/ao-$profile" @@ -184,7 +555,7 @@ capture_or_check_profile() { fi } -verify_integrity() { +verify_v1_integrity() { local metadata="$BASELINE/metadata.json" profile expected actual test -f "$metadata" || { printf 'missing compatibility metadata.json\n' >&2; return 1; } jq -e '.schema_version == 1 and (.execution_base | length) == 40 and (.profiles | keys | sort) == ["combined","default","flywheel","legacy"]' "$metadata" >/dev/null @@ -206,6 +577,21 @@ verify_integrity() { fi } +verify_integrity() { + local selected="$BASELINE" selected_profiles="$PROFILE_DIR" + if [[ "$BASELINE" == "$V2_DIR" ]]; then + BASELINE="$BASELINE_ROOT" + PROFILE_DIR="$BASELINE_ROOT/profiles" + verify_v1_integrity + BASELINE="$selected" + PROFILE_DIR="$selected_profiles" + verify_v2_integrity + verify_v2_source_binding + else + verify_v1_integrity + fi +} + validate_dimension() { local case_file="$1" name="$2" jq -e --arg name "$name" ' @@ -275,6 +661,18 @@ validate_family() { done < <(jq -c '.checks[]' "$case_file") } +if [[ "$mode" == source_decision ]]; then + verify_source_decision + exit 0 +fi + +if [[ "$mode" == capture && "$oracle_version" == v2 ]]; then + capture_v2 + exit 0 +fi + +select_oracle + case "$mode" in raw) validate_raw "$raw_file" diff --git a/tests/go_cli_compatibility.bats b/tests/go_cli_compatibility.bats index a1abc7f33..ed7d13a1b 100644 --- a/tests/go_cli_compatibility.bats +++ b/tests/go_cli_compatibility.bats @@ -74,7 +74,7 @@ PY } @test "fresh binaries match default, flywheel, legacy, and combined manifests" { - run "$CHECKER" + run "$CHECKER" --oracle-version current [ "$status" -eq 0 ] [[ "$output" == *"default,flywheel,legacy,combined"* ]] } @@ -199,3 +199,146 @@ JSON [ "$status" -ne 0 ] [[ "$output" == *"fixture digest drift"* ]] } + +@test "append-only compatibility oracle selects v1 or v2 without rewriting evidence" { + c59="c59d36e58d2c5f6cefce2aa5c48e97be1db8f66f" + main_sha="$(git -C "$REPO_ROOT" rev-parse origin/main)" + + # The production checker must never use untracked runtime evidence. + run rg -n '\.agents/' "$CHECKER" + [ "$status" -ne 0 ] + + # The recorded equivalent main is immutable; behavior-identical descendants advance safely. + recorded_main="$(jq -r '.equivalent_main_sha' "$BASELINE/v2/metadata.json")" + head_sha="$(git -C "$REPO_ROOT" rev-parse HEAD)" + git -C "$REPO_ROOT" merge-base --is-ancestor "$recorded_main" "$main_sha" + git -C "$REPO_ROOT" merge-base --is-ancestor "$recorded_main" "$head_sha" + run git -C "$REPO_ROOT" merge-base --is-ancestor "$recorded_main" "$c59" + [ "$status" -ne 0 ] + + run "$CHECKER" --verify-source-decision "$c59" "$recorded_main" + [ "$status" -eq 0 ] + run "$CHECKER" --verify-source-decision "$c59" "$main_sha" + [ "$status" -eq 0 ] + run "$CHECKER" --verify-source-decision "$c59" "$head_sha" + [ "$status" -eq 0 ] + run "$CHECKER" --verify-source-decision "$c59" "$c59" + [ "$status" -ne 0 ] + [[ "$output" == *"not a descendant"* ]] + + # Explicit and unflagged v1; current rolls back only when v2 is absent. + run "$CHECKER" --verify-baseline-integrity + [ "$status" -eq 0 ] + run "$CHECKER" --oracle-version v1 --verify-baseline-integrity + [ "$status" -eq 0 ] + run "$CHECKER" --oracle-version future --verify-baseline-integrity + [ "$status" -eq 2 ] + + cp -R "$BASELINE" "$TMP/base" + rm -rf "$TMP/base/v2" + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" --oracle-version current --verify-baseline-integrity + [ "$status" -eq 0 ] + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" --oracle-version v2 --verify-baseline-integrity + [ "$status" -ne 0 ] + + # Any partial successor is poison; arbitrary future directories are ignored. + mkdir -p "$TMP/base/v2" + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" --oracle-version current --verify-baseline-integrity + [ "$status" -ne 0 ] + rm -rf "$TMP/base/v2" + mkdir -p "$TMP/base/v3" + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" --oracle-version current --verify-baseline-integrity + [ "$status" -eq 0 ] + + # Capture is four-profile, twice deterministic, exact-delta, and non-overwriting. + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" \ + --capture --oracle-version v2 --execution-base "$c59" --equivalent-main-sha "$main_sha" + [ "$status" -eq 0 ] + [ "$head_sha" != "$c59" ] + jq -e --arg c59 "$c59" --arg main "$main_sha" ' + .schema_version == 2 + and .behavioral_source_sha == $c59 + and .equivalent_main_sha == $main + and (.capture_sha | test("^[0-9a-f]{40}$")) + and (.profiles | keys | sort) == ["combined","default","flywheel","legacy"] + and (.intentional_deltas | sort) == ["environment_projection","pawl_review_hold_5","provenance_reconcile","verify_hold_5"] + and ([.intentional_deltas[] | select(test("plan-pawl"))] | length) == 0 + ' "$TMP/base/v2/metadata.json" + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" --oracle-version v2 --profiles default,flywheel,legacy,combined + [ "$status" -eq 0 ] + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" --oracle-version current --verify-baseline-integrity + [ "$status" -eq 0 ] + + # Capture must measure the requested execution base, not the producer checkout. + old_execution_base="$(jq -r '.execution_base' "$BASELINE/metadata.json")" + cp -R "$BASELINE" "$TMP/old-source-base" + rm -rf "$TMP/old-source-base/v2" + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/old-source-base" "$CHECKER" \ + --capture --oracle-version v2 --execution-base "$old_execution_base" --equivalent-main-sha "$main_sha" + [ "$status" -ne 0 ] + [ ! -e "$TMP/old-source-base/v2" ] + [ ! -e "$TMP/old-source-base/.v2.lock" ] + [ -z "$(find "$TMP/old-source-base" -maxdepth 1 -name '.v2-stage.*' -print -quit)" ] + + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" \ + --capture --oracle-version v2 --execution-base "$c59" --equivalent-main-sha "$main_sha" + [ "$status" -ne 0 ] + [[ "$output" == *"already exists"* ]] + + # Missing-profile permutations, bad hashes, and exact-delta drift fail closed. + cp -R "$TMP/base/v2" "$TMP/v2-pristine" + for profile in default flywheel legacy combined; do + rm -rf "$TMP/base/v2" + cp -R "$TMP/v2-pristine" "$TMP/base/v2" + rm "$TMP/base/v2/profiles/$profile.json" + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" --oracle-version current --verify-baseline-integrity + [ "$status" -ne 0 ] + done + + # Recreate a pristine capture after the destructive permutations. + rm -rf "$TMP/base/v2" + cp -R "$TMP/v2-pristine" "$TMP/base/v2" + jq '.profiles.default.sha256 = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"' \ + "$TMP/base/v2/metadata.json" >"$TMP/bad-metadata.json" + mv "$TMP/bad-metadata.json" "$TMP/base/v2/metadata.json" + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" --oracle-version current --verify-baseline-integrity + [ "$status" -ne 0 ] + + rm -rf "$TMP/base/v2" + cp -R "$TMP/v2-pristine" "$TMP/base/v2" + jq '.intentional_deltas += ["plan-pawl-degraded-5"]' "$TMP/base/v2/metadata.json" >"$TMP/bad-delta.json" + mv "$TMP/bad-delta.json" "$TMP/base/v2/metadata.json" + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" --oracle-version current --verify-baseline-integrity + [ "$status" -ne 0 ] + + # A coherently rewritten successor must still bind to freshly measured source behavior. + rm -rf "$TMP/base/v2" + cp -R "$TMP/v2-pristine" "$TMP/base/v2" + for profile in default flywheel legacy combined; do + jq '.env_vars.ZZZ_NOT_A_RUNTIME_INPUT = "unclassified mutation"' \ + "$TMP/base/v2/profiles/$profile.json" >"$TMP/$profile-mutated.json" + mv "$TMP/$profile-mutated.json" "$TMP/base/v2/profiles/$profile.json" + mutated_hash="$(hash_file "$TMP/base/v2/profiles/$profile.json")" + jq --arg profile "$profile" --arg sha "$mutated_hash" \ + '.profiles[$profile].sha256 = $sha' "$TMP/base/v2/metadata.json" >"$TMP/metadata-mutated.json" + mv "$TMP/metadata-mutated.json" "$TMP/base/v2/metadata.json" + done + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" --oracle-version current --verify-baseline-integrity + [ "$status" -ne 0 ] + [[ "$output" == *"measured source mismatch"* ]] + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" "$CHECKER" \ + --verify-source-decision "$c59" "$main_sha" + [ "$status" -ne 0 ] + [[ "$output" == *"measured source mismatch"* ]] + + # Every injected boundary failure is nonzero and publishes no successor. + for failpoint in build binary json jq git lock stage rename; do + rm -rf "$TMP/base/v2" "$TMP/base"/.v2-stage.* "$TMP/base/.v2.lock" + run env AO_CLI_COMPAT_BASELINE_DIR="$TMP/base" AO_CLI_COMPAT_TEST_FAIL="$failpoint" "$CHECKER" \ + --capture --oracle-version v2 --execution-base "$c59" --equivalent-main-sha "$main_sha" + [ "$status" -ne 0 ] + [ ! -e "$TMP/base/v2" ] + [ ! -e "$TMP/base/.v2.lock" ] + [ -z "$(find "$TMP/base" -maxdepth 1 -name '.v2-stage.*' -print -quit)" ] + done +}