You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
A choice verdict for picking one of the options a question offers, with the body starting CHOICE <option>. Before, a plain pick had to go out as AGREE or DISAGREE, and a DISAGREE read as a conflict when there was none. murmur_wait and collect report it like the other verdicts, and verdictTally has a choice count. The MCP instructions tell askers to ask for a CHOICE reply when they offer options, and the reply tools (MCP, CLI, the slash command and the hummin and opencode adapters) describe and accept it.
Changed
The MCP server reconnects when its broker connection drops, instead of exiting. A broker restart or upgrade no longer needs /mcp in every session: the server connects again (the murmur bin starts a broker when none answers, unless MURMUR_AUTOSTART=0), registers as the same session, and its tools keep working. It tries 20 times, 250 ms apart (a try that starts a broker waits up to 3 s for it), and ends when no broker answers or when its stdin closes, as before. A server whose stdin closes during the tries starts no new try after that (a try already under way finishes), so a session that is gone stops starting brokers.
Fixed
A murmur command that a CLI sandbox blocks from the broker socket no longer says "murmur broker is down; start it with: murmur serve", and no longer starts a broker. Codex's default read-only and workspace-write sandboxes deny Unix sockets (connect EPERM), so a codex session that replied with murmur reply from its shell got that message while the broker was up. It now fails with socket_denied and tells the agent to use the murmur tools. Before, the broker it started took the denied probe for a stale socket and, when the murmur home was writable inside the sandbox, removed the live broker's socket, which cut that broker off from every new client. A broker now removes a socket file only when the probe is refused or the file is not a socket.