63cda5557e
Verified against a live herdr instance (192.168.1.105:9245) that pane.kill,
pane.release, and pane.rotation_signal never existed in the protocol, as
AUDIT.md's B5 suspected. Real method list captured in deploy/herdr-schema.json.
- Kill now calls the real pane.close({pane_id}).
- RotationSignal interface/method/call-site deleted; no real equivalent exists.
- Release now refuses loudly instead of calling a nonexistent method — the
real pane.release_agent can't return a handoff_ref either way (herdr
doesn't write handoffs, the agent does), so a real fix needs Phase 4
handoff production first.
Also documents Phase 0 findings in AUDIT.md/progress.md, and adds
CLAUDE.md/AGENTS.md with project-specific knowledge (herdr protocol facts,
deployment topology, a currently-stuck live task, the federation fork) for
future sessions.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W1rkJ2hBMybnJctPbcy4tT
34 lines
2.7 KiB
JSON
34 lines
2.7 KiB
JSON
{
|
|
"_source": "captured live from herdr instance at 192.168.1.105:9245 (workpc), 2026-07-27, via raw ping/schema-discovery probes over the JSON-RPC-over-TCP protocol — see AUDIT.md Phase 0",
|
|
"ping_result": {"type": "pong", "version": "0.7.5", "protocol": 17, "capabilities": {"live_handoff": true, "detached_server_daemon": true}},
|
|
"methods": [
|
|
"ping", "server.stop", "server.live_handoff", "server.reload_config", "server.agent_manifests", "server.reload_agent_manifests",
|
|
"notification.show", "client.window_title.set", "client.window_title.clear",
|
|
"session.snapshot",
|
|
"workspace.create", "workspace.list", "workspace.get", "workspace.focus", "workspace.rename", "workspace.move", "workspace.report_metadata", "workspace.close",
|
|
"worktree.list", "worktree.create", "worktree.open", "worktree.remove",
|
|
"tab.create", "tab.list", "tab.get", "tab.focus", "tab.rename", "tab.move", "tab.close",
|
|
"agent.list", "agent.get", "agent.read", "agent.explain", "agent.send_keys", "agent.rename", "agent.view.set", "agent.view.clear", "agent.focus", "agent.start", "agent.prompt", "agent.wait",
|
|
"pane.split", "pane.swap", "pane.move", "pane.zoom", "pane.layout", "pane.process_info",
|
|
"layout.export", "layout.apply", "layout.set_split_ratio",
|
|
"pane.neighbor", "pane.edges", "pane.focus_direction", "pane.resize", "pane.list", "pane.current", "pane.get", "pane.focus", "pane.rename",
|
|
"pane.send_text", "pane.send_keys", "pane.send_input", "pane.read",
|
|
"pane.graphics.set", "pane.graphics.clear", "pane.graphics.info", "pane.graphics.stream",
|
|
"pane.report_agent", "pane.report_agent_session", "pane.report_metadata", "pane.clear_agent_authority", "pane.release_agent", "pane.close",
|
|
"popup.close",
|
|
"events.subscribe", "events.wait", "pane.wait_for_output",
|
|
"integration.install", "integration.uninstall",
|
|
"plugin.link", "plugin.list", "plugin.unlink", "plugin.enable", "plugin.disable", "plugin.action.list", "plugin.action.invoke", "plugin.log.list", "plugin.pane.open", "plugin.pane.focus", "plugin.pane.close"
|
|
],
|
|
"confirmed_invented_methods_not_in_schema": ["pane.release", "pane.kill", "pane.rotation_signal", "pane.status"],
|
|
"confirmed_real_replacements": {
|
|
"pane.kill": "pane.close (params: {pane_id})",
|
|
"pane.release": "pane.release_agent (params: {pane_id, source, agent} — does NOT return handoff_ref; matches agent_session shape from agent.list: {source, agent, kind, value})",
|
|
"pane.rotation_signal": "no equivalent exists; herdr has no concept of Orchestra rotation"
|
|
},
|
|
"params_confirmed_by_probing": {
|
|
"pane.close": {"pane_id": "string"},
|
|
"pane.release_agent": {"pane_id": "string", "source": "string (e.g. \"herdr:opencode\")", "agent": "string (e.g. \"opencode\")"}
|
|
}
|
|
}
|