Story: Agile timeline: bucketed summaries of recent activity
Table of Contents
This page documents a story in Sprint 20. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
With several environments and LLM sessions working in parallel, it is hard to keep up with what happened and to catch problems as they arise. This story delivers a timeline: a compass timeline command that lists the documents changed in a period (e.g. "timeline now" → last 20 minutes); an LLM skill that buckets those changes and writes a snapshot per time window — "environment local1 worked on story X, tasks Y1, Y2; this is a new story not in the sprint; task Y1 had problem P0" — highlighting problems and suspicious LLM decisions; and a timeline view in the agile board showing event counts over time with click-through to each bucket's log.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 20 |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-06-10 |
Acceptance
compass timelinehas two behaviours: generate — list stories/tasks/captures changed within a given window (with a "now" convenience for the recent past), what changed, and links: the input for the LLM snapshot; and view — show the last N buckets sourced purely from the sprint's timeline/ folder.- Documents record which environment touched them, so snapshots can attribute work per environment.
- Snapshots are org files under the sprint's
timeline/folder, named<ISO-from>-<ISO-to>.org, bucketed (stories raised, tasks raised, worked on, problems, suspicious decisions) — tables over prose where possible, with id links to the documents. - The agile board has a timeline view: counts of events per time bucket as a clickable chart; clicking a bucket shows its snapshot; defaults to the latest bucket.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Scaffold story | DONE | 2026-06-07 | 2026-06-07 | Create story, tasks, sprint wiring, scaffold PR. |
| Analyse temporal commands end-to-end for conceptual coherence | DONE | 2026-06-07 | 2026-06-07 | Coherent model for fleet/journal/timeline; analysis doc gates implementation. |
| Add compass timeline command | DONE | 2026-06-07 | 2026-06-07 | Generate LLM inputs (changed docs per window); view last N buckets. |
| Stamp the working environment on documents | DONE | 2026-06-10 | 2026-06-10 | #+environment: from the .env label via compass task start/done. |
| Add LLM snapshot summarisation skill and storage | DONE | 2026-06-10 | 2026-06-10 | Bucketed snapshot org files under the sprint's timeline/ folder. |
| Add timeline view to the agile board | DONE | 2026-06-07 | 2026-06-07 | Event-count chart with click-through to bucket snapshots. |
| Add sprint velocity bar charts to agile board | ABANDONED | 2026-06-10 | Blocked on end-date task; out of sprint scope. | |
| Window the timeline chart with back/forward navigation | DONE | 2026-06-08 | 2026-06-08 | Show the board timeline chart as a sliding window of N buckets (default 10, most-recent first) with ← earlier / later → paging instead of cramming every bucket, which made the x-axis unreadable. Realises the movable-time-window capture. |
Decisions
- One temporal model, two substrates
- See the temporal command coherence investigation: temporal commands sit on a 2×2 grid (subject: me/everyone × time: now/past); timeline is the missing "everyone × past" quadrant. Now-views (fleet, journal) read the live substrate (worktree journals, branch/PR state); the timeline reads consistent data only — the agile docs on origin/main, their git history, and the gh PR record — so any environment reproduces the same timeline from a fresh checkout. Journals are never a timeline input; environment attribution comes from the document stamps; every snapshot carries a window-scoped audit section reporting bookkeeping drift.
- Board timeline view needs no infrastructure extension
- Verified:
snapshot files carry
:ID:=s, so =org-roam-db-syncindexes them and the existinggraphdata.jsonexport delivers their full org content to the browser — the board view consumes them exactly like stories and tasks. No changes to the export, the site build, or the data pipeline. - Bucket size is an experiment, not a constant
- 20 minutes was an arbitrary starting point. The real constraint is readability: a bucket must not hold more events than can be scanned at a glance. Window size is configurable in both the command and the skill; tune it with real data, and consider event-count-capped buckets (split a window when it exceeds N events) over fixed durations if busy periods overwhelm.
Out of scope
- Real-time push/streaming updates — snapshots are written on demand or on a cadence, not live.
- Timeline for non-agile documents (knowledge, manuals) — agile docs first; generalise later if useful.
- Alerting/notifications — the timeline is a pull-based review tool.