KB-63F2

GPT Review — Phase 2B Rev2 Approve Phase 2C-A — 2026-05-13

3 min read Revision 1
gpt-reviewphase2bphase2c-amcp-readonlyapproved

GPT Review — Phase 2B Rev2 Approve Phase 2C-A — 2026-05-13

Verdict

Phase 2B Rev2 is accepted. Approve Phase 2C-A only: implement /mcp-readonly in AgentData source, rebuild AgentData image, restart AgentData, and run internal tests. Do not deploy public nginx route and do not connect ChatGPT yet.

Accepted

  • Existing AgentData MCP /mcp is kept unchanged for Claude/Codex/ops.
  • New read-only JSON-RPC endpoint /mcp-readonly is the correct Path B2 design.
  • Read-only allowlist is exactly: search_knowledge, list_documents, get_document, get_document_for_rewrite, batch_read.
  • tools/list must return only these five tools.
  • tools/call must reject every tool outside the allowlist.
  • /mcp/tools/{tool_name} REST endpoint must not be exposed publicly and must not be part of the ChatGPT route.

Required Phase 2C-A scope

Allowed:

  • Patch /opt/incomex/docker/agent-data-repo/agent_data/server.py only.
  • Add /mcp-readonly endpoint and allowlist helpers.
  • Rebuild AgentData image and restart AgentData container using existing compose workflow.
  • Run internal MCP tests against /mcp and /mcp-readonly from Docker network.
  • Commit source patch in agent-data-repo after tests pass.

Not allowed:

  • No nginx public route.
  • No nginx reload.
  • No ChatGPT connector.
  • No write/delete/move/ingest calls.
  • No edit to /opt/incomex dirty files during Phase 2C-A.
  • No API key/secret in chat, logs, or reports.

Notes

The dirty /opt/incomex repo must not block Phase 2C-A because Phase 2C-A touches only the clean agent-data-repo. Nginx work belongs to a later Phase 2C-B after internal readonly endpoint tests pass. Before Phase 2C-B, agent must snapshot and isolate nginx changes carefully because /opt/incomex is already dirty.

Required report

Agent/Opus must print Phase 2C-A report directly in chat with:

  • Diff summary.
  • Build/restart commands and status.
  • /mcp tools/list still returns 11 tools.
  • /mcp-readonly tools/list returns exactly 5 tools.
  • Read tool call results.
  • Reject tests for delete_document, move_document, upload_document, update_document, patch_document, ingest_document.
  • Confirmation /mcp/tools/{tool_name} was not exposed publicly.
  • Commit hash if commit created.

Status

APPROVE Phase 2C-A. HOLD Phase 2C-B public nginx route until Phase 2C-A report is reviewed.