Skip to content

v7.0.0

Choose a tag to compare

@alimanfoo alimanfoo released this 22 Oct 15:15
· 643 commits to main since this release
Immutable release. Only release title and notes can be modified.
fd6df5f

Breaking

  • Saved state moves to state format 7, in .dreamcatcher/v7/. Saved
    work from v6 does not carry across: before upgrading, let each
    assignment reach its wrap-up or finish its pull request by hand, and
    accept that conversations start afresh, as
    the upgrade instructions
    describe. (#662)

Added

  • Campaigns, a third kind of agent work. A [[campaign]] route in
    dreamcatcher.toml names a label and the lead's recipes. Labelling a
    parent issue assigned to you starts a campaign: the lead takes a round
    in a worktree checked out at main, posts on GitHub itself, and keeps
    its final output in the feed. Each comment you post on the parent then
    wakes the lead in the same harness session, on main refreshed, and
    comments posted while the campaign is paused reach it when it resumes.
    Closing the parent ends the campaign. The lead's input also holds the
    parent's sub-issues and where each one's assignment stands, and a
    sub-issue that needs the lead's attention wakes it too. The lead
    leaves the agent marker off its feedback on a sub-issue's pull
    request, so the assignment's agent is given that feedback as it is
    given yours. Start a campaign explains how, and
    the campaign skill contract
    says what the lead is given.
    (#662,
    #667,
    #671,
    #672,
    #674)
  • The web home page has a Campaigns tab, where each active campaign
    counts its closed sub-issues and expands to show each one's assignment
    card, request or issue, and the terminal has a dreamcatcher campaign
    view. stop and feed take --campaign, and retry also clears the
    fault of the newest campaign at the issue.
    (#662,
    #671,
    #673)
  • The dreamcatcher.toml that dreamcatcher init writes routes the
    dream:lead label to campaigns, and init creates that label. The
    route's recipes run the dream plugin's dream:lead skill, which
    carries a parent issue's sub-issues through their assignments to
    merge. Start a campaign explains what it does.
    (#677)
  • Campaigns can be queued: a campaign shows as blocked while an open
    issue blocks its parent on GitHub, and starts once every blocker is
    closed. Start a campaign
    explains how.
    (#682)
  • A second tutorial,
    From parent issue to merged stages, takes a
    parent issue with two dependent sub-issues through dream:lead to
    merge. (#680)

Fixed

  • Starting dreamcatcher for the first time in a repository no longer
    fails on Python 3.13 before any agent work exists.
    (#664)
  • Stop and recover work now says that work
    resumed after an errored or interrupted round also takes up what
    arrived meanwhile.
    (#680)
  • The animated status view on the documentation home page now shows the
    statuses, round details and dispatch labels that the web home page
    shows, rather than a "needs user feedback" status that the web page no
    longer has.
    (#647)
  • A request blocked by an issue in another repository now names that
    issue with its repository, as owner/name#123, on the web home page
    and in dreamcatcher status, and the web page links to it there. It
    had been shown and linked as an issue in this repository. The web home
    page also no longer puts a space before each comma between the issues
    a request names.
    (#676)

What's Changed

Full Changelog: v6.3.0...v7.0.0