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

1.3 KiB

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.