Skip to content

mq-mcp v1.3.0 — Orchestration boundary formalization

Choose a tag to compare

@MCamner MCamner released this 28 May 01:07
· 141 commits to main since this release

What's new

docs/ORCHESTRATION_CONTRACT.md

Formal caller boundary contract with 7 sections:

  • Invocation contract (approval gate model: A/B=auto-invoke, C/D=explicit user approval)
  • Return contract (fixed severity vocabulary, output structure, freshness guarantees)
  • Side effect contract (declared persistent side effects table)
  • Context flow diagram (priority order: ADRs > past_context > cross_file_ctx)
  • Cross-repo contracts (mq-agent, repo-signal, mq-hal, mq-image-analyze)
  • Profile access model (max safety class per profile)
  • 7 always-true guarantees (path boundaries, no auto-commit, no secrets, stateless)

validate_orchestration_contract (new MCP tool — Class A)

12 deterministic checks, no API key required:

  1. ORCHESTRATION_CONTRACT.md exists and is fresh
    2–3. All profile recommended_tools are registered in server.py
  2. Per-profile max safety class enforced
  3. All write:true tools are Class C
  4. All Class D tools have subprocess:true
  5. Error return prefix consistency

Returns [PASS], [FAIL], [WARN] lines and a summary count.

Profile fixes

5 profiles had tools exceeding their declared max safety class — all corrected:

  • claude-desktop: removed hal_repo_report (Class D); max class updated to A/B
  • codex: removed validate_project (Class D)
  • mq-agent: removed hal_repo_report (Class D)
  • openai-bridge: removed hal_repo_report (Class D)
  • repo-only: removed validate_project (Class D); max class updated to A/C

Error prefix standardisation

review_file and review_diff sub-errors now use {tool_name} failed ({qualifier}): form.

Stats

  • Tool count: 65 → 66
  • All 48 tests pass
  • release-check.sh passes