Repository navigation
v6.0.0
·
1182 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Breaking
- dreamcatcher moves to state format 6. It keeps its local state in
.dreamcatcher/v6/and starts with none, so the assignments and conversations
that v5 saved are not carried on. Stop a v5 daemon before you start v6.
Compatibility and upgrades says
what to settle first.
(#561)
Added
- Once an assignment's pull request is ready for review, dreamcatcher wakes
the agent without a post from you when the base branch leaves the pull request
behind it or in conflict with it, and when a check fails. Each is relayed once
for each commit at the head of the pull request, and a draft gets neither.
After two rounds in a row woken by failing checks, a failing check does not
wake the agent again until a round has something else to relay, such as a post
from you. (#571) - The views show an assignment's merge state and check result beside draft or
ready, and an idle assignment says when its checks are running or still
failing after two attempts.
(#571) - A Claude assignment round may run
gh pr checksandgh run viewwithout
being asked, so that it can read why a check failed.
(#571) - An assignment round's input file gains two keys:
pull_request_head, the pull
request's head commit when the round started, andsignals, which lists
out_of_dateorcheck_failurewhen either woke the round. The agent
contract stays at version 1, and an assignment skill may ignore both, since
the prompt carries the instructions.
(#571) - A conversation ends when its issue is closed, and the web home page lists it
with your other ended work.
(#568)
Changed
- Assignments and conversations share one set of states: working, waiting, idle,
fault, unknown and ended. The states needs user feedback, complete and
cancelled are gone. An assignment that needs your feedback reads as idle, and
one that completed or that you cancelled reads as ended with that detail.
(#565) dreamcatcher statusand the web home page list each labelled issue that has
no work yet beside the work of its kind, and say why no work has started:
available, blocked by an issue, claimed by a pull request, waiting for a
comment, carrying conflicting labels, or unknown because a read failed. The
sections of available, blocked and routing-conflict issues are gone.
(#565)- A round that fails before its agent starts, such as an assignment's first
round when it cannot push the branch, is an errored round. It counts towards a
fault like any other, and the failed setups section is gone from the views.
(#562) - After a round errors or is interrupted, the next round is given the same input
again, with a line saying that the previous round did not finish. The feed and
the rounds table say what woke each round.
(#562) - A conversation belongs to the conversation label that started it. Removing
that label, unassigning the issue or adding a second conversation label pauses
it, and undoing the change resumes it in the same harness session. Another
conversation label starts a conversation of its own once it is the issue's
only conversation label.
(#568) - Every assignment and conversation has an identifier that ends in its kind,
such asGH12-20261017-093000-assignment, and an assignment's branch is named
after it, such asdreamcatcher-GH12-20261017-093000-assignment. The
conversationcommand, andfeedandstopwith--conversation, select
the newest conversation at the issue, andretryclears the faults of the
newest assignment and the newest conversation.
(#561) - The web page of an assignment or a conversation is at
/work/<identifier>.
The/assignments/<identifier>and/conversations/<issue>addresses are
gone. (#561) - An issue with an open assignment no longer has its blockers and linked pull
requests read at every update, so the daemon makes fewer GitHub reads.
(#568) - The web interface's matrix theme drops its boxes, as the nature theme did.
Panels become headings over a rule, assignments, issues and conversations are
rows divided by rules, and the feed and rounds line up with their headings.
The filled chip alone marks an assignment that needs your feedback, and the
current round's number shows in inverse video.
(#543)
Fixed
dreamcatcher statusand the web interface read the dispatch labels that the
running daemon loaded, where they readdreamcatcher.tomlbefore. They no
longer disagree with the daemon after you edit the file, and they still work
when it is missing or broken.
(#561)- Removing conversation label A from an issue and adding label B no longer
resumes A's conversation with A's settings. B starts a conversation of its
own, and A's stays paused.
(#568) - An assignment interrupted while it set up its branch, worktree or pull request
no longer leaves them behind with no record that names them. The assignment is
recorded first, and its next round finishes the setup.
(#562) - An assignment relays a post by the signed-in account however GitHub writes the
login's capitals, and no longer relays a post whose body is only whitespace,
as conversations already did.
(#573)
What's Changed
- Limit the CI token to reading the repository by @alimanfoo in #541
- Web status CSS classes depend on display wording by @alimanfoo in #544
- Streamline matrix theme by @alimanfoo in #543
- Specifications for the state format 6 phase by @alimanfoo in #552
- Stage 1: one kind of agent work on disk by @alimanfoo in #561
- Stage 2: everything is a round by @alimanfoo in #562
- Stage 3: rows as data by @alimanfoo in #565
- Stage 4: one tick by @alimanfoo in #568
- Stage 5: signals by @alimanfoo in #571
- Stage 6: consistency review and release by @alimanfoo in #573
Full Changelog: v5.6.2...v6.0.0