Repository navigation
v1.1.0
Minor Changes
-
8c0297e: catherd 1.1: results come to you, the protocol is enforced, and workers run their own checks. Upgrade with 1.1's own init (
bun add -g catherd-cli@latest && catherd init, orbunx catherd-cli@latest init), then update the plugin and start a new Claude Code session (see MIGRATION.md, "From 1.0 to 1.1").- Push, not
wait. A finished role reaches the Claude Code session that drove it as a message on its peer inbox (<cross-session-message from-name="catherd">), like a native subagent's notice, so the session stays free while roles run; a stalled worker is reported once the same way.waitandCATHERD_TICK_MSare removed;peekshows a run at once (open questions, live roles with their last event, unread records, the verifier's latest step, the next protocol step) andresultreads a record and marks it read. A lost message loses nothing: records stay unread on disk untilresult.doctorhas apushrow (and says on Linux whether to setcrossSessionInbound;initnever changes it). - Sessions. Runs remember the Claude Code session that started and continued them, and only the session that owns a run (the last to
dispatchorpeekon it) is messaged about it; only that session's catherd server fails the run's roles over when they hit a usage limit. The Runs tab lists sessions, newest first ("earlier runs" for 1.0's), opens one on its runs, milestones and roles, redrawing as run files change, and opens a milestone on its digest;runs listandstatusgroup by session and their--jsongainssession. - Workers can run their checks.
workspace-writeroles get the network, loopback, the lock and temp dirs and a local Docker socket (Codex throughnetwork_accessandwritable_roots, alongside your own);catherd profile set roles.<role>.network falsecloses the network for a role andnullclears it.doctorprobes each of the five per backend (access:<backend>, with the fix for each that fails), and its Codex sandbox probe uses the currentcodex sandboxform. - An enforced protocol.
dispatchrefuses unknownKind:/Difficulty:values (E_LANE_INVALID), routes an unrouted lane and appends the reply contract to every brief;landneeds a reviewer record and a verifier verdict (E_LAND_GATE, withskip: "docs-only" | "no-code") and writes the milestone's digest,<run>/digests/<milestone>.md, returning it asdigest(the orchestrator's milestone message links it);climbsends plan and ownership problems to the architect (E_CLIMB_DESIGN);run_startreturns the next protocol step and the milestone checklist, andstate.mdends withProtocol next:. - A faster verifier. A per-repo gate ledger (
gate_check,gate_pass) carries over unchanged gate items; the verifier runs independent items side by side, andpeekandstatusshow its latest step. - Owner questions park one milestone (
park,answer), not the run; the other milestones go on. - Processes catherd starts no longer see the session. Workers, the supervisor and a command under
catherd lock -- <cmd>no longer getCLAUDE_CODE_SESSION_ID,CLAUDE_CODE_HOST_SESSION_ID,CLAUDE_CODE_MESSAGING_SOCKETorCLAUDE_CODE_MESSAGING_TOKEN; a script that read the session id must take it as an argument. - Failover and validation. The default failover uses only stand-ins that clear the same bars as their rung (Luna high to OpenCode Go's Luna, Sol medium to Kimi K3; Sol high and xhigh have none, so a limit there pauses the lane). A profile written by 1.0 keeps its own map:
validatewarns on a downgrading stand-in (its fix removes the entry), on a Claude stand-in while another plan could stand in, and on a ladder that goes down; warnings never block a save.profile showand the dashboard say "scores borrowed from X" for a stand-in with no scores of its own. - Install and launch. The marketplace fetches the plugin over HTTPS (no GitHub SSH key needed); the plugin starts its server through a stamped launcher that runs the global
catherdat the plugin's version, elsebunx catherd-cli@<version>with its cache in~/.cache/catherd/bunxinstead of$TMPDIR;initinstalls the global command at its own version (--no-globalskips it);doctor'smcprow starts the server as the plugin does and names the reinstall command; the shipped defaults' access rows are info, not warnings. - 25 MCP tools:
waitremoved;peek,gate_check,gate_pass,parkandansweradded.
- Push, not