Changelog
Changelog
Public build log for Lume. Newest first.
2026-07-06 — M10: Polish pass (v0.1)
- Playwright smoke suite (24 tests): public pages render, unknown URLs 404,
RSS + manifest served, every /dashboard/* route redirects signed-out
visitors, JSON APIs return 401 without a session, quick-log rejects bad
tokens
- Custom 500 error page to match the 404
- Empty states for journal history and the home activity heatmap; pulsing
"thinking" indicator while the agent streams a reply
- README, SETUP.md, and .env.example brought up to date with edge functions,
secrets, tests, and all 13 migrations
- Tagged v0.1
2026-07-06 — M9: Cross-cutting glue
- Home overview rebuilt: execution score (60% habits due today, 20% pipeline
health, 20% journal — formula in the tooltip), top 3 streaks, pipeline and
money and agent cards, due-today checklist, 26-week combined activity
heatmap (habits + video runs)
- Scheduled ops (pg_cron + pg_net → edge functions, secret in Vault):
weekly-digest email Mondays 7am, renewal-check daily 8am, backup-daily
02:30 with 14-day retention in the exports bucket — backup chain verified
end to end
- Audit log viewer at /dashboard/settings/audit: type filters, pagination,
expandable details
- Quick-log API (/api/quick-log) for iOS Shortcuts / Tasker: token-guarded
habit logging and a due-today list, no browser session needed
- Installable as an app (PWA): manifest icons, apple-touch-icon, service
worker on the dashboard — Add to Home Screen on iOS once deployed
- GitHub activity sync deferred to backlog
2026-07-06 — M8: Reading and ideas
- Quick-add bar: paste a URL and the title + description are scraped from its
Open Graph tags server-side (no external preview API)
- Reading list: status filter chips (unread/reading/done), inline status
select, tags, personal notes, convert-to-video-topic, delete
- Brain dump: plain-text idea capture with comma tags, tag-filter chips
- Voice notes: in-browser recording (MediaRecorder) uploaded to the
voice_notes bucket, transcribed with Whisper, transcript becomes the idea
text; manual retry button for failed transcriptions
2026-07-06 — M7: Agent panel
- Chat with Claude (claude-sonnet-5), streaming, aware of the last 7 days of
habits, spend, and video runs; history persisted to agent_messages
- Tool-call loop (max 5 rounds): log habits, add expenses, queue video runs,
pull weekly numbers — every invocation logged to agent_actions + audit_log
- agent-chat edge function (Deno + Anthropic SDK), proxied through
/api/agent/message so the browser never holds Supabase tokens
- Quick actions that write straight to the DB: trigger video run, log all
habits today, add expense, generate weekly review, backup all data to the
exports bucket (recorded in the backups table)
- Recent action log: last 20 actions with status, trigger source, expandable
params/result JSON
2026-07-06 — Journal + routine habits
- Journal page: morning (intent) and evening (accountability) entries per day,
prompts from the daily routine, past-day editing, recent history list
- Migration 010: journal_entries table (RLS, unique per user/day/kind)
- Habit set reseeded from daily_routine.md: Health / Faith / Journal / Deep work
2026-07-05 — M4: Habits panel
- Daily checklist with number-key logging (1–9), per-habit streak flames, day notes
- Weekly grid (habits × days, toggleable cells), per-category completion bars
- Monthly calendar with activity dots (size = habits done, color = top category)
- Annual GitHub-style heatmap with ember intensity ramp
- Weekly review: completion % with week-over-week delta, category bars, target hits, broken streaks, aggregated notes
- Manage page: categories (color-coded), habits (daily / N-per-week, icons, archive), identities and goals with linking
- Quick-log modal from the topbar button or Cmd+K, works on any dashboard page
- JSON API endpoints (log toggle, day note, today's checklist) guarded by session + 2FA level
- Checkbox burst micro-animation, streak flame tiers (respects reduced motion)
2026-07-05 — M3: Dashboard shell
- Re-accented the whole site: amber → ember red, with an ember→crimson gradient for fills
- Dashboard visual language: ambient glow backdrop, noise texture, glass panels
- Floating collapsible sidebar, glass top bar with breadcrumbs and avatar menu
- Command palette (Cmd+K): fuzzy search across pages and actions
- Settings panel: preferences, email/password change, recovery-code regeneration, API-key storage in Supabase Vault
- Migration 009: server-only Vault functions for integration secrets
2026-07-05 — M2: Auth
- Supabase auth: email/password login, invite-gated registration
- TOTP 2FA with one-time recovery codes (hashes only in DB)
- Middleware guarding /dashboard/* behind aal2
- Migrations 001–008: profiles, habits, video, agent, money, reading, storage, realtime — all RLS-scoped
2026-07-05 — M1: Public site
- Scaffolded Astro 7 with strict TypeScript, Tailwind 4, MDX
- Dark-only design system: near-black palette, amber accent, Geist + Fraunces
- Pages: home, about, projects (+detail), blog (paginated, tags, TOC, prev/next), now, changelog, CV, 404
- Full-content RSS feed, sitemap, robots.txt
- Pagefind search behind Cmd+K
- PWA: manifest, service worker, offline fallback
- Seed content: 2 draft posts, 3 placeholder projects