ACOP

ACOP Orchestration MCP Query Surface

Status

Stability: stable, tied to acop-orchestration/1.0. This document is RECOMMENDED, not normative: it describes a read surface an implementation MAY expose, and an orchestration implementation that exposes no MCP tools is fully conformant. The normative contract is acop-orchestration.md.

The one binding rule here is the read/write split: tools defined by this document MUST NOT create or mutate claims, acceptance records, or any other coordination state. Read tools that quietly mutate are how a query surface becomes a second, unaudited coordination owner.

Purpose

This document defines a reusable MCP-facing query surface for ACOP orchestration state.

It sits above raw Cypher and below orchestration middleware:

The goal is to avoid forcing every agent to:

Relationship to other documents

Design principles

This surface should not:

orchestration_flow_summary

Returns a high-level dashboard for one flow.

Inputs:

Outputs:

Use when:

orchestration_pending_gates

Returns gates waiting on acceptance.

Inputs:

Outputs:

Use when:

orchestration_release_ready_gates

Returns gates whose upstream lanes are accepted and are ready for owner action.

Inputs:

Outputs:

Use when:

orchestration_unreleased_stages

Returns stages that remain unreleased because upstream gates are not accepted.

Inputs:

Outputs:

Use when:

orchestration_lane_acceptance_gaps

Returns lanes whose work is complete but not accepted.

Inputs:

Outputs:

Use when:

orchestration_blocked_work

Returns work items blocked specifically by orchestration state.

Inputs:

Outputs:

Recommended blocker filters:

Use when:

All orchestration MCP responses should ideally carry:

Optional additions:

Suggested query kinds

Stable query kind names help agents reason without re-learning tool-specific phrasing:

Agent-facing usage patterns

Examples:

These should map to stable MCP calls instead of requiring the caller to author Cypher.

Why this matters

Without this layer:

With this layer: