Repository navigation
v0.13.0
Added
- Autonomous legacy repair at MCP server start: managed launchers (JSON + TOML), owned legacy
obsidian-mcp/obsidian-kbaliases, and instruction blocks — including unmarked legacy OpenCode/Cursor files — are reconciled and upgraded to the current format without a manualsetuprun.superskill upgradeperforms the same reconciliation on demand, with--dry-runand--json. setup --checkreports configuration drift read-only, and setup/upgrade dry runs now report what would actually change.- Session coordination hardening: exclusive TTL'd workspace leases (
allow_sharedfor co-tenants), heartbeat file-lease refresh with conflict reporting,expiredsessions with pid/host liveness,listInterrupted(surfaced byresume), and worktree cleanup gated on completion age and live pids. - Incremental knowledge index: a per-file
filestable withuser_versionmigration means only changed notes are re-parsed;removeVaultFileFromIndexkeeps prune/move/delete in sync; extract/capture write through the index and validate item types. - Search recall:
KnowledgeIndex.searchdoes AND-first retrieval with an OR fallback and recency-decayed ranking;graph_traverse resolveacceptsfilesand pre-filters natural-language vault queries. - MCP output bounding: compact JSON by default (
SUPERSKILL_PRETTY=1for pretty), a globalSUPERSKILL_MAX_RESPONSE_BYTEScap (default 64 KB) with explicit truncation markers,read.max_bytes, full-modeproject_context.max_tokens, andlimiton list actions (default 50, cap 500, negatives clamped). - Security: fail-closed skill installs for unknown/warn audits with an explicit
allow_unaudited/--allow-unauditedoverride, audit provenance inskill list/skill status, extended secret patterns (OpenAI, Anthropic, Google, AWS secret keys, Slack webhooks, generic tokens), whole-skill-directory prompt-injection scans, a local vault write audit trail, 0700/0600 telemetry permissions, trust-on-first-use Maven jar hashing, and pinned CDN assets with SRI (no external font requests). - Doctor health checks: version parity (package vs plugin/marketplace), managed-launcher staleness, config backup residue, stale graph/session/cleanup locks, session registry and knowledge-index schema health, and a real worktree-cache probe.
- CI version-parity gate (
npm run check:versions). - Rules: stem-variant
termsMatchmatching (e.g.cache↔caching) across router, principles, and traverse; phase inference scores the earliest matched keyword instead of the first matching group; loader warns on id/filename mismatches and content resolution falls back to the parsed index.
Changed
- MCP tool responses are compact JSON and bounded; error payloads stay uncapped.
writevalidates its mode and snapshots existing content before any replacement, not just explicitoverwrite.- Session registry operations never hold the registry lock across worktree cleanup; stale locks (registry, cleanup, graph) are recovered when their owning pid is dead, and a live pid is never stolen.
- Prune validates retention values (negative/NaN rejected), honors learning/brainstorm/ADR retention, computes
oldestFile, and keeps the knowledge index consistent on archive/delete. - Setup writes are atomic (temp file + revalidation + rename) and ownership-gated: foreign MCP entries are preserved and reported; instruction rewrites are scoped to managed markers so user content survives.
- Telemetry,
knowledge_rebuild, andqa_vizannotations/rate limits corrected; list tools paginate vialimit. graph cross-projecthelp text now states it is project-jailed by design.
Fixed
- Router
fileshints no longer flood selection with language-wide glob matches; keyword evidence outranks glob-only candidates and ties break by keyword/symbol hit counts. session completepersists the session note using the resolved project whenprojectis omitted (MCP clients no longer lose the memory loop).- Knowledge index writes no longer trigger a full project rebuild on the next search;
.stampstate migrates to the per-file table. - Traverse cache is sectioned (code/rules/vault) and written atomically with unique temp files; symbol spans detect stale files instead of returning wrong line ranges.
- Corrupt
graph.jsonis quarantined (graph.json.corrupt-<ts>) instead of permanently bricking mutations; stale graph locks are recovered by pid liveness. resumereports interrupted sessions;onboardcounts installed skills;linkrejects unsafe wikilink targets;snapshotdead branch removed; watchdog--countrejects NaN.- Doctor's worktree-cache check is a real probe instead of a hard-coded
ok.
Removed
- The
preuninstalllifecycle script (npm ≥ 7 never runs uninstall scripts). Usesuperskill teardownto remove MCP entries, instructions, slash commands, and the shared skill.
Install: npm install -g superskill or via Claude Code /plugin install superskill
Full Changelog: v0.12.0...v0.13.0