Skip to content

Commit c451ec4

Browse files
oratisclaude
andcommitted
docs: refresh BEHAVIOR_PARITY to reflect shipped MCP + hooks features
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) <noreply@anthropic.com>
1 parent 9cc31fd commit c451ec4

1 file changed

Lines changed: 19 additions & 17 deletions

File tree

docs/BEHAVIOR_PARITY.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Legend: `✅` matches · `🟡` matches with caveats · `🔄` deferred · `⚠
2929
| `/compact` || ✓ auto-trigger | 🟡 — manual `/compact` slash command not exposed yet (auto works via agent loop) |
3030
| `/btw` ||| 🔄 |
3131
| `/recap` ||| 🔄 |
32-
| `/rewind` || | 🔄 M7 |
32+
| `/rewind` || | ✅ — 5 ops (code/conversation/both/summarize-from/up-to); `Esc Esc` bound |
3333
| `/voice` ||| 🔄 M8 |
3434
| `/teleport` ||| 🔄 M8 |
3535
| `/desktop` ||| 🔄 M6 |
@@ -90,20 +90,20 @@ Specific deviations:
9090
| `command` ||| ✅ — JSON-on-stdin contract, JSON-on-stdout decoded |
9191
| `http` ||| ✅ — fetch POST, response.text → stdout; `allowedHttpHookUrls` enforced |
9292
| `prompt` ||| ✅ — synthesizes additionalContext (no exec) |
93-
| `mcp_tool` || 🔄 stub | M5+ |
94-
| `agent` || 🔄 stub | M4+ |
93+
| `mcp_tool` || | ✅ — agent loop resolves `mcp__<server>__<tool>` from the live registry |
94+
| `agent` || | ✅ — runs a named sub-agent (re-entrancy-guarded) |
9595
| `if` field ||| ✅ permission-rule syntax filter |
9696

9797
## Modes
9898

99-
| Mode | Claude Code | DeepCode | Status |
100-
| --------------------- | ----------- | -------- | --------------------------------------- |
101-
| default ||||
102-
| acceptEdits ||||
103-
| plan ||||
104-
| auto (LLM classifier) || 🔄 | falls back to default behavior; M3c-ext |
105-
| dontAsk ||||
106-
| bypassPermissions ||| ✅ sandbox still enforces |
99+
| Mode | Claude Code | DeepCode | Status |
100+
| --------------------- | ----------- | -------- | ---------------------------------------------------- |
101+
| default ||| |
102+
| acceptEdits ||| |
103+
| plan ||| |
104+
| auto (LLM classifier) || | ✅ — `classifyAutoMode` wired in the tool dispatcher |
105+
| dontAsk ||| |
106+
| bypassPermissions ||| ✅ sandbox still enforces |
107107

108108
## Memory system
109109

@@ -118,14 +118,16 @@ Specific deviations:
118118
## MCP
119119

120120
- ✅ stdio transport
121+
- ✅ http (Streamable HTTP) / sse transports
121122
- ✅ list_tools + call_tool with `mcp__<server>__<tool>` qualification
122123
-`/mcp` slash + auto-connect from settings + per-server enabled/disabled
123-
- 🔄 http / sse transports (M3c-ext)
124-
- 🔄 OAuth (M3c-ext)
125-
- 🔄 headersHelper (M3c-ext)
126-
- 🔄 Elicitation hooks (M5+)
127-
- 🔄 `deepcode mcp serve` (reverse exposure) — M5+
128-
- 🔄 MCP resources via `@server:proto://path` (M3c-ext)
124+
-`alwaysLoad: false` opt-out defers a server's tools behind ToolSearch
125+
- ✅ static `headers` + dynamic `headersHelper` auth
126+
- ✅ Elicitation (form mode) — server-initiated structured input → host prompt
127+
-`deepcode mcp serve` — expose DeepCode's stateless tools as an MCP server (stdio)
128+
- ✅ MCP resources — listed on connect; `@server:scheme://path` refs expanded in prompts
129+
- ✅ MCP prompts as slash commands — `/mcp__<server>__<prompt> [args]`
130+
- 🔄 OAuth (authorization-code browser flow) — static bearer / `headersHelper` cover token auth today
129131

130132
## Tools
131133

0 commit comments

Comments
 (0)