Repository navigation
Releases: CodeForBreakfast/beady-eye
Release list
v0.38.1
bdi 0.38.1
Patch release, 0.38.0 → 0.38.1.
Highlights
bdi watch says when a project whose event stream is down has gone stale. Its freshness line now carries lapsed, sent the moment covered_for_seconds passes with nothing vouching for the project, and sent again as false once the stream comes back. Before, the watcher's consumers just stopped hearing about that project.
bdi gates reports failing and passing checks on more fine-grained tokens. A token refused each check run on its own, rather than all of them at once, now falls back to the commit's workflow runs and statuses as well.
Maintenance
Tests for a pull request that merged while bdi gates was stopped, and for one unreadable tracker among several.
v0.38.0
bdi 0.38.0
Minor release, 0.37.0 → 0.38.0.
Highlights
bdi watch hears a write to a tracker within seconds, with nothing else running. Give a project's entry serve = "127.0.0.1:8742", the address its bd serve listens on, and the watcher follows that tracker's event stream. A write from any bd client then reaches every watching agent and script within seconds. A project without serve is polled as before.
A deferred bead is sent again when its date arrives. Each bead line from the watcher now carries defer_until_reached, which turns true once the bead's defer_until has passed, so whatever waits on a deferred bead hears when it comes due.
bdi gates tells failing and passing checks with a fine-grained token. Where GitHub refuses the token a commit's check runs, as it does on a private repository, bdi gates reads the commit's workflow runs and statuses instead. Give the token Actions read access for this.
bdi exits cleanly when its terminal or its reader goes away. Closing the pane under a running bdi no longer makes it abort, and bdi --beads piped into a command that stops reading early now just stops.
Upgrading
The event stream needs bd's events journal turned on where bd serve runs. Nothing polls a project while its stream is down, so it shows as stale once covered_for_seconds passes.
Maintenance
A fix to how the watcher reports a tracker outage, faster and leaner tests, documentation, and dependency bumps.
v0.37.1-rc.1
Release candidate for bdi 0.37.1, built from cb527eb on main.
bdi 0.37.1
Patch release, 0.37.0 → 0.37.1.
plugin-v0.4.1
beady-eye plugin 0.4.1
Patch release, 0.4.0 → 0.4.1.
Highlights
A session hears when it hands back a bead it was working on. When a session stops naming itself on a bead and the bead goes back from in progress to open, the session is now told of that change before the watch ends. Before, the watch could end first and the change never arrived.
A session hears about a tracker that cannot be reached when it first watches a bead there. If the tracker was already unreachable when the watch began, the session could go without the message saying so. It now gets that message.
Upgrading
Pin the marketplace to plugin-v0.4.1 as the README shows, and update the plugin. bdi and the plugin can be updated in either order.
Maintenance
Tests.
plugin-v0.4.1-rc.1
Release candidate for the beady-eye plugin 0.4.1, built from 8b15da4 on main.
beady-eye plugin 0.4.1
Patch release, 0.4.0 → 0.4.1.
plugin-v0.4.0
beady-eye plugin 0.4.0
Minor release, 0.3.0 → 0.4.0.
Highlights
A session hears about the beads it is working on without watching them. When a bead's agent_session metadata names a session, that session is told of each change to the bead as if it had watched it. It is also told about each pull request gate on that bead and the beads the gate holds back, so a pull request's reviews, checks and merge reach it. If your bdi config sets agent_session_key under [join], the plugin reads that key instead.
Those watches end on their own. A bead stops being watched once it no longer names the session, or once it closes and the session has been told. unwatch leaves such a bead watched while the session still holds it. A bead the session also watched itself stays watched until the session unwatches it.
Agents find the plugin's skill when they mean to subscribe. The using-beady-eye skill's description now says it is for subscribing to a bead's changes instead of sleeping and reading the bead again.
Upgrading
Pin the marketplace to plugin-v0.4.0 as the README shows, and update the plugin. bdi and the plugin can be updated in either order.
Maintenance
Docs and tests.
v0.37.0
bdi 0.37.0
Minor release, 0.36.0 → 0.37.0.
Highlights
A bead other agents are watching is marked. When an agent watches a bead with the Claude Code plugin's watch tool, the bead's row ends in ◉. The bead window lists each watching agent by the name herdr shows for it, and counts any herdr cannot find in a pane. The agent working the bead is not listed as watching it.
A bead stays with its agent when the agent moves to another pane. Write the agent's Claude session id onto the bead as agent_session, beside agent_pane, and bdi shows the bead against whichever pane herdr finds that agent in. A pane reused by a new agent no longer takes on the bead of the agent that left it. A bead with only agent_pane is shown as before.
bdi reports one agent claimed twice. Two beads naming the same agent's session, or one session found in two live panes, now show as a conflict, and neither bead is given the agent.
Upgrading
The watch mark needs a Claude Code plugin newer than 0.2.4. Older plugins do not say which agent is watching, so no bead is marked. Where no watcher answers for a bead's project, the bead window says who watches it is unknown.
join.agent_session_key names the metadata key that holds the agent's session. It defaults to agent_session. Set it only if your beads keep the session under another key.
--json output names an agent's session. Each agent carries its agent_session, its source can now be agent_session, and conflicts gains the kinds several-beads-name-one-agent-session and agent-session-in-several-panes.
Maintenance
Dependency bumps and CI changes.
plugin-v0.3.0
beady-eye plugin 0.3.0
Minor release, 0.2.4 → 0.3.0.
Highlights
bdi can show which agents are watching a bead. Each watch now tells the watcher which Claude Code session it comes from. From bdi 0.37.0, a watched bead's row ends in ◉, and its bead window names each agent watching it. Against an older bdi, watches work as before, and no bead is marked.
Watches survive /clear. When /clear or /resume starts a new session in the same terminal, the plugin moves its watches to the new session, and changes keep arriving. The move happens at the session's next watch, unwatch or watching call.
A session hears when the watcher stops watching a bead. If the watcher drops a watch it had accepted, for instance because the bead's project left the bdi config, the session is told once, in a block marked watch="refused" that gives the reason.
A bead gone from its tracker reads differently. It now arrives marked gone="true", with no status, so it cannot be mistaken for a bead whose own status is called gone.
Clearer refusals. A watch refused because a project is unreachable names that project and the reason. A bdi config that cannot be read, or that sets an empty watcher socket, is reported as a broken config naming the file, not as a watcher that is down.
Fixes. A session that missed the message that the watcher was down is no longer told it is back. A watcher sending a status that is not a bead status now counts as down. A project name or bead id holding a character the watcher reads as a space is refused when you watch it.
Updating. Pin the marketplace to plugin-v0.3.0 as the README shows, and update the plugin. bdi and the plugin can be updated in either order.
Maintenance
Dependency bumps and tests.
plugin-v0.3.0-rc.1
Release candidate for the beady-eye plugin 0.3.0, built from 465bfb6 on main.
beady-eye plugin 0.3.0
Minor release, 0.2.4 → 0.3.0.
Highlights
bdi can show which agents are watching a bead. Each watch now tells the watcher which Claude Code session it comes from. From bdi 0.37.0, a watched bead's row ends in ◉, and its bead window names each agent watching it. Against an older bdi, watches work as before, and no bead is marked.
Watches survive /clear. When /clear or /resume starts a new session in the same terminal, the plugin moves its watches to the new session, and changes keep arriving. The move happens at the session's next watch, unwatch or watching call.
A session hears when the watcher stops watching a bead. If the watcher drops a watch it had accepted, for instance because the bead's project left the bdi config, the session is told once, in a block marked watch="refused" that gives the reason.
A bead gone from its tracker reads differently. It now arrives marked gone="true", with no status, so it cannot be mistaken for a bead whose own status is called gone.
Clearer refusals. A watch refused because a project is unreachable names that project and the reason. A bdi config that cannot be read, or that sets an empty watcher socket, is reported as a broken config naming the file, not as a watcher that is down.
Fixes. A session that missed the message that the watcher was down is no longer told it is back. A watcher sending a status that is not a bead status now counts as down. A project name or bead id holding a character the watcher reads as a space is refused when you watch it.
Updating. Pin the marketplace to plugin-v0.3.0 as the README shows, and update the plugin. bdi and the plugin can be updated in either order.
Maintenance
Dependency bumps and tests.
plugin-v0.2.5-rc.1
Release candidate for the beady-eye plugin 0.2.5, built from 3b4c572 on main.
beady-eye plugin 0.2.5
Patch release, 0.2.4 → 0.2.5.