From c451ec4902c450835ece57e10376d1ea548d4c89 Mon Sep 17 00:00:00 2001 From: oratis Date: Sun, 31 May 2026 15:40:34 +0800 Subject: [PATCH] docs: refresh BEHAVIOR_PARITY to reflect shipped MCP + hooks features MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After this session's PRs (#111โ€“#117), several rows were stale. Updated to match the code: - MCP: http/sse transports, headersHelper, ToolSearch defer opt-out, elicitation (form mode), `mcp serve`, resources (@server:uri), and prompts as slash commands are all โœ… now; only OAuth (browser flow) remains ๐Ÿ”„. - Hooks: `mcp_tool` + `agent` handlers are โœ… (wired in the agent loop), not stubs. - `/rewind`: โœ… (5 operations + Esc Esc), not deferred. - auto mode: โœ… (classifyAutoMode wired in the tool dispatcher), not a fall-back-to-default stub. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/BEHAVIOR_PARITY.md | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/docs/BEHAVIOR_PARITY.md b/docs/BEHAVIOR_PARITY.md index b91276c..4889a38 100644 --- a/docs/BEHAVIOR_PARITY.md +++ b/docs/BEHAVIOR_PARITY.md @@ -29,7 +29,7 @@ Legend: `โœ…` matches ยท `๐ŸŸก` matches with caveats ยท `๐Ÿ”„` deferred ยท `โš  | `/compact` | โœ“ | โœ“ auto-trigger | ๐ŸŸก โ€” manual `/compact` slash command not exposed yet (auto works via agent loop) | | `/btw` | โœ“ | โœ— | ๐Ÿ”„ | | `/recap` | โœ“ | โœ— | ๐Ÿ”„ | -| `/rewind` | โœ“ | โœ— | ๐Ÿ”„ M7 | +| `/rewind` | โœ“ | โœ“ | โœ… โ€” 5 ops (code/conversation/both/summarize-from/up-to); `Esc Esc` bound | | `/voice` | โœ“ | โœ— | ๐Ÿ”„ M8 | | `/teleport` | โœ“ | โœ— | ๐Ÿ”„ M8 | | `/desktop` | โœ“ | โœ— | ๐Ÿ”„ M6 | @@ -90,20 +90,20 @@ Specific deviations: | `command` | โœ“ | โœ“ | โœ… โ€” JSON-on-stdin contract, JSON-on-stdout decoded | | `http` | โœ“ | โœ“ | โœ… โ€” fetch POST, response.text โ†’ stdout; `allowedHttpHookUrls` enforced | | `prompt` | โœ“ | โœ“ | โœ… โ€” synthesizes additionalContext (no exec) | -| `mcp_tool` | โœ“ | ๐Ÿ”„ stub | M5+ | -| `agent` | โœ“ | ๐Ÿ”„ stub | M4+ | +| `mcp_tool` | โœ“ | โœ“ | โœ… โ€” agent loop resolves `mcp____` from the live registry | +| `agent` | โœ“ | โœ“ | โœ… โ€” runs a named sub-agent (re-entrancy-guarded) | | `if` field | โœ“ | โœ“ | โœ… permission-rule syntax filter | ## Modes -| Mode | Claude Code | DeepCode | Status | -| --------------------- | ----------- | -------- | --------------------------------------- | -| default | โœ“ | โœ“ | โœ… | -| acceptEdits | โœ“ | โœ“ | โœ… | -| plan | โœ“ | โœ“ | โœ… | -| auto (LLM classifier) | โœ“ | ๐Ÿ”„ | falls back to default behavior; M3c-ext | -| dontAsk | โœ“ | โœ“ | โœ… | -| bypassPermissions | โœ“ | โœ“ | โœ… sandbox still enforces | +| Mode | Claude Code | DeepCode | Status | +| --------------------- | ----------- | -------- | ---------------------------------------------------- | +| default | โœ“ | โœ“ | โœ… | +| acceptEdits | โœ“ | โœ“ | โœ… | +| plan | โœ“ | โœ“ | โœ… | +| auto (LLM classifier) | โœ“ | โœ“ | โœ… โ€” `classifyAutoMode` wired in the tool dispatcher | +| dontAsk | โœ“ | โœ“ | โœ… | +| bypassPermissions | โœ“ | โœ“ | โœ… sandbox still enforces | ## Memory system @@ -118,14 +118,16 @@ Specific deviations: ## MCP - โœ… stdio transport +- โœ… http (Streamable HTTP) / sse transports - โœ… list_tools + call_tool with `mcp____` qualification - โœ… `/mcp` slash + auto-connect from settings + per-server enabled/disabled -- ๐Ÿ”„ http / sse transports (M3c-ext) -- ๐Ÿ”„ OAuth (M3c-ext) -- ๐Ÿ”„ headersHelper (M3c-ext) -- ๐Ÿ”„ Elicitation hooks (M5+) -- ๐Ÿ”„ `deepcode mcp serve` (reverse exposure) โ€” M5+ -- ๐Ÿ”„ MCP resources via `@server:proto://path` (M3c-ext) +- โœ… `alwaysLoad: false` opt-out defers a server's tools behind ToolSearch +- โœ… static `headers` + dynamic `headersHelper` auth +- โœ… Elicitation (form mode) โ€” server-initiated structured input โ†’ host prompt +- โœ… `deepcode mcp serve` โ€” expose DeepCode's stateless tools as an MCP server (stdio) +- โœ… MCP resources โ€” listed on connect; `@server:scheme://path` refs expanded in prompts +- โœ… MCP prompts as slash commands โ€” `/mcp____ [args]` +- ๐Ÿ”„ OAuth (authorization-code browser flow) โ€” static bearer / `headersHelper` cover token auth today ## Tools