cc-os/plugins/os-vault
jared 638c6d03ed os-vault: WS2 write-behavior eval harness + untuned baseline grid
plugins/os-vault/eval/ — held-out unprompted vault-write discrimination eval:
ambiguity ladder L1 explicit -> L3 conceptual, paired positives/negatives,
6 run-set scenarios on a new reportgen Ruby fixture + 6 frozen reserve twins,
isolated sandbox vault, headless-only runner, deterministic-first Ruby checker
(narrow judge fallback stubbable via OS_VAULT_EVAL_JUDGE_CMD), model-free
self-test 21/21. Scenario Task blocks are held-out; reserve never read.

Isolation seam: OS_VAULT_PATH overrides vault_path via config.load_config();
OS_VAULT_SKIP_REBUILD suppresses the SessionStart graphify rebuild. Write
SKILL.md contract fix (defers to vault-conventions.md) + Vault location section.

Baseline grid (run-set x sonnet/haiku x 3 reps + 1 counted canary, 37 reps):
positives 1/19, negatives 18/18. L1 persists every rep but routes to built-in
auto-memory instead of the vault; L2/L3 mostly don't persist; zero
over-triggering. Wording loop (step 4, not started) targets: trigger at
L2/L3, route to vault at L1. Loop-input candidates: vault note
os-vault-write-eval-baseline-grid-results. CLAUDE.md pointers updated for
this and os-status.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:46:22 -04:00
..
.claude-plugin Rename memory plugin to os-vault; fix marketplace registration 2026-07-03 09:43:18 -04:00
eval os-vault: WS2 write-behavior eval harness + untuned baseline grid 2026-07-07 12:46:22 -04:00
hooks os-vault: WS2 write-behavior eval harness + untuned baseline grid 2026-07-07 12:46:22 -04:00
skills os-vault: WS2 write-behavior eval harness + untuned baseline grid 2026-07-07 12:46:22 -04:00
tests Rename memory plugin to os-vault; fix marketplace registration 2026-07-03 09:43:18 -04:00
.gitignore Rename memory plugin to os-vault; fix marketplace registration 2026-07-03 09:43:18 -04:00
README.md Rename memory plugin to os-vault; fix marketplace registration 2026-07-03 09:43:18 -04:00
config.yaml Rename memory plugin to os-vault; fix marketplace registration 2026-07-03 09:43:18 -04:00

README.md

Memory Plugin for Claude Code

Global Claude Code plugin that integrates the SecondBrain vault and Graphify knowledge graph into Claude sessions.

Requirements

  • Graphify v0.8.31 (pinned — do not upgrade without verifying the patch)
  • Ollama with the qwen25-coder-7b-16k Modelfile-baked model
  • jq available on PATH

Critical: reasoning_effort patch

Graphify v0.8.31 requires a reasoning_effort:"none" patch to prevent hanging on Ollama extraction. After any pip upgrade graphifyy, verify the patch is still present:

python -c "import graphify; import inspect; src = inspect.getsource(graphify); print('patch present' if 'reasoning_effort' in src else 'PATCH MISSING — reinstall v0.8.31')"

If the patch is missing, reinstall the pinned version:

pip install graphifyy==0.8.31

Modelfile-baked context

The num_ctx setting (8192) is baked into the qwen25-coder-7b-16k Ollama Modelfile rather than passed as an env var, because GRAPHIFY_OLLAMA_NUM_CTX propagation is unreliable. If you create a new Modelfile variant, bake num_ctx in directly.

Hooks

  • hooks/session_start.py — SessionStart: staleness check, detached rebuild, vault context injection
  • hooks/session_context.py — UserPromptSubmit: project graph path injection
  • hooks/post_tool_use_write.py — PostToolUse: graph update on vault writes
  • hooks/session_end.py — SessionEnd: episodic journal append
  • hooks/memsearch_sync.py — SessionEnd: memsearch auto-commit+push (ADR-015 behavior, split from session_end by ADR-016)

Shared modules: hooks/config.py, hooks/hook_io.py, hooks/session_state.py.

Skills

  • skills/query/SKILL.md — When and how to query the vault graph
  • skills/write/SKILL.md — When and how to write to the vault
  • skills/reorganize/SKILL.md — Plan-mode vault consolidation

Configuration

Edit cc-os/plugins/os-vault/config.yaml (or via the symlink ~/.claude/plugins/os-vault/config.yaml) to change vault path, model, or thresholds.