All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project follows Semantic Versioning.
- Refactored
run_review()into 4 phase functions for maintainability. - Replaced
ArgumentParser.errormonkeypatch with_StreamSafeParsersubclass. - Improved CLI help text for
--filepriority and per-provider vs global timeout clarity.
adapter.cancel()failures are now logged instead of being silently swallowed.- Duplicate agent names in
agents.yamlnow emit a warning and only the first entry is registered. - Removed the unused
load_stateimport. mco agent checknow rejects empty agent names.- Debate rounds now skip early when zero findings exist.
- Added streaming + divide mode regression coverage.
- Documented
--debate/--dividemutual exclusivity in the README. - Documented agent config-file priority order in the README.
- Consensus engine with agreement-based scoring (
consensus_score,confirmed/needs-verification/unverified). --stream livefor real-time terminal progress per provider.--debatemode for structured multi-agent challenge rounds.--divide files|dimensionsfor task splitting across providers.- Custom agent ecosystem:
.mco/agents.yamlconfig, Ollama adapter,mco agent list/mco agent check. has_consensus_fallbackfield in synthesis output.
--synthesizenow produces algorithm-driven consensus analysis plus optional agent narrative.- Findings are sorted by consensus level and then consensus score.
- SARIF confidence now maps to
consensus_score. - Markdown PR output now groups findings by consensus level.
--divide filesno longer collects non-source directories.- Empty file-slice providers are skipped instead of scanning the full repository.
synthesis.successnow correctly reflects narrative provider status.max_provider_parallelismconfig file fallback is restored.--divide dimensionsnow assigns after provider filtering.OllamaAdapterno longer hijackscommand+modelagents.- Incomplete agents without
commandormodelare filtered from the registry.
--chainmode for sequential multi-agent analysis.--perspectives-jsonfor per-provider review focus.- Consensus badges (
[N/M agree]and chain-specific confirmed-by labels) in human-readable outputs. - Session result retrieval for queued or asynchronous session runs.
- Session retry behavior now classifies errors and applies exponential backoff.
- Fixed a critical
--no-waitsession data-loss issue.
--fileand stdin prompt ingestion forrun/review.- Temporary
--agentregistration for custom ACP-compatible agents. --quietoutput mode and config-file loading support.mco session ensure,--no-wait, and Ctrl+C-aware session cancellation improvements.- ACP expansion with structured rendering plus bidirectional filesystem and terminal handlers.
- Fixed
allow_pathspassthrough, deep config merge behavior, and empty-stdin rejection. - Hardened ACP permission keys and launch-flag handling.
- Improved thread safety around pending session state and streaming buffers.
- Stateful multi-turn sessions via
mco session. - Session prompt queueing with cancellation support.
- ACP (Agent Client Protocol) transport layer.
- Data-driven ACP protocol conformance tests.
- Diff-only review mode with
--diff,--staged, and--unstaged. mco serveMCP server mode.- Structured streaming via
--stream jsonl.
- Cross-session memory bridge with
--memoryand--space. - Passive confirmation, forget-cleaner, and confidence-scored finding persistence.
- Agent reliability scoring, task classification, and tech-stack priors.
mco findingsandmco memorysubcommands.
- Correctness fixes for canonical latest-view deduplication, category-aware priors,
memory_idpropagation, and per-finding changed-file tracking.
- Default providers list now includes all 5 supported providers (claude, codex, gemini, opencode, qwen) instead of only claude and codex.
- Claude adapter: permission mode
plan→bypassPermissionsfor full tool execution. - Codex adapter: sandbox
workspace-write→danger-full-accessfor 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.
- Added
mco doctorcommand with human-readable and--jsonoutputs to probe provider binary/auth readiness. - Added
--format markdown-pr(review-only) to render PR-ready Markdown summaries from aggregated findings. - Added opt-in
--include-token-usageto include best-effort provider token usage and aggregate token summary in outputs. - Added
--format sarif(review-only) to emit SARIF 2.1.0 output for code scanning integrations. - Added opt-in synthesis pass via
--synthesizeand--synth-provider, returning structuredsynthesisoutput (consensus/divergence/next steps) in JSON and artifacts.
- Added deterministic cross-provider findings deduplication in review aggregation and
findings.json, with mergeddetected_byprovenance and max-confidence rollup.
- Added run-mode answer extraction fields per provider:
final_text,response_ok, andresponse_reason, while keepingoutput_textas raw output for debugging. - Improved
final_textextraction quality for event-stream outputs by preferring high-signal answer candidates over trailing low-signal tokens.
- Made stdout mode truly non-persistent by default: no artifact files are written unless
--save-artifactsor--result-mode artifact/bothis used. - In stdout mode without artifact writes,
artifact_rootand provideroutput_pathnow returnnull. - 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).
- Disabled runtime idempotency/dispatch cache replay; repeated invocations now always re-execute providers.
- Extended stdout payloads and human-readable output to include full per-provider output text (not only excerpt).
- Removed legacy idempotency/state/cache knobs and fields (
--idempotency-key,--state-file,created_new_task,deduped_dispatch,dispatch_key).
- Changed default CLI delivery mode to stdout-first (
--result-mode stdout) so agent callers receive results directly without mandatory artifact reads. - Added
--save-artifactsto explicitly persist artifact files while keeping stdout result delivery. - Updated benchmark script to explicitly opt into artifact persistence (
--save-artifacts). - Repositioned README (EN/CN) messaging around "Any Prompt. Any Agent. Any IDE." and clarified caller-agent orchestration scenarios.
- Removed config-file mode from CLI;
mconow uses built-in defaults with flag-only overrides. - Removed
--configfrommco run/mco review; passing it now errors as unsupported. - Updated benchmark automation to run without config files and to report provider set directly.
- Updated README (EN/CN) to document zero-config usage with CLI flag overrides only.
- Removed config file loading path (
load_review_config) and related YAML/JSON config parsing. - Removed sample config files (
mco.example.json,mco.step3-baseline.json).
- Added full Simplified Chinese README (
README.zh-CN.md) with language switch links. - Added environment sanitization for provider subprocesses to strip
CLAUDECODE.
- Aligned review findings schema and parser contract by making
evidence.lineandevidence.symboloptional keys. - Clarified installation channels in docs: npm available now, PyPI pending Trusted Publisher setup.
- Implemented real retry backoff sleep in runtime retry loop.
- Released adapter run handles in terminal and cancel paths to avoid in-memory handle growth.
- Switched CLI config parsing to fail-fast for invalid
--provider-timeoutsand--provider-permissions-json.
- Added packaging metadata (
pyproject.toml) andmcoconsole entrypoint. - Added npm wrapper package (
@tt-a1i/mco) for Node-based environments. - Added publishing workflows for PyPI and npm.
- Updated repository naming and distribution identity to
mco. - Updated README and release docs for install and usage guidance.
- Added provider permission contract docs.
- Added release governance artifacts (
CODEOWNERS, release notes updates).
- Hardened npm publish workflow behavior when
NPM_TOKENis missing. - Fixed npm workflow syntax/guard issues for reliable CI execution.
- Initial runnable runtime for multi-provider orchestration (
runandreviewcommands). - Provider adapters for
claude,codex,gemini,opencode, andqwen. - Progress-driven timeout handling, retry semantics, idempotent dispatch, and notification dedupe.
- Canonical findings normalization, review decisioning, and artifact outputs (
summary.md,decision.md,findings.json,run.json). - Runtime gate, adapter contract tests, and benchmark/probe scripts.