Skip to content

Releases: mco-org/mco

v0.8.0

17 Mar 14:32
2c34285

Choose a tag to compare

What's New

Chain Mode (--chain)

Run providers sequentially — each provider's output is fed as context to the next, enabling "challenge and supplement" workflows where later agents critically review earlier agents' findings.

Per-Provider Perspectives (--perspectives-json)

Assign different review focus areas to each provider. For example, Claude focuses on security while Codex focuses on performance. Configurable via CLI flag or .mcorc.json.

Consensus Badges

Findings now show cross-agent agreement indicators:

  • Parallel mode: [2/3 agree] / [1 agent only]
  • Chain mode: [confirmed by 2/3] / [unconfirmed]

Session Bug Fixes

  • Critical: Fixed --no-wait data loss — daemon no longer writes to closed socket; results stored for later retrieval via new session result command
  • Broader exception handling: adapter.cancel() catches all exceptions, preventing worker thread death
  • Provider validation: resume_session() validates provider matches

Session Retry with Error Classification

Session dispatch now uses the orchestrator's RetryPolicy with exponential backoff. Errors are classified (timeout, rate limit, network → retryable; auth, invalid input → non-retryable). Partial output preserved on timeout.

New CLI Commands

  • mco session result <name> <request_id> — retrieve results of async (--no-wait) requests

Strict --perspectives-json Validation

Invalid JSON, non-object root, or non-string values now raise clear errors instead of being silently ignored.


558 tests passing.

v0.7.0

17 Mar 12:50
29f4f02

Choose a tag to compare

What's New

9 new features closing competitive feature gaps:

CLI UX (P0)

  • --file path / --file - / piped stdin — flexible prompt input
  • --agent NAME "command" — register custom ACP agents
  • --quiet — pipe-friendly output (mutual exclusion with --json/--stream)
  • Config files — .mcorc.json (project) + ~/.mco/config.json (global) with deep merge

Sessions (P1)

  • session ensure — idempotent create-or-return
  • --no-wait — async send, returns after queue ack
  • Ctrl+C graceful cancel during session send

ACP Protocol (P2)

  • ContentAccumulator — structured rendering (thinking, tool_call, diff blocks)
  • Bidirectional JSON-RPC handlers — fs/read_text_file, fs/write_text_file, terminal/*

Security & Correctness

  • Terminal handlers disabled by default, require explicit provider_permissions opt-in
  • allow_paths enforced end-to-end through ACP transport
  • Per-provider permission keys inherited from shim adapters and applied to ACP launch commands
  • Empty stdin/file prompts rejected with proper error routing (including --stream jsonl)
  • Thread-safety hardening: _pending_lock, shlex.split, guarded assertions

506 tests pass.

v0.6.0

16 Mar 15:32
38837ef

Choose a tag to compare

What's New

Stateful Multi-Turn Sessions (#67)

  • mco session start/send/broadcast/stop/resume/history/list — persistent agent sessions with unix socket daemon
  • Conversation history injected into each turn (max 20 turns, 50k chars)

Session Prompt Queue & Cancellation (#68)

  • Request queue (max depth 10, FIFO) with worker + handler thread model
  • mco session cancel NAME — interrupt running prompt + drain queue
  • mco session queue NAME — show running request ID and queue depth
  • Two-phase send protocol (queued ack → final result)

ACP Transport Layer (#69)

  • Agent Client Protocol support — structured JSON-RPC over stdio
  • --transport acp flag on run/review commands
  • runtime/acp/ package: transport, client, adapter (zero dependencies)
  • Known ACP commands for claude, codex, gemini; others fall back to shim

ACP Protocol Conformance Tests (#70)

  • Data-driven test framework: 8 scenarios defined in JSON
  • 3 fake agent behaviors (standard, reverse notification order, error handling)
  • New scenarios added by editing scenarios.json — no Python changes needed

v0.5.0

16 Mar 09:56
3467d7e

Choose a tag to compare

Highlights

  • Diff-only review: --diff, --staged, --unstaged flags to review only changed code. Supports --diff-base for custom comparison refs. Findings tagged in_diff / related via local post-processing.
  • MCP server mode: mco serve starts a stdio MCP server with 5 tools (mco_review, mco_run, mco_doctor, mco_findings_list, mco_memory_status). Uniform {"ok": true/false} response envelope.
  • Structured streaming: --stream jsonl outputs real-time JSONL events to stdout. 9 event types with thread-safe emitter, closed provider state machine, and pure stdout protocol (no stderr leakage).

Packaging

  • npm package version: 0.5.0
  • PyPI package version: 0.5.0

v0.4.0

12 Mar 01:19
0b98858

Choose a tag to compare

Highlights

  • Cross-session memory (opt-in): --memory flag persists findings and agent reliability scores across runs via evermemos-mcp.
  • Finding lifecycle management: open → passive_fix_candidate → fixed, with two-strike passive confirmation.
  • Agent reliability scoring with cross-validation, cold-start weight mixing, and confidence grading.
  • New subcommands: mco findings (list/confirm findings) and mco memory (agent-stats/priors/status).
  • Fully opt-in: without --memory, MCO behaves identically to v0.3.x.

Packaging

  • npm package version: 0.4.0
  • PyPI package version: 0.4.0

v0.3.5

10 Mar 10:59
8309b73

Choose a tag to compare

Highlights

  • Default providers list now includes all 5 supported providers (claude, codex, gemini, opencode, qwen).
  • Claude adapter: planbypassPermissions for full tool execution.
  • Codex adapter: workspace-writedanger-full-access for full filesystem and network access.
  • Gemini adapter: added -y (YOLO mode) for automatic tool approval in non-interactive mode.
  • Qwen adapter: added -y (YOLO mode) for automatic tool approval in non-interactive mode.

Packaging

  • npm package version: 0.3.5
  • PyPI package version: 0.3.5

v0.3.3

27 Feb 04:54
16518fe

Choose a tag to compare

Highlights

  • Added mco doctor with human-readable and --json provider readiness checks.
  • Added review output formats: --format markdown-pr and --format sarif.
  • Added opt-in token usage reporting via --include-token-usage.
  • Added deterministic cross-provider finding deduplication with detected_by provenance.
  • Added opt-in synthesis pass via --synthesize and --synth-provider.

Packaging

  • npm package version: 0.3.3
  • PyPI package version: 0.3.3

v0.3.2

27 Feb 02:44
672e5ae

Choose a tag to compare

[0.3.2] - 2026-02-27

Changed

  • Added run-mode answer extraction fields per provider: final_text, response_ok, and response_reason, while keeping output_text as raw output for debugging.
  • Improved final_text extraction quality for event-stream outputs by preferring high-signal answer candidates over trailing low-signal tokens.

v0.3.1

27 Feb 02:07
f881738

Choose a tag to compare

Changed

  • Made stdout mode truly non-persistent by default: no artifact files are written unless --save-artifacts or --result-mode artifact/both is used.
  • In stdout mode without artifact writes, artifact_root and provider output_path now return null.
  • Unified adapter detect/probe binary resolution and environment handling with runtime execution (shutil.which + sanitized env) and refined auth probe reason classification (auth_check_failed, probe_config_error, probe_unknown_error).

v0.1.2

26 Feb 11:45
2d3561b

Choose a tag to compare

v0.1.2 - Distribution and Installation

Date: 2026-02-26

Highlights

  • Added Python packaging metadata (pyproject.toml) and mco console entrypoint.
  • Added npm wrapper package (@multi-cli-orchestrator/cli) for Node-based environments.
  • Added release workflows for PyPI and npm publishing.
  • Updated README with installation instructions (pipx, source install, npm wrapper).

Install

Recommended:

pipx install multi-cli-orchestrator

From source:

python3 -m pip install -e .

Node wrapper:

npm i -g @multi-cli-orchestrator/cli

Notes

  • npm wrapper requires python3 available on PATH.
  • YAML config still requires optional dependency: pip install pyyaml.