Release v26.04.28.1 — Design system polish, journal config in Profile, doc cleanup #44

Merged
bvandeusen merged 0 commits from dev into main 2026-04-28 09:12:56 -04:00
bvandeusen commented 2026-04-28 09:12:26 -04:00 (Migrated from git.fabledsword.com)

Summary

This release ships the design system end-to-end and resolves several adjacent issues surfaced during verification. Foundation, surface phase across 7 PRs, and follow-up fixes — all on top of the journal/Scribe rebrand that landed in v26.04.27.

Design system

  • Foundation pass (7a9a8b7) — theme.css rewritten with the dusty violet #5B4A8A accent, warm parchment #F5F1E8 light mode, Obsidian/Iron/Pewter dark mode, Inter + JetBrains Mono fonts loaded, action tokens (--color-action-primary Moss, --color-action-secondary Bronze, --color-action-destructive Oxblood, --color-action-ghost-border Pewter) added, hardcoded indigo + warm-gold cleaned up.
  • Surface phase (93a3beb3c1ec40, 7 PRs) — Lucide icon migration (60 hand-inlined SVGs replaced); Hybrid-rule button reclassification across Journal, Chat, Knowledge cluster, Project + Workspace, Settings, and edge surfaces; long-form 1.7 line-height on .prose; two-weights-only (400/500); ToolCallCard de-bordered; bulk delete affordances unified to Oxblood + Trash2 icon.
  • Status indicator (3f287d7) — header status dot lights brightened (Moss was too muted to read as a "ready" indicator); decoupled from the semantic palette tokens that drive Save buttons and toasts.
  • Italic strip (30dfbce) — 42 chrome italic declarations removed across 24 files. Markdown content emphasis (<em>/<i>) preserved via browser default.
  • Calendar font fix (bc23911) — .fc-toolbar-title was rendering Fraunces because FullCalendar uses an <h2> element (caught by the global h1, h2 { font-family: 'Fraunces' } rule); explicit Inter override added.
  • Tab-counter NaN fix (4cfea78) — services/projects.py:get_project_summary now initialises task_counts with {todo: 0, in_progress: 0, done: 0} so consumers can sum them without ?? 0 guards.
  • Task editor flex-shrink fix (df423ab) — long-task preview body no longer overflows on top of the WorkLog section.
  • Label readability bumps (65ba1cc) — KnowledgeView filter labels and NoteEditor entity-field labels enlarged from 0.72/0.78rem to 0.95/0.92rem.

