The release where the loop closes itself: non-blocking reviews now come back to the agent on their own.
The verdict nudge (#28)
show_changes had a dead end. The agent opened the pane and went idle; you reviewed and finished; nothing told the agent your feedback was waiting. MCP has no way for a server to wake an idle agent — but herdr does. The server knows which pane the agent lives in, so when your verdict lands with no collect_review call waiting on it, it types one line into the agent's own chat and submits it:
[herdr-annotator] The reviewer finished: request_changes with 3 annotations. Call collect_review to fetch the feedback and act on it.
The agent wakes, collects, and acts — a full guided-review round trip with nobody dispatching it. The nudge carries only the verdict name and annotation count; the feedback itself stays behind collect_review, consumed exactly once through the normal tool path. It is suppressed while a collect_review call is already polling, never fires for blocking review_changes, and works for any agent CLI in a herdr pane — nothing about it is Claude Code-specific. A pane closed without a verdict nudges too (neutrally — a deliberate stop isn't talked past), so the agent always learns the review is over.
Turn it off with notify_on_verdict = false (configuration); the full behavior is documented in MCP tools. Review hardening along the way: a lost-wakeup race (verdict landing in the exact window where a pending collect_review had silenced the nudge but no longer saw the mailbox) was found in review and fixed with a regression test pinning the window.
A face for the repo (#29)
The README now opens like a proper front door: an SVG banner (with a mini review pane showing an inline annotation, naturally) over live CI, release, herdr-requirement, and license badges.
Compatibility
Wire protocol unchanged (v2) — panes and servers from 0.6.0 onward interoperate. The nudge is entirely server-side; reconnect your agent's MCP server (/mcp in Claude Code) after updating so the new server binary is the one running. New config key notify_on_verdict defaults to on.
152 tests. Full changelog: v0.8.1...v0.9.0