Skip to content

feat(yellow-brick): Yellow Brick UX Foundation Sprint (WS1–WS6) - #61

Open
daftpixie wants to merge 5 commits into
mainfrom
feat/yellow-brick-ux
Open

feat(yellow-brick): Yellow Brick UX Foundation Sprint (WS1–WS6)#61
daftpixie wants to merge 5 commits into
mainfrom
feat/yellow-brick-ux

Conversation

@daftpixie

Copy link
Copy Markdown
Owner

Summary

Complete implementation of the Yellow Brick UX Foundation Sprint — 6 workstreams building the command bar, dashboard shell, backend chat API, OAuth token management, and content calendar.

  • WS5: Dashboard shell — 56px top bar, horizontal tab navigation (Dashboard/Calendar/Content/Social/Analytics/Settings), usePathname() active state, Brick Gold underline indicator
  • WS1: Yellow Brick command bar — 48px bar, max-w-672px, gold border states (rest/focus/processing shimmer/error flash), ⌘K/Escape global shortcuts, SSE streaming, slash commands, file drag-and-drop + chips, voice transcript integration, response panel with copy/dismiss
  • WS2: POST /api/v1/agent/chat — SSE streaming via Vercel AI SDK + Claude haiku, context-aware system prompts per tab, JWT auth, optional Langfuse tracing
  • WS4: Social OAuth token management — social_oauth_tokens table (RLS, AES-256-GCM encryption), GET /status, DELETE /:provider, GET /callback/:provider Hono routes
  • WS3: Content Calendar — weekly 7-column grid, post chips with platform icons, week navigation, today highlighted, SchedulePostModal using <dialog>, YellowBrick context sync
  • WS6: VoiceInput — Web Speech API progressive enhancement, waveform bars animation, mic pulse (built inline with WS1)

Gate results

All phases passed typecheck clean before proceeding:

  • Phase A gate (WS1 + WS5): ✅ pnpm typecheck clean
  • Phase B gate (WS2 + WS4): ✅ pnpm typecheck clean
  • Phase C gate (WS3): ✅ pnpm typecheck clean

DB migrations to run

supabase/migrations/20260309000000_social_oauth_tokens.sql — run in Supabase SQL editor before merging (or immediately after on Vercel preview).

Test plan

  • Navigate to /dashboard — verify top bar + tab navigation render
  • Press ⌘K — verify Yellow Brick focuses and gold border activates
  • Type a message and submit — verify SSE streaming response appears
  • Try / slash prefix — verify command suggestions appear
  • Drag a file onto the command bar — verify chip appears
  • Click mic button — verify VoiceInput activates (Chrome/Edge only)
  • Navigate to /calendar — verify weekly grid renders, today is highlighted in gold
  • Click "Schedule Post" — verify modal opens, form submits to /api/ai/schedules
  • Run supabase/migrations/20260309000000_social_oauth_tokens.sql — verify table + RLS created
  • Hit GET /api/social/oauth/status with valid JWT — verify { connected: [] } response

🤖 Generated with Claude Code

Matt added 5 commits March 8, 2026 17:52
…WS5)

- Replace sidebar layout with horizontal tab navigation (Dashboard,
  Calendar, Content, Social, Analytics, Settings)
- New DashboardTopBar: 56px, ozskr.ai wordmark + wallet button, void black bg
- New TabNavigation: gold underline active state, mobile scroll, ARIA
- YellowBrick placeholder centered at top of every page (max-w-[672px])
- /content placeholder page (route previously missing)
- layout.tsx: removes Sidebar/CommandBar, adds YellowBrick + tabs

Assisted-by: Claude Code
- Zustand store with YellowBrickContext, all state/actions, file attachment
- VoiceInput: Web Speech API progressive enhancement, waveform bars animation
- YellowBrick: 48px command bar, gold border states, ⌘K/Escape shortcuts,
  SSE streaming to /api/v1/agent/chat, slash commands, file DnD + chips,
  voice transcript integration, response panel with copy/dismiss
- Barrel export updated with all types

Assisted-by: Claude Code
POST /api/v1/agent/chat — context-aware system prompts per YellowBrick context,
Claude haiku streaming via Vercel AI SDK, JWT auth, optional Langfuse tracing.

Assisted-by: Claude Code
- Migration: social_oauth_tokens table with RLS, AES-256-GCM encrypted storage
- GET /api/social/oauth/status — list connected providers
- DELETE /api/social/oauth/:provider — revoke token
- GET /api/social/oauth/callback/:provider — store token after OAuth flow
- Service role policy for Trigger.dev background jobs

Assisted-by: Claude Code
- ContentCalendar: 7-column week grid, Mon–Sun, post chips with platform icons
- Week navigation (prev/next/this-week), today highlighted in Brick Gold
- SchedulePostModal: dialog element, platform select, date+time, POST to /api/ai/schedules
- Graceful 404/empty handling via React Query with retry: false
- YellowBrick context syncs to 'calendar' on mount, resets on unmount

Assisted-by: Claude Code
@vercel

vercel Bot commented Mar 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ozskr Ready Ready Preview, Comment Mar 9, 2026 2:02am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant