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

This release is focused entirely on the Recap panel: filters now appear above the history list with live counts and lens-based views, unread items lead each segment in bold, collapsed rows remember their constituent verbs, archived cards stay off the canvas, and the agent enriches people pages with facts. Visual polish brings the recap header and lens rows into alignment with the sidebar rhythm.

New

  • Recap panel gets filter lenses with live counts and improved layoutFilter lenses now appear above the history list and show item counts per lens. Weekly lenses share a common summary cutoff, and the unread segment leads each group in bold so the most important activity is always visible first. bc94fea 62da0fb b73cda2 0449852 3754694
  • Recap gains live refresh, unread filter, and freshness trackingThe recap panel now refreshes live and surfaces an unread filter so you can quickly focus on activity you haven't seen yet. Freshness metadata is tracked to keep the view accurate. 0445669 154216b
  • Agent enriches people pages with factsThe account agent now populates people pages with structured facts, giving each person's page richer context automatically. 0445669 154216b

Improved

  • Recap panel visual polish matches the sidebar rhythmThe recap header lockup and lens rows are now aligned with the sidebar's visual rhythm, giving the panel a more consistent look across the app. c165749 62da0fb

Fixed

  • Collapsed recap rows remember their constituent verbsWhen recap rows are collapsed, the underlying action verbs are now preserved so expanding them restores the full detail without data loss. 55b1380
  • Archived cards no longer appear on the canvasCards that have been archived are now kept off the canvas entirely, so the board only shows active content. 154216b