Goodboy 0.22.0

Plans are approved in a drawer where you read them, sessions can be pinned, checks say what they know, and the Branch page and the Board sit in the middle.

New

Approve a plan where you read it

Review plan on a run opens the planner's plan in a drawer over the run page. Select text or click a block to comment, send the comments to the planner for a new version, or press Edit and change the plan by hand. Approve is the one filled button, and a question the planner asked comes first.

Approving moves the run on at once. One toast, Plan approved, offers Follow the run when you are on another page. The palette, search and chat open the same drawer.

Pin sessions to the top

Pin session, in a row's right-click menu or the command palette, moves a session to a Pinned group above the rest, in the order you pinned them, whatever the sort, grouping or project filter. Unpin session puts it back. A pinned session you archive returns to Pinned when you restore it.

Checks say what they know

The Checks tab reads checks, reviewers and review requests apart, so a check Goodboy can't read no longer hides who approved. It opens with one line of counts, then groups the runs as Failing, Running, Passed and Skipped.

When the GitHub access Goodboy uses can't read checks, the tab names the repository and the fix for that access, and Merge says Checks unknown instead of ready.

Improved

Branch pages sit in the middle

Every tab of the Branch page sits on one centred column, the header and Ask included, so nothing moves when you switch tabs. The file tree has a rail of its own at the left edge that never moves the page.

A branch chip in the header switches branches or starts a new one, and the pull request description opens when the pull request has one.

Done and Archived always on the Board

The Board shows six lanes at all times, in the order of the work: building, running, needs you, in review, done and archived. Done and archived used to fold into two icons at the edge. Now they are lanes with every card, and an empty lane says so in one line, such as Nothing done yet.

The lanes sit in one centred frame with the title and the buttons.

Session marks say what waits

A session's mark in the sidebar is red only when something broke, amber when you must answer, approve or act, and green when its pull request is ready to merge. A done session is a filled violet disc with a check.

The open session sits in one card with its pages, and the row, the hover card and the Board card give the same reason in the same words.

The run page reads top to bottom

The run page puts the composer at the bottom, draws a line under the header once the steps scroll, indents sub-agents under their agent and folds a finished set into one row. Pause and Stop run are one pair in the header, and Review plan is one click away while the run waits for its plan.

Settings in one column

Settings uses the left column for its pages, with Back to app and Search settings above them, whether the sidebar is open or folded to the rail. The page fills one sheet with no band above it, each page is one line, and a dot marks a page that needs you.

Empty pages explain themselves

Lists and pages share four looks: first time, nothing matches, can't load and not connected. Each says what belongs there or why it is empty, with one action such as Start a run, Clear filter, Retry or Connect a tool, and a permission problem names the fix.

Notices and the Needs you card keep their tone as one line inside the card.

Fixed

  • On a small window the drawer covers the page from top to bottom, with a scrim behind it.
  • Ask shows its shortcut ⌘L the way search shows ⌘K.
  • A run in Activity highlights when you point at it again, and every row shows a focus ring.
  • Classic bars is now called Legacy layout, and it may be removed in a future version.
  • The first comment in the Fix run drawer is no longer cut short.
  • Switching the theme no longer flickers.
  • The Done mark is a filled violet check, so a finished session reads as complete.
  • A closed or merged pull request no longer shows as Draft, even when it was a draft.
  • A session whose pull request waits in the merge queue shows In merge queue with its own mark, and stays out of Needs you.
  • When Merge is blocked, the Branch header says why beside it, such as 1 check still running.
  • Several comments go into one Fix run, and its drawer shows the status, the comments it covers and its commits.
  • You can pick a branch a teammate pushed and keep working on it, and a worktree left stranded is repaired.
  • The diff tree opens on the branch's changes and shows one empty state when there are none.
  • Accepting a fix whose draft went stale retries once and never shows a raw error.
  • Models you hide are never picked by Auto.
  • A branch runs one fix at a time. Comments sent meanwhile wait as Queued, after the current fix, and each fix stacks on the one before.