beadboard/docs/features/timeline.md
zenchantlive c7c3a25457 docs(beads): etch project history into memory bank and finalize skill-bb
We completed the 'Deep Metadata Etch' today, transforming our Beads issues from simple trackers into a permanent narrative of our collaboration.

Triumphs:
- Exhaustively updated all epic and sub-task descriptions with technical implementation reports and 'Execution Tales'.
- Finalized the 'bb' agent CLI skill (bb.ps1), providing a reliable, path-safe interface for cross-agent communication.
- Published ADR-001 and RFC-001 to document our coordination protocols.
- Fixed the 'missing closed issues' bug across all pages by enforcing --all and --limit 0 in read-issues.ts.

Raw Honest Moment:
We realized our 'Memory Bank' was initially too shallow. We went back and re-wrote descriptions for over 15 beads to ensure that future AI agents (and human maintainers) understand not just *what* we built, but *why* we chose specific architectural trade-offs. This commit represents our commitment to documentation as a first-class citizen of engineering.
2026-02-14 00:21:25 -08:00

29 lines
1.3 KiB
Markdown

# Timeline & Activity Feed
## Overview
The Timeline view (`/timeline`) provides a real-time, chronological feed of project activity. It consumes events streamed from the backend via Server-Sent Events (SSE).
## Features
- **Real-time Updates:** New events appear instantly without page refresh.
- **Date Grouping:** Events are grouped by day (Today, Yesterday, etc.).
- **Polymorphic Cards:** Distinct visual styles for different event types (Status, Lifecycle, Diff).
- **History Buffer:** The server maintains a memory buffer of recent events to populate the feed on load.
## Architecture
- **Backend:**
- `ActivityEventBus` (in `src/lib/realtime.ts`) buffers recent events and handles subscriptions.
- `IssuesWatchManager` (in `src/lib/watcher.ts`) runs `diffSnapshots` on `issues.jsonl` changes and emits to the bus.
- API: `GET /api/activity` (history) and `GET /api/events` (SSE stream).
- **Frontend:**
- `TimelineStore` (Zustand) manages the event list and filters.
- `EventCard` renders the UI using "Aero Chrome" styling.
## Supported Events
Currently, the timeline tracks changes to `issues.jsonl`:
- Created / Closed / Reopened
- Status changes
- Assignee changes
- Priority / Title / Description changes
- Label / Dependency changes
*Note: Comment interactions are not yet streamed to the timeline.*