Bridge between Claude Code and Codex for second-opinion and brainstorming workflows
Hivemind exposes 4 tools for inter-agent communication. All tools have descriptions and basic input schemas, but schemas lack parameter type definitions and descriptions. Tool names are action-oriented (ask_, wait_for_, get_) but descriptions are terse (avg 95 chars, below 194-char baseline). No output schemas documented. Parameters like 'text' and 'timeout_ms' lack descriptions in the schema itself. Error handling is minimal, no recovery guidance or categorization. The tools are READ_ONLY (low risk) but lack the structure expected of production tools.
Send a message to Codex. If wait_ms > 0, blocks until Codex's turn completes (or the timeout) and returns the reply. Otherwise returns immediately and the reply will arrive via wait_for_codex / get_messages.
Non-blocking drain of buffered Codex messages. Use after a fire-and-forget ask_codex if you don't want to block.
List peers visible to Hivemind. Reports threadId, online status, and any warnings (e.g. unsupported_session_picker meaning the user must relaunch with `hm codex`).
Block until Codex sends a message (or timeout). Returns any buffered messages immediately if available.
Input schemas lack parameter type definitions and descriptions. E.g., 'text' and 'wait_ms' in ask_codex have no type or description in the schema object, only in the tool description text.
No output schemas documented. LLMs cannot infer what fields to expect from tool responses (e.g., what does wait_for_codex return? What fields are in a HivemindMessage?).
Tool descriptions are terse (avg 95 chars vs 194-char baseline). 'peers' description (45 chars) lacks context on when to call it or what it reveals. Missing WHEN/WHY guidance.
No error handling or recovery guidance. If ask_codex times out or Codex is offline, the tool returns nothing, no actionable error message or retry hint.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | <=2025-11-25 | v2 |
Parameter 'timeout_ms' in wait_for_codex has no min/max bounds documented. Unbounded numeric parameters invite absurd values (e.g., -1, 999999999).