Skip to main content

Module status

Module status 

Source
Expand description

ski status — a plain-language readout of what ski actually did in your recent conversations. ski’s hot path is deliberately silent (it never prints into your session), so without this the only “is it helping me?” answers are ski doctor (“is it wired?”) and ski history (“what did telemetry log?” — empty unless you opted in). This fills the gap in between: it reads the per-session dedup ledgers (crate::session) that ski writes on every prompt regardless of telemetry, and turns them into three counts a user cares about —

  • assists: ski surfaced a skill and the model then invoked it (the win);
  • surfaced, unused: ski put a skill forward the model didn’t reach for;
  • self-loads: the model found a skill on its own while ski stayed silent (a recall miss — where ski could do better).

The classification is a heuristic over the ledger’s (source, confidence) record: a Model load carries a non-zero confidence only if ski had recommended it first (see crate::session::Session::mark_used), so Model + confidence 0 is a genuine self-load, and Model + confidence > 0 is an assist. summarize is pure and unit-tested; only run touches disk, and (like every read path in ski) it fails open — an unreadable or malformed ledger is skipped, never fatal.

Structs§

Report
The whole readout: recency-ordered per-session rows plus aggregate counts taken over every session on record (not just the displayed ones).
SessionRow
One conversation’s summary, newest-first in the Report.
SkillRow
One skill’s line in a session summary.

Enums§

Kind
How ski’s ledger explains one skill’s presence in a conversation.

Functions§

run
ski status: scan the session ledgers and print the readout. limit caps the number of conversations shown (aggregate counts still span all).
summarize
Turn loaded ledgers into a Report. Pure — the caller supplies (session_id, Session) pairs (from disk in run, hand-built in tests). Sessions are ordered newest-first by updated; limit caps how many appear in sessions, but the aggregate counts span all of them.