v0.11.0 - Invocation-native runtime
Status: breaking release guidance
This release changes MCO from a findings/decision pipeline into a raw-answer invocation runtime. Legacy findings-driven design documents remain available for context but are superseded by the invocation runtime v1 contract; this note is the migration guide for callers adopting the new public surface.
New behavior
- Use repeatable
--agent [alias=]provider:modelfor explicit Agent identity and multiple models from one Provider. - Use
--providersas the invocation-native shorthand for one configured/default model per Provider. - Consume raw answer text plus operational invocation records. Task status is
complete,partial, orfailed, with exit codes0,1, and2. - Use text mode,
--json, or--stream jsonl; stdout contains answers or the selected machine protocol, while diagnostics go to stderr. - Use
--chain,--debate, and--synthesizefor LLM-driven file-backed stages. - Use
--result-mode artifact|stdout|bothfor temporary or persistent Markdown artifacts. - A synthesis manifest retains run and debate records, including failures or missing entries, but never includes synthesis itself. Root
result.mdgroups actual stages, places synthesis first, and keeps every original answer and failure record.
Breaking removals
The following surfaces are removed:
mco findingsand the findings JSON schema;- semantic normalization, deduplication, confidence, consensus, passive lifecycle, and findings-driven memory runtime;
- Markdown-PR and SARIF renderers;
- content-based
INCONCLUSIVEstatus; --format,--strict-contract,--memory,--space,--diff,--staged,--unstaged, and--diff-base.
Removed flags return migration guidance rather than being silently ignored.
Migration examples
Old structured review callers should send the desired scope and output shape as a raw prompt:
mco review --target-paths runtime --providers claude,codex \
--prompt "Review runtime/ for correctness and security risks; report your reasoning in natural language." \
--result-mode both --task-id runtime-reviewOld multi-model callers should use explicit invocations:
mco run --prompt "Compare these implementations." \
--agent fast=pi:model-a \
--agent careful=pi:model-b \
--stream jsonlOld persistent-memory callers should save and pass Markdown artifacts through chain/debate/synthesis stages:
mco run --prompt "Analyze the repository." \
--providers claude,codex --chain --execution-mode read_only \
--result-mode artifact --task-id repository-analysisWrite safety
MCO does not create or manage worktrees. If a user explicitly chooses parallel writers, the calling Agent must partition non-overlapping --target-paths and warn about overlapping edits.