Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/<session-id>.jsonl` (one file per session), plus
`lore trace why <session>` query CLI and `lore trace prune` maintenance. Enables data-driven
Expand Down
7 changes: 5 additions & 2 deletions tests/hook.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
Loading