feat(mcp): expose sanctioned Codex MCP reconnect request (Closes #678)
Add gitea_request_mcp_reconnect as a report-only callable surface so Codex and other agent hosts can request host/IDE reconnect with typed blockers and exact UI steps. Never kills processes or edits config. Co-Authored-By: Grok 4.5 <[email protected]>
This commit is contained in:
+35
-5
@@ -225,8 +225,33 @@ _RESTART_PATHS: tuple[RestartPath, ...] = (
|
||||
"exact_safe_next_action pointing at IDE/client reconnect; performs "
|
||||
"no restart, thread spawn, config touch, or os._exit."
|
||||
),
|
||||
locations=("gitea_mcp_server.py (gitea_resolve_task_capability)",),
|
||||
references=("#685", "#657"),
|
||||
locations=(
|
||||
"gitea_mcp_server.py (gitea_resolve_task_capability)",
|
||||
"gitea_mcp_server.py (gitea_request_mcp_reconnect)",
|
||||
"mcp_client_reconnect.py",
|
||||
),
|
||||
references=("#685", "#657", "#678"),
|
||||
),
|
||||
RestartPath(
|
||||
path_id="codex_client_reconnect_request",
|
||||
title="Sanctioned Codex/LLM reconnect request tool",
|
||||
mechanism=(
|
||||
"gitea_request_mcp_reconnect: agents invoke a report-only tool that "
|
||||
"returns namespace/profile/pid/startup SHA/master SHA/boundary "
|
||||
"status plus a typed operator blocker with exact client UI steps."
|
||||
),
|
||||
classification=CLASS_GUARDED_FAIL_CLOSED,
|
||||
guard=(
|
||||
"Report-only (#678): never restarts, kills, reloads, or edits "
|
||||
"config; recovery is always host/operator reconnect. Forbidden "
|
||||
"paths (pkill, touch, .env/config/session-state hacks) are listed "
|
||||
"and never recommended."
|
||||
),
|
||||
locations=(
|
||||
"mcp_client_reconnect.py",
|
||||
"gitea_mcp_server.py (gitea_request_mcp_reconnect)",
|
||||
),
|
||||
references=("#678", "#630", "#685", "#657"),
|
||||
),
|
||||
RestartPath(
|
||||
path_id="manual_daemon_kill",
|
||||
@@ -271,7 +296,8 @@ _RESTART_PATHS: tuple[RestartPath, ...] = (
|
||||
title="Host/IDE MCP reconnect",
|
||||
mechanism=(
|
||||
"A manual `/mcp reconnect` (or equivalent host action) that the "
|
||||
"IDE performs to recreate the MCP client connection."
|
||||
"IDE performs to recreate the MCP client connection. Agents obtain "
|
||||
"exact UI steps via gitea_request_mcp_reconnect (#678)."
|
||||
),
|
||||
classification=CLASS_HOST_RESIDUAL,
|
||||
guard=(
|
||||
@@ -279,8 +305,12 @@ _RESTART_PATHS: tuple[RestartPath, ...] = (
|
||||
"gates point operators toward; documented as residual host "
|
||||
"behavior. No in-process code initiates it."
|
||||
),
|
||||
locations=("host/IDE",),
|
||||
references=("#584", "#656", "#657"),
|
||||
locations=(
|
||||
"host/IDE",
|
||||
"mcp_client_reconnect.py",
|
||||
"gitea_mcp_server.py (gitea_request_mcp_reconnect)",
|
||||
),
|
||||
references=("#584", "#656", "#657", "#678"),
|
||||
residual_host=True,
|
||||
),
|
||||
RestartPath(
|
||||
|
||||
Reference in New Issue
Block a user