diff --git a/ROADMAP.md b/ROADMAP.md index ca95f63..b148387 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -56,6 +56,17 @@ ## Completed +- [x] Ollama inference runtime probe — `lore status --full` now issues a live `/api/embed` request + against the configured model to detect runner-subprocess failures that the cheap + binary/daemon/manifest checks miss (the Homebrew-formula breakage that prompted this work + reported healthy across all three legacy probes). Structured `ProbeError` discriminates + runner-failed / inference-error / timeout / transport / HTTP-status with a single + `render_failure` switchboard feeding the CLI status line, MCP `lore_status` metadata fence + (`ollama.runtime`), and the PreToolUse hook warning (rate-limited per process). Opt-in + `--full` flag keeps the default `lore status` cheap; rescue mechanisms surface the deeper + check via install-time auto-probe, hook warning, and a hint line. ureq 3.x's default-true + `http_status_as_error` is explicitly opted out so 5xx response bodies stay readable. See + `docs/plans/2026-06-04-001-feat-ollama-runtime-probe-plan.md`. - [x] Track 2 Observability — opt-in per-hook trace logging written as JSONL records under `$XDG_STATE_HOME/lore/traces/.jsonl` (one file per session), plus `lore trace why ` query CLI and `lore trace prune` maintenance. Enables data-driven diff --git a/tests/hook.rs b/tests/hook.rs index f8a1f42..fbd203b 100644 --- a/tests/hook.rs +++ b/tests/hook.rs @@ -3182,8 +3182,11 @@ fn hook_transcript_tail_toggle_populates_field_when_enabled() { }); // `validate_transcript_path` requires the canonicalised path to // live under $HOME — override HOME for the subprocess to match - // the tempdir so the transcript read isn't rejected. - let home_override = dir.to_str().unwrap(); + // the tempdir so the transcript read isn't rejected. Canonicalise + // the tempdir path so the `startswith(HOME)` check survives macOS + // `/var` → `/private/var` symlink resolution. + let home_canonical = dir.canonicalize().unwrap(); + let home_override = home_canonical.to_str().unwrap(); invoke_hook_with_trace_dir(&config_path, &trace_dir, &input, &[("HOME", home_override)]); let lines = read_trace_lines(&trace_dir, "trace-transcript-tail-on");