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.
29 lines
1.3 KiB
Markdown
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.*
|