agent: lumotia-rebrand — docs, scripts, root config, residuals
Phase 9 of the rebrand cascade. Sweep covers everything the Phase 8
frontend pass deliberately skipped: docs/, root markdown, scripts,
Cargo.toml descriptions, code comments that survived earlier
word-boundary sed, plus a handful of identifiers caught on the final
verify pass.
transcription-app changes:
- README.md, HANDOVER.md, KNOWN-ISSUES.md, run.sh — magnotia/Magnotia
-> lumotia/Lumotia.
- docs/ — sweep across all subdirs except docs/handovers/ (preserved
as immutable audit trail). Includes architecture-map references
to magnotia_core::*, magnotia_storage::*, etc. now pointing at
lumotia_*; dev-setup.md tracing output examples (lumotia_startup
target); brief/ + superpowers/ + issues/ + whisper-ecosystem/ +
audit/.
- Cargo.toml descriptions on 9 crates (core, audio, cloud-providers,
hotkey, llm, mcp, plus referenced others).
- crates/core/src/{error,hardware,recommendation,paths}.rs +
crates/audio/src/wav.rs + crates/llm/src/model_manager.rs +
crates/cloud-providers/src/keystore.rs + crates/mcp/src/lib.rs —
doc comments and a model-manager user-agent string.
- Caught on final pass: BroadcastChannel("magnotia_task_sync") -> ...
("lumotia_task_sync"); magnotia_locale i18n localStorage key
renamed + migration shim added; CSS keyframe names
magnotiaPulse / magnotiaBar / magnotiaFade renamed in the design-
system kit; magnotia_viewer_item / magnotia_viewer_mode handoff
keys renamed in HistoryPage + viewer/+page.svelte; src/assets/
wordmark.svg text.
- src-tauri/src/lib.rs comment cleanup ("magnotia era" was sed'd
to "lumotia era" earlier — restored).
Preserved (intentional):
- crates/core/src/paths.rs — keeps "magnotia" / "Magnotia" / ".magnotia"
legacy detection strings in legacy_and_target_paths() so the
migration shim can still find user data from the magnotia era.
- src/lib/stores/{page,focusTimer}.svelte.ts + src/lib/i18n/index.ts
— migration call sites reference the legacy magnotia keys
deliberately.
- docs/handovers/ — historical audit trail.
cargo build --workspace passes. npm run check: 0 errors / 0 warnings
(3958 files). cargo test --workspace: 339 pass / 0 fail.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
# Magnotia Session Handover — 2026/04/17
|
||||
# Lumotia Session Handover — 2026/04/17
|
||||
|
||||
*Originally written when the product was named Kon (and briefly Corbie); references rewritten in the 2026-04-30 rebrand sweep.*
|
||||
|
||||
## Session Summary
|
||||
|
||||
Six-commit sprint executing the upgrade plan from
|
||||
`/home/jake/Documents/CORBEL-Furnished-House/output/reports/magnotia-upgrade-plan-2026-04-17.md`.
|
||||
Goal: get Magnotia from "core feature broken" to "ready to dogfood with friends."
|
||||
`/home/jake/Documents/CORBEL-Furnished-House/output/reports/lumotia-upgrade-plan-2026-04-17.md`.
|
||||
Goal: get Lumotia from "core feature broken" to "ready to dogfood with friends."
|
||||
|
||||
## Commits
|
||||
|
||||
@@ -95,7 +95,7 @@ index in sync. Dictionary table also added in v2.
|
||||
New collapsible section. Add custom terms (medication names, jargon,
|
||||
people's names) that the LLM cleanup prompt should preserve. Backed by
|
||||
the `dictionary` SQLite table. The LLM client itself is currently a
|
||||
stub; when wired, it imports `list_dictionary` from magnotia_storage and
|
||||
stub; when wired, it imports `list_dictionary` from lumotia_storage and
|
||||
injects terms into the prompt suffix.
|
||||
|
||||
### Wayland self-relaunch
|
||||
@@ -111,14 +111,14 @@ HANDOVER env-var prefix is no longer needed.
|
||||
|
||||
```bash
|
||||
sudo dnf install cmake clang-devel
|
||||
cd /home/jake/Documents/CORBEL-Projects/magnotia
|
||||
cd /home/jake/Documents/CORBEL-Projects/lumotia
|
||||
npm install # if you have not already
|
||||
```
|
||||
|
||||
### Launch (no env-var prefix needed any more)
|
||||
|
||||
```bash
|
||||
cd /home/jake/Documents/CORBEL-Projects/magnotia
|
||||
cd /home/jake/Documents/CORBEL-Projects/lumotia
|
||||
npm run tauri dev
|
||||
```
|
||||
|
||||
@@ -142,10 +142,10 @@ env GDK_BACKEND=x11 WINIT_UNIX_BACKEND=x11 \
|
||||
|
||||
3. **Auto mode.** Clear the picker (set to "Auto"). Hit dictation. The
|
||||
logs (terminal where you ran `npm run tauri dev`) should show:
|
||||
- `[magnotia-audio] start: enumerated N input device(s)`
|
||||
- `[magnotia-audio] trying '...'` for each candidate
|
||||
- `[magnotia-audio] '...' validation: M samples, rms=...`
|
||||
- `[magnotia-audio] selected microphone: '...'`
|
||||
- `[lumotia-audio] start: enumerated N input device(s)`
|
||||
- `[lumotia-audio] trying '...'` for each candidate
|
||||
- `[lumotia-audio] '...' validation: M samples, rms=...`
|
||||
- `[lumotia-audio] selected microphone: '...'`
|
||||
The selected mic should NOT be a `.monitor` source.
|
||||
|
||||
4. **History rename.** Make a recording. In History, rename it to
|
||||
@@ -196,7 +196,7 @@ env GDK_BACKEND=x11 WINIT_UNIX_BACKEND=x11 \
|
||||
| **Linux x86_64 (Fedora 43, KDE Wayland)** | ✓ | ✓ | The everyday dev target | **HIGH** — this is what the sprint was developed against |
|
||||
| **Linux x86_64 (other distros, X11)** | Should work | Should work | Wayland self-relaunch is no-op on X11 sessions, evdev hotkeys may need user added to `input` group | **MEDIUM** — tested patterns, untested distros |
|
||||
| **Windows 10/11 x86_64** | Untested but should compile (CPAL + Tauri + whisper.cpp all support it) | Untested | Custom evdev hotkeys are no-op; falls back to Tauri's global-shortcut plugin which works on Windows | **LOW** — theoretically supported, has had zero hands-on testing |
|
||||
| **macOS aarch64 (Apple Silicon)** | Untested | Untested | Path bug fixed this commit (now uses `~/Library/Application Support/Magnotia/`); Info.plist needs `NSMicrophoneUsageDescription` for the app bundle | **LOW** — theoretically supported, has had zero hands-on testing |
|
||||
| **macOS aarch64 (Apple Silicon)** | Untested | Untested | Path bug fixed this commit (now uses `~/Library/Application Support/Lumotia/`); Info.plist needs `NSMicrophoneUsageDescription` for the app bundle | **LOW** — theoretically supported, has had zero hands-on testing |
|
||||
| **macOS x86_64 (Intel)** | Same as Apple Silicon | Same | Same | **LOW** |
|
||||
|
||||
**For the friends beta on Linux only**, this matters not at all. For a future Windows or macOS build, expect to spend a focused day or two debugging:
|
||||
@@ -209,7 +209,7 @@ env GDK_BACKEND=x11 WINIT_UNIX_BACKEND=x11 \
|
||||
|
||||
### What this sprint added on the cross-platform front
|
||||
|
||||
- `crates/storage/src/file_storage.rs::app_data_dir()` now correctly handles macOS (`~/Library/Application Support/Magnotia/`) and Linux (XDG-aware, `~/.local/share/magnotia`, with legacy `~/.magnotia` fallback for existing installs). Windows path unchanged.
|
||||
- `crates/storage/src/file_storage.rs::app_data_dir()` now correctly handles macOS (`~/Library/Application Support/Lumotia/`) and Linux (XDG-aware, `~/.local/share/lumotia`, with legacy `~/.lumotia` fallback for existing installs). Windows path unchanged.
|
||||
- New Tauri command `get_os_info` returns `{os, arch, family, usesCmd, isWayland, customHotkeyBackend, primaryModifierLabel}` so the frontend can adapt UI strings (Cmd vs Ctrl labels, "Open Finder" vs "Open Explorer", etc).
|
||||
- New `src/lib/utils/osInfo.js` helper: async `loadOsInfo()` warms a cache, then `isMac() / isWindows() / isLinux() / modKeyLabel() / isWayland()` are synchronous. Eagerly loaded at app startup in the root layout.
|
||||
- Falls back gracefully in browser-preview mode by reading `navigator.platform`.
|
||||
@@ -242,7 +242,7 @@ src/routes/+layout.svelte (+ ToastViewport mount)
|
||||
1. Real-user feedback from one to three friends. What confuses them?
|
||||
What feels slow? What did they expect that did not happen?
|
||||
2. Address the deferred items in priority of feedback signal.
|
||||
3. Consider opening up the `magnotia-public-beta` channel — a single
|
||||
3. Consider opening up the `lumotia-public-beta` channel — a single
|
||||
GitHub release with the auto-updater plumbed.
|
||||
4. The architecture review's other items (frontend test coverage,
|
||||
monolithic component split, hardcoded hex colours, ARIA gaps)
|
||||
@@ -250,6 +250,6 @@ src/routes/+layout.svelte (+ ToastViewport mount)
|
||||
|
||||
---
|
||||
|
||||
*Compiled 2026/04/17 by Wren. Magnotia goes from "live transcription does not
|
||||
*Compiled 2026/04/17 by Wren. Lumotia goes from "live transcription does not
|
||||
work" to "ready to put in front of one trusted friend." Six commits, no
|
||||
horrors so far.*
|
||||
|
||||
Reference in New Issue
Block a user