Journal config restored to Settings

  • Profile-tab additions (39d56cf) — Locations section (home/work geocode, temperature unit) and Journal section (prep schedule) added inside Profile rather than a separate Journal tab. Removes ~190 lines of dead .briefing-* CSS. The killed Briefing settings tab's data is now editable again.
  • Weather data fixes (de4b1d7, f20e54a) — /api/journal/weather now serves cached weather regardless of age (matches the prep's behavior); auto-refreshes stale rows in the background. Events window widened from now → +14 days to today 00:00 → +14 days so events earlier today still surface.

Documentation

  • Design system doc (64ab248) — surface phase shipped state recorded with per-PR table; "Out of scope — deferred indefinitely" subsection added.
  • Briefing remnants cleared (016a2bd) — architecture.md, features.md, api-reference.md updated to reflect the journal system. Settings tab table corrected. /api/briefing/* table replaced with /api/journal/*.

Commits in this release

bc23911 fix: SettingsView TS errors + calendar month/year font
30dfbce fix(typography): strip chrome italic; reserve italic for emphasis
65ba1cc fix(typography): bump italic-Fraunces section/field labels to readable size
4cfea78 fix(projects): tab counter NaN when a status bucket is empty
3f287d7 fix(design): brighten status-dot indicator lights
016a2bd docs: clear briefing remnants and document journal system
39d56cf feat(settings): re-add journal config to Profile tab; clear briefing remnants
64ab248 docs(design-system): mark surface phase shipped end-to-end
3c1ec40 feat(design): surface phase PR 7 — edge surfaces polish
541e2ed feat(design): surface phase PR 6 — Settings polish
ff498ce feat(design): surface phase PR 5 — Project + Workspace polish
efb3534 feat(design): surface phase PR 4 — Knowledge cluster polish
df423ab fix(task-editor): prevent preview pane and work log flex-shrink
4192a64 feat(design): surface phase PR 3 — Chat surface polish
3d916d7 feat(design): surface phase PR 2 — Journal polish
f20e54a fix(journal): widen events window to match prep's framing
de4b1d7 fix(weather): match prep behavior — serve cached weather regardless of age
d023209 chore(deps): regenerate package-lock for lucide-vue-next
93a3beb feat(design): surface phase PR 1 — Lucide icon migration + scale enforcement
54710b3 docs(design-system): note foundation pass shipped; expand surface-phase thread
7a9a8b7 feat(design): foundation pass — dusty violet palette, warm parchment light, Inter + JetBrains Mono

Test plan

  • Smoke walk both light and dark themes across Home, Knowledge, Notes, Tasks, Projects, Workspace, Chat, Journal, Calendar, Graph, Settings
  • Confirm Settings → Profile shows new Locations + Journal sections; geocode lookup works
  • Confirm Journal right rail populates after Locations are configured
  • Confirm header status dots read as proper "ready" indicators
  • Confirm Calendar month/year title renders Inter, not Fraunces
  • Confirm tab counters in ProjectView show numeric value, not NaN

🤖 Generated with Claude Code

## Summary This release ships the design system end-to-end and resolves several adjacent issues surfaced during verification. Foundation, surface phase across 7 PRs, and follow-up fixes — all on top of the journal/Scribe rebrand that landed in v26.04.27. ### Design system - **Foundation pass** (`7a9a8b7`) — `theme.css` rewritten with the dusty violet `#5B4A8A` accent, warm parchment `#F5F1E8` light mode, Obsidian/Iron/Pewter dark mode, Inter + JetBrains Mono fonts loaded, action tokens (`--color-action-primary` Moss, `--color-action-secondary` Bronze, `--color-action-destructive` Oxblood, `--color-action-ghost-border` Pewter) added, hardcoded indigo + warm-gold cleaned up. - **Surface phase** (`93a3beb` → `3c1ec40`, 7 PRs) — Lucide icon migration (60 hand-inlined SVGs replaced); Hybrid-rule button reclassification across Journal, Chat, Knowledge cluster, Project + Workspace, Settings, and edge surfaces; long-form 1.7 line-height on `.prose`; two-weights-only (400/500); ToolCallCard de-bordered; bulk delete affordances unified to Oxblood + Trash2 icon. - **Status indicator** (`3f287d7`) — header status dot lights brightened (Moss was too muted to read as a "ready" indicator); decoupled from the semantic palette tokens that drive Save buttons and toasts. - **Italic strip** (`30dfbce`) — 42 chrome italic declarations removed across 24 files. Markdown content emphasis (`<em>`/`<i>`) preserved via browser default. - **Calendar font fix** (`bc23911`) — `.fc-toolbar-title` was rendering Fraunces because FullCalendar uses an `<h2>` element (caught by the global `h1, h2 { font-family: 'Fraunces' }` rule); explicit Inter override added. - **Tab-counter NaN fix** (`4cfea78`) — `services/projects.py:get_project_summary` now initialises `task_counts` with `{todo: 0, in_progress: 0, done: 0}` so consumers can sum them without `?? 0` guards. - **Task editor flex-shrink fix** (`df423ab`) — long-task preview body no longer overflows on top of the WorkLog section. - **Label readability bumps** (`65ba1cc`) — KnowledgeView filter labels and NoteEditor entity-field labels enlarged from 0.72/0.78rem to 0.95/0.92rem. ### Journal config restored to Settings - **Profile-tab additions** (`39d56cf`) — Locations section (home/work geocode, temperature unit) and Journal section (prep schedule) added inside Profile rather than a separate Journal tab. Removes ~190 lines of dead `.briefing-*` CSS. The killed Briefing settings tab's data is now editable again. - **Weather data fixes** (`de4b1d7`, `f20e54a`) — `/api/journal/weather` now serves cached weather regardless of age (matches the prep's behavior); auto-refreshes stale rows in the background. Events window widened from `now → +14 days` to `today 00:00 → +14 days` so events earlier today still surface. ### Documentation - **Design system doc** (`64ab248`) — surface phase shipped state recorded with per-PR table; "Out of scope — deferred indefinitely" subsection added. - **Briefing remnants cleared** (`016a2bd`) — `architecture.md`, `features.md`, `api-reference.md` updated to reflect the journal system. Settings tab table corrected. `/api/briefing/*` table replaced with `/api/journal/*`. ## Commits in this release ``` bc23911 fix: SettingsView TS errors + calendar month/year font 30dfbce fix(typography): strip chrome italic; reserve italic for emphasis 65ba1cc fix(typography): bump italic-Fraunces section/field labels to readable size 4cfea78 fix(projects): tab counter NaN when a status bucket is empty 3f287d7 fix(design): brighten status-dot indicator lights 016a2bd docs: clear briefing remnants and document journal system 39d56cf feat(settings): re-add journal config to Profile tab; clear briefing remnants 64ab248 docs(design-system): mark surface phase shipped end-to-end 3c1ec40 feat(design): surface phase PR 7 — edge surfaces polish 541e2ed feat(design): surface phase PR 6 — Settings polish ff498ce feat(design): surface phase PR 5 — Project + Workspace polish efb3534 feat(design): surface phase PR 4 — Knowledge cluster polish df423ab fix(task-editor): prevent preview pane and work log flex-shrink 4192a64 feat(design): surface phase PR 3 — Chat surface polish 3d916d7 feat(design): surface phase PR 2 — Journal polish f20e54a fix(journal): widen events window to match prep's framing de4b1d7 fix(weather): match prep behavior — serve cached weather regardless of age d023209 chore(deps): regenerate package-lock for lucide-vue-next 93a3beb feat(design): surface phase PR 1 — Lucide icon migration + scale enforcement 54710b3 docs(design-system): note foundation pass shipped; expand surface-phase thread 7a9a8b7 feat(design): foundation pass — dusty violet palette, warm parchment light, Inter + JetBrains Mono ``` ## Test plan - [ ] Smoke walk both light and dark themes across Home, Knowledge, Notes, Tasks, Projects, Workspace, Chat, Journal, Calendar, Graph, Settings - [ ] Confirm Settings → Profile shows new Locations + Journal sections; geocode lookup works - [ ] Confirm Journal right rail populates after Locations are configured - [ ] Confirm header status dots read as proper "ready" indicators - [ ] Confirm Calendar month/year title renders Inter, not Fraunces - [ ] Confirm tab counters in ProjectView show numeric value, not NaN 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/FabledScribe#44