9 tasks: schema → CLI → UA parser → wire UA into server → recorder
→ issueSession refactor → login event → timeline_view event → docs.
Each task is a self-contained commit with verification steps using
curl + the new events CLI (no test framework on this project).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There's only one welcome-step button (#welcome-continue, label "Start
the introduction"); the recent renames were sequential edits to the
same button, not two separate CTAs. The click immediately navigates to
/timeline so the subsequent timeline_view event already captures it.
Also clarified GET / no longer has a timeline branch, and pinned down
how session_id flows into the login event (refactor issueSession to
return its new ID).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Server-side landmark events (login, welcome_cta, timeline_view) into a
unified events table with device fields. CLI-only readout via
bin/events.js. bifrost_joins left in place.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>