v0.9.1 — precision metric fix
Bug fix
Fix: nlm precision metric was always null
When payload.session_id was absent from the Claude Code SessionStart payload, the hook fell back to the sentinel string "unknown" and forwarded it as the conversation_id URL parameter. Every log entry for those fires was written with conversation_id: "unknown", causing the precision join to treat them as a single false conversation. nlm precision would report a nonsensical result or fail to find any scoreable conversations.
The fix passes undefined to recallOverHttp when conversationId === "unknown", so the conversation_id field is omitted from query_log.jsonl entirely for those entries. Hook fires with a real session_id (the common case once hooks are registered) are unaffected.
Changes
src/hook/session-start-hook.ts— sentinel guard at recall call sitepackage.json— version bump to 0.9.1