slm-status-17091d — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited slm-status-17091d (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill to answer: "Is SLM healthy?", "Is compression/caching actually saving tokens?", and "What does the system look like right now?" It covers the MCP stats and status tools, the slm status CLI, the slm doctor preflight, and the store-health commands.
slm_optimize_stats() -> dictNo arguments. Returns the counters the daemon has persisted.
| Key | Type | Meaning | |
|---|---|---|---|
ok | bool | True on success; False on internal error | |
compress_runs | int | Total compress calls recorded by the daemon (persisted across restarts) | |
tokens_saved_compress | int | Cumulative tokens saved by compression (daemon-persisted) | |
cache_proxy_hits | int | Proxy-layer cache hits (daemon-persisted) | |
cache_proxy_misses | int | Proxy-layer cache misses (daemon-persisted) | |
cache_kv_hits | int | Hits on the slm_cache_get key-value cache (daemon-persisted) | |
cache_kv_misses | int | Misses on the slm_cache_get key-value cache (daemon-persisted) | |
ccr_note | str \ | None | Note about CCR entry count (not tracked per-session; see daemon /api/v1/metrics) |
note | str \ | None | Scope clarification or error detail |
All six counters are daemon-persisted: they survive MCP restarts and accumulate over the install's lifetime, so they are totals, not per-session figures. Only if the persisted KV counters cannot be read does the tool fall back to this process's own tally (the note field says so). To judge one stretch of work, call slm_optimize_stats before and after and subtract.
stats = await slm_optimize_stats()
if stats["ok"]:
savings = stats["tokens_saved_compress"]
kv_hit_rate = (
stats["cache_kv_hits"] / max(stats["cache_kv_hits"] + stats["cache_kv_misses"], 1)
)
# savings > 0 and kv_hit_rate > 0.5 means Surface B is actively reducing costsIf compress_runs is 0 after several sessions, compression is not being triggered — check daemon config and whether slm_compress is being called.
If cache_kv_hits does not grow after repeated work, verify key naming consistency (the same key string must be used for set and get, by the same agent).
slm status [--json] [--verbose]Reports system-level state — not optimization counters. Canonical fields:
a, b or c)none--verbose / -v adds: the disabled marker, last booted version, and daemon port.
--json prints the standard envelope {"success", "command", "version", "data": {...}}; read the fields above from data. Prefer it for agent consumption:
slm status --json{"success":true,"command":"status","version":"...","data":{"mode":"a","provider":"none","profile":"default","db_size_mb":12.4,"fact_count":384,"entity_count":201,"edge_count":519,"profile_generation":0,"projection_queue_depth":0,"saves_waiting":0,"unreadable_saves":0}}The MCP equivalent is get_status(profile_id=""), which returns the same fields at the top level (it is not part of the smallest core tool set). saves_waiting above zero means saved memories are durable but still being indexed (searchable within seconds). unreadable_saves above zero means that many saves could not be read back with this computer's key and were kept unchanged in the admission journal (the daemon log has their ids); a negative value means the journal did not answer. Status does not report a user role.
Do not rely on the human-readable format for parsing — always use --json when the output feeds another tool.
slm doctor [--json] [--quick] [--deep] [--fix]Preflight check covering dependencies, embedding worker, daemon connectivity, and Surface B health. The "Optimize (Surface B)" line confirms whether the compression and cache subsystem initialised correctly.
--quick skips the daemon and embedding probes — runs only dependency and config checks; faster but incomplete.
--deep reads every database page (PRAGMA integrity_check) instead of the structural check; slow on a large store. --fix repairs what it can (re-downloads missing models, installs sqlite-vec) before checking, then reports.
--json outputs structured results per check — use this in automated health pipelines.
A passing doctor output confirms:
A failing "Optimize (Surface B)" line means slm_compress, slm_cache_set, and slm_cache_get may not function correctly — investigate daemon config before relying on those tools.
slm optimize status [--json]Shows whether the Optimize module (cache + compress) is currently enabled or disabled at the daemon level. Available subcommands also include optimize on, optimize off, and optimize savings.
The optimize savings subcommand accepts:
slm optimize savings [--since <days>] [--provider anthropic|openai|gemini] [--json]--since defaults to 7 days. --provider filters by the target AI provider.
slm_optimize_stats() via MCP is the same data as slm optimize savings; use whichever surface you have.
slm db integrity [--pages] [--json] # read-only, safe while SLM runs
slm db repair [--json] # preview of what a repair would do (read-only)
slm db repair --apply --root <data folder> [--batch-size N] [--pause-ms MS] [--max-seconds S]
slm db repair --undo <run_id> --root <data folder>
slm ops list | status | resolve <operation_id> --action retry|force_reconcile|cancel
slm brain status [--json] # observation-only Living Brain evidence totals
slm embedder status # progress of an embedding-model switch
slm models # recommended and installed local modelsslm db integrity answers five separate questions so one cannot hide another: page integrity (only with --pages), relational integrity (orphan rows, erased words still stored), source fidelity (facts withheld from answers or no longer saying what their memory said), projection readiness (keyword, vector and date search work still owed), and any repair running or last run. It prints counts only, never memory text.
slm db repair fixes leftover rows, erased-word leftovers, unfinished deletes and memories that lost their searchable fact, with receipts and an undo. It previews by default; --apply and --undo insist on --root naming the data folder you mean, and refuse any other. A repair never brings back anything that was erased, deleted or withheld. slm ops lists failed, stuck or degraded operations and, for an owner or admin, resolves them. The MCP counterpart for Living Brain totals is get_brain_evidence_status(profile_id=""); it only observes and does not change recall, ranking or review.
While the computer is idle, Memory health describes older memories (event dates, names, projects, tags and kinds) by adding only — it never changes or deletes what was written. Repairs that move or delete anything wait for the owner's Fix, and every run that changed something can be undone.
slm enrich status # progress, repairs waiting, the id of every run that changed something
slm enrich pause <run> # recall and remember keep working
slm enrich resume <run>
slm enrich fix entity-links # apply a suggested repair (asks first)
slm enrich undo # undo the latest run that changed something (asks first)repair-saves keeps no undo record; it says so and takes a safety copy before it runs. An undone repair is not suggested again until you ask with --include-undone. The dashboard shows the same state on the Memory health card at the top of the Health pane. Guide: docs/memory-health.md.
Pictures and documents are an optional feature, off by default. Check them with the CLI (the MCP get_status does not report them):
slm media status [--json] # off | on, setting up (state, percent) | on | failed, with the step
slm features [--json] # what is on and what can be turned on: pictures and documents, folder sources, bot messages
slm media repair --dry-run # count pictures that cannot be found by what they show yet (owner or admin)
slm media repair # re-embed them; up to four minutes per run, run again if it says some are left
slm media gc # report picture records without a memory, files without a record (removes nothing)
slm embedder status # progress of an embedding-model switch or the memory-engine upgradeIf slm media status says "set-up failed", run slm doctor for the step that failed. The five picture tools (remember_media, get_media, remember_document, media_status, media_upload_link) are listed only while the feature is on and only in the full, power and whole tool sets; a restart (slm restart) starts the picture worker. A document's own progress is the media_status MCP tool, not this command. Details, limits and the 16 GB requirement: slm-media. slm status also prints an "Embedding switch" line while a model switch or the memory-engine upgrade is pending.
slm doctor --json at session start to confirm all subsystems are up.slm_optimize_stats() after a batch of work to check token savings.slm status --json when you need DB size or memory counts.ok: false on any MCP tool — check note field, then run slm doctor to isolate the failure.slm db integrity before concluding anything.slm media status, then slm media repair --dry-run.slm_optimize_stats() never raises. On internal error it returns ok: false with all counters at 0. Continue the session — stats unavailability does not affect compression or caching operations.
slm status --json reports the active profile in data.profile. Use it to confirm which workspace is active before starting work on a multi-profile setup. get_status(profile_id="<name>") counts another profile without moving the active one. To change the active profile, see slm-profile.
slm-session — session lifecycle (session_init/close_session)slm-profile — workspace isolation and profile switchingslm-cache — KV cache performance metricsslm-compress — reversible context compressionslm-media — pictures, PDFs and foldersslm-web-access — the Connected apps page and web-app connection statesSuperLocalMemory v4.2.11 · Qualixar · AGPL-3.0-or-later
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.