Idle agenda
Idle agenda¶
Synthetic CI render. Open the image for full-size text.
With an empty draft, the panel shows today's Pomodoro agenda below the editor, in
the same thin-material pane as the live preview. It lists the running Pomodoro (Now)
and every future one (Next, then Later), each with its linked tasks at the most
detail that fits below the fixed eye line without scrolling. Unnamed entries show
the derived homes.label from bob capture-pomodoros --tasks (secondary style)
instead of "Untitled Pomodoro"; named entries keep their authored name and, when
bob supplies a chip, a muted home chip with an area-hue dot. The one-row fold and
the Later strip use the same names. An older bob that omits homes is unchanged. Keep source links in
those task titles and details display as a lightbulb. The x and =
numbers match the ones bob will use: the current entry shows its x numbers and
every other open entry shows its = lineup number.
The row directly under Today shows the saved daily meters (Themes N/C and
Links N/C); their caps come from bob's plan config. An older bob that omits
plan_budget simply omits this row. A typed capture preview still shows the proposed
budget for that draft. Plan-config edits appear on the next ordinary agenda refresh,
including the next panel show.
- Freshness and caching.
bobowns every fact viabob capture-pomodoros --format json --tasks; the app caches the last good snapshot in memory and revalidates it on launch (prefetch after prewarm), on filtered vault events (visible.mdnotes, the Tasks-plugin filter, and the.bob/themes/journal — never.git/, attachments, or other settings churn), on every panel show (stale-while-revalidate, replacing the old per-show spawn), after each successful submit, after the app's own theme hide/unhide write, on wake, unlock, day change, and clock change, and fresh after Recheck Bob or abobexecutable or directory change. Named entries wear one theme pill per component from bob's entrythemesrefs (the one-row fold wears swatches); home dots are unchanged, and an older bob without entrythemesrenders the plain name. One refresh flies at a time with at most one follow-up; byte-identical output publishes nothing. A snapshot whose date is not today is never shown ("Loading today…" until the refresh lands); a failed refresh keeps the last good agenda and marks the title row "Couldn't refresh". An olderbobwithout--taskshides the agenda and serves only the close-comma count until Recheck Bob or an executable change. - Folding. Detail fades with distance: the farthest Pomodoros lose their logs first,
then collapse to one line per task, one row per Pomodoro, and finally into a Later
name strip. Every fold leaves a chip (
⚒ 3,🗓 2,🥀 1,+5 lines,4 tasks) that expands that unit in place; expansions reset on hide and on snapshot change, and pinned units may overflow with a scroll and anN morecue. - Transitions. No animation on show — cached content is in the first frame. The first
keystroke dims the agenda to 35% (100 ms, instant under Reduce Motion) and holds it
until the preview settles, another owner takes the region, 250 ms elapse, or the
draft returns to blank; the region then swaps with one height change. In-place
agenda updates cross-fade (120 ms, off under Reduce Motion); height is never
animated. Clearing to empty repaints the cached plan instantly and revalidates in
the background; an in-flight Preview, leftover preview card, error, or pending-list
notice is retired with the draft so none of them can keep the agenda hidden. The Now
countdown (
12m left,ending now,overdue 8m) ticks at minute granularity while the panel is visible. - Setting and diagnostics. Settings › Agenda toggles "Show today's Pomodoros when the
draft is empty" (on by default); while off, the store keeps refreshing for the
close-comma count but nothing is measured, planned, or shown. The same section
reports "Last refreshed 14:32", "Couldn't refresh: …", or the old-
bobupgrade hint. - Accessibility. Each Pomodoro group is one container ("Running Pomodoro FIX, 14:10 to 14:35, 2 tasks"); the countdown is the header's value, not its label. Task rows read "Task 1, In Progress, …" and chips announce what they expand. Return in an empty editor never acts on an agenda row, and keyboard focus never leaves the editor.
- Signposts. Intervals
agenda-refresh,agenda-measure,agenda-plan,refs-panel-show,refs-panel-prepare,refs-panel-order,refs-pull,refs-refresh, andrefs-scan, plus eventsagenda-unchanged,agenda-published, andagenda-hold-released— metadata only (Diagnostics).
The store behind the agenda runs on the shared Pomodoros lane; see Architecture. Signposts and Recent Activity are in Diagnostics.

