agent: lumotia-rebrand — fix QC blockers for phase 2
Phase 2 QC found three explicit blockers + a broader sweep needed:
Explicit (QC-named):
- crates/mcp/src/lib.rs:15 — SERVER_NAME public MCP wire identity
- crates/transcription/build.rs:59 — panic message prefix
- crates/llm/tests/content_tags_smoke.rs:7 — docstring -p flag
Swept (string literals + dev env vars + doc comments + test fixtures):
- crates/mcp/src/main.rs — eprintln log prefixes
- src-tauri/src/commands/diagnostics.rs — diagnostic filename + MAGNOTIA_VERSION
- src-tauri/src/commands/audio.rs — recording filename pattern lumotia-<secs>-...wav
- src-tauri/src/commands/fs.rs — test placeholder path
- crates/transcription/src/model_manager.rs — .lumotia-verified marker
- crates/storage/src/database.rs — lumotia-storage-ro-<pid> temp dirs + doc comments
- crates/cloud-providers/src/keystore.rs — LUMOTIA_API_KEY_<PROVIDER> env var
- crates/audio/src/{wav,decode}.rs — lumotia_test_* / lumotia_decode_* test fixtures
- crates/core/src/tuning.rs — LUMOTIA_INFERENCE_THREADS env var
- All MAGNOTIA_LLM_TEST_MODEL / MAGNOTIA_WHISPER_TEST_* env vars
- Doc comments referencing crate names
Excluded (intentional Phase 4/5 scope):
- magnotia_preferences, magnotia_history, magnotia_morning_triage_last_shown
DB setting keys (Phase 5 paths.rs migration)
- magnotia_startup tracing target (Phase 4)
- crates/core/src/paths.rs (Phase 5 wholesale rewrite + migration shim)
cargo build --workspace passes. cargo test --workspace: 330 pass, 0 fail.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -42,7 +42,7 @@ pub async fn init(db_path: &Path) -> Result<SqlitePool> {
|
||||
|
||||
/// Open the SQLite database in read-only mode without running migrations.
|
||||
///
|
||||
/// Used by `magnotia-mcp` so the MCP server cannot write to the user's database
|
||||
/// Used by `lumotia-mcp` so the MCP server cannot write to the user's database
|
||||
/// regardless of which tools the dispatcher exposes — `read_only(true)` makes
|
||||
/// the constraint structural rather than relying on the request handler being
|
||||
/// well-behaved. Fails cleanly if the DB doesn't exist (no `create_if_missing`).
|
||||
@@ -1384,7 +1384,7 @@ pub async fn list_recent_errors(pool: &SqlitePool, limit: i64) -> Result<Vec<Err
|
||||
// Phase 2 of the feature-complete roadmap: capture thumbs + corrections on
|
||||
// AI-generated output so the prompt builder can inject recent examples as
|
||||
// few-shot exemplars. Storage-only here; the prompt-conditioning logic lives
|
||||
// in magnotia-llm. Retrieval returns the most recent rows, narrowed to the
|
||||
// in lumotia-llm. Retrieval returns the most recent rows, narrowed to the
|
||||
// active profile when provided so feedback does not cross profiles.
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
@@ -2617,7 +2617,7 @@ mod tests {
|
||||
|
||||
#[tokio::test]
|
||||
async fn init_readonly_rejects_writes_and_serves_reads() {
|
||||
let dir = std::env::temp_dir().join(format!("magnotia-storage-ro-{}", std::process::id()));
|
||||
let dir = std::env::temp_dir().join(format!("lumotia-storage-ro-{}", std::process::id()));
|
||||
std::fs::create_dir_all(&dir).unwrap();
|
||||
let path = dir.join("ro.db");
|
||||
let _ = std::fs::remove_file(&path);
|
||||
@@ -2669,7 +2669,7 @@ mod tests {
|
||||
#[tokio::test]
|
||||
async fn init_readonly_fails_when_db_missing() {
|
||||
let path = std::env::temp_dir().join(format!(
|
||||
"magnotia-storage-ro-missing-{}.db",
|
||||
"lumotia-storage-ro-missing-{}.db",
|
||||
std::process::id()
|
||||
));
|
||||
let _ = std::fs::remove_file(&path);
|
||||
|
||||
Reference in New Issue
Block a user