project-bifrost-platform/src
Jonathan Hvid 865347f682 feat(db): migration 0004 — phase 2 schema + 4 new tokens
users: adds pull_quote, member_number (unique partial index, NULLs allowed),
focus_tags. title already exists from 0003 — not re-added. Backfills
member_number for existing cab users in COALESCE(cab_joined_date,
created_at) asc, tiebreak id asc. Lars gets #1.

events: rebuild required to widen the kind CHECK constraint (SQLite can't
ALTER it in place). Adds working_session as a new kind. Same rebuild adds
four new columns: audience, duration_label, action_label, notes_url. Data
preserved.

dispatches: new entity, status enum draft/published/archived, kind enum
decision/update/behind_the_scenes/note. published_at nullable until
publishPulse-equivalent stamps it. Indexes on (status, published_at) and
author_id.

Tokens (src/styles/tokens.css): adds --surface-card, --surface-card-border,
--ink, --ink-text, --ink-muted. Spec called these out as the only
additions; existing --radius-lg covers the spec's --border-radius-lg
reference.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 15:46:53 +02:00
..
components feat(admin): pulses, roadmap, events, activity tabs 2026-05-11 14:57:44 +02:00
content feat: database schema, migrations, and seed data 2026-04-18 22:43:16 +02:00
layouts feat(nav): restructure header + add footer for council portal 2026-05-11 14:46:55 +02:00
lib feat(lib): notify() stub for pulse-opened events 2026-05-11 14:53:40 +02:00
pages chore(demo): seed-demo.js + utc fix for last_seen_at 2026-05-11 15:04:11 +02:00
styles feat(db): migration 0004 — phase 2 schema + 4 new tokens 2026-05-11 15:46:53 +02:00
env.d.ts feat: database schema, migrations, and seed data 2026-04-18 22:43:16 +02:00
middleware.ts feat: database schema, migrations, and seed data 2026-04-18 22:43:16 +02:00