compass-integrity — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited compass-integrity (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.
Compass writes a Merkle hash chain over project memory and a per-session drift signal. Both can be silently broken — a chain mismatch means a memory file was edited outside the writer; a drift-red session means the past assistant output diverged from intent. A recall hit on tampered or red-drift memory is worse than no recall.
This skill runs the integrity checks before the user commits to acting on memory.
Trigger conditions (any one):
Skip when:
The skill is a one-pass orchestrator over four already-shipped CLIs in this plugin:
| Check | Tool | What it tells you |
|---|---|---|
| Daemon liveness | nc 127.0.0.1 9876 ping | Is BGE-m3 up? If not, recall is metadata-only. |
| Chain integrity | compass_verify.py | Are any memory files tampered/missing? |
| Drift trend | drift_history.py 7 | What is the green/yellow/red split for the last 7 days? |
| Memory size | recall.find_active_project_memory_dir | How many entries exist for the current project? |
The fastest path is the /compass-status slash command, which bundles all four. Use that as the primary entry; only call the individual CLIs if you need finer control (e.g. /compass-drift 30 for a longer window after a yellow signal).
Run the bundle, then apply this triage:
| State | Action |
|---|---|
| All ✓, drift mostly green | Proceed with recall. One-line greenlight to user. |
| Daemon DOWN | Tell user; recall falls back to keyword/metadata mode (lower recall@k); offer to start daemon. |
| Chain TAMPERED | Stop. Surface tampered file list verbatim. Do not recall those files. Ask user whether to audit diff or regenerate chain. Document in session notes. |
| Drift red ≥ 5% in window | Pull /compass-drift 30 --top 10. Surface most recent red incidents. Warn user that prior assistant outputs in those sessions may have been off-intent. |
| Memory empty | Tell user — no recall hits available. Don't pretend to find them. |
Two failure modes can stack (daemon down AND red drift). Surface both, don't pick one.
User: "Did we already pick a logging format?"
Assistant: [runs /compass-status]
daemon : ✓ pong
chain : ✓ C--Users-chunx-Projects-foo
drift : G:91% Y:8% R:1% (7d)
memory : foo · 23 entries
[runs /compass-recall "logging format"]
"Yes — 2 hits. Decision in feedback_logging.md from 2026-04-22: structured JSON + level filtering ..."User: "What were our deploy criteria?"
Assistant: [runs /compass-status]
chain : ✗ TAMPERED · 1 file (deploy_criteria.md)
"Memory chain mismatch on deploy_criteria.md — it was edited outside the writer. I won't recall from it
until we audit. `git log --diff-filter=M deploy_criteria.md` should show what changed; want me to run that?"User: "Search prior sessions for the Postgres pool size we settled on."
Assistant: [runs /compass-status]
daemon : DOWN (timed out)
chain : ✓
drift : G:84% Y:13% R:2% (7d)
"BGE daemon is down — falling back to keyword search. Hits will miss paraphrases. Start it with
`bash ~/.claude/plugins/nautilus-compass/daemon_start.sh`. Want me to keyword-search now or wait?"If /compass-status itself errors (e.g. ImportError, missing CLI):
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.