Skip to content

Verify and lock the recovery MCP contract against current clients #109

Description

@lynnswap

Parent: #96

Compatibility policy

The latest published release is v0.6.2. Its MCP contract remains the compatibility baseline unless a real current client requires an additive alias or field.

The unreleased main-only rename from jobId/output/logs to runId/review/log is not automatically a recovery requirement because MCP clients discover tool schemas.

Acceptance criteria

  • Exercise review_start, review_await, review_read, review_list, and review_cancel from current Codex.
  • Exercise the same tools from current Claude Code.
  • Cover multiple MCP sessions, concurrent reviews, cancel, terminal polling/await, paged logs, server stop, and restart.
  • Preserve the published v0.6.2 schema and add aliases only when a live consumer proves they are needed.
  • One stable identifier is accepted consistently by all five tools.
  • Long review timeout/idle-timeout setup is documented, including the Claude client idle timeout.
  • HTTP/protocol shutdown awaits in-flight request handlers and leaves no session/task after stop.
  • Final review data comes from the same canonical terminal/history owner as UI and Persist ReviewMonitor-owned review history and logs locally #102.

Historical evidence

Post-v0.6.2 main changed MCP vocabulary during the unreleased rearchitecture. PR #79 documents Claude idle timeout behavior; codex/mcp-protocol-stop-integration@59ebacd contains shutdown proof worth referencing if the live probe requires it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions