Changelog

Fresh off the board.

This release improves the board's responsiveness and visual polish across several areas: cards now auto-arrange with animation, the command palette surfaces recently used actions, notification rows clear as soon as you read them, fonts no longer flash on load, card details open at a smarter size with a refined chip rail, and agent job state is more stable across card interactions.

New

  • Board cards auto-arrange responsively and animate into placeThe board now lays out cards to fit the current viewport automatically, and reorganizing the board animates each card to its new position. Dragging is suppressed while the animation is in progress so cards cannot be grabbed mid-flight. 1b74753 67a24a8
  • Command palette remembers your recently used actionsThe palette now shows a "Recent actions" section at the top when you reopen it, listing the last few actions you ran. Board navigation entries keep their destination href so replaying them works correctly. 748c15c

Improved

  • Card details open at a smarter height and no longer waste horizontal spaceCards now rest at their default size and expand one step taller when their own content does not fit, then scroll past that — rather than jumping to a wide 75 % viewport face that left the description stranded beside empty space. The F focus-expand toggle and its binding are removed along with the wide layout. 68d8f93
  • Card detail rail chips show compact counts and stay on one lineChips for tasks and files now display compact counts (e.g. 1/2 for tasks, 1 for files) instead of plain labels when content is present. The rail is horizontally scrollable and stays on a single line; on phones a tall card fills the full viewport height. b69a6c8 6d8915f

Fixed

  • Notification rows disappear as soon as you read the threadPreviously a comment notification could require two visits to clear: the row stayed visible until a full page navigation fetched a fresh digest. Three gaps are now closed — POST /notes/:id/comments/seen triggers an attention refresh, the panel refetches its digest each time it opens, and comment rows now link directly to the thread (#comments) so the click that means "read this" is the one that clears it. 7112c21 8195def
  • Board fonts load without a flash-of-fallback on every visitTwo causes of the font swap on every page load are fixed. Font files under /www/fonts/* now receive an unconditional immutable cache rule so the browser does not re-download them on each visit. The two faces painted at first render are also preloaded in the HTML <head> so they start downloading with the document rather than waiting for the stylesheet to be parsed. f2fc3bc 8195def
  • Agent job state no longer clears when unrelated cards are updatedCompleting a card or commenting on one and closing it previously wiped finished job records for other cards. The hook now checks whether a card's assignment actually changed before removing its job entry, so jobs on unrelated cards are preserved. Removing an agent also correctly clears only that agent's stale state. 9cc4b3a d8da7a2
  • Agents can submit complete_card evidence for a card version they already completedThe versionAdvanceIsValid check is now exported and used in the schema validation path, and it allows a repeated complete_card action at the same card version — matching the existing alreadyCompleted branch in perform(). Other action kinds such as post_comment still require a strict version advance. 113c573