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
/mcpis kept unchanged for Claude/Codex/ops. - New read-only JSON-RPC endpoint
/mcp-readonlyis the correct Path B2 design. - Read-only allowlist is exactly:
search_knowledge,list_documents,get_document,get_document_for_rewrite,batch_read. tools/listmust return only these five tools.tools/callmust 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.pyonly. - Add
/mcp-readonlyendpoint and allowlist helpers. - Rebuild AgentData image and restart AgentData container using existing compose workflow.
- Run internal MCP tests against
/mcpand/mcp-readonlyfrom Docker network. - Commit source patch in
agent-data-repoafter tests pass.
Not allowed:
- No nginx public route.
- No nginx reload.
- No ChatGPT connector.
- No write/delete/move/ingest calls.
- No edit to
/opt/incomexdirty 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/liststill returns 11 tools./mcp-readonly tools/listreturns 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.