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).
- Session
Row - One conversation’s summary, newest-first in the
Report. - Skill
Row - 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.limitcaps 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 inrun, hand-built in tests). Sessions are ordered newest-first byupdated;limitcaps how many appear insessions, but the aggregate counts span all of them.