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> |
||
|---|---|---|
| .. | ||
| .claude-plugin | ||
| eval | ||
| hooks | ||
| skills | ||
| tests | ||
| .gitignore | ||
| README.md | ||
| config.yaml | ||
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-16kModelfile-baked model jqavailable 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 injectionhooks/session_context.py— UserPromptSubmit: project graph path injectionhooks/post_tool_use_write.py— PostToolUse: graph update on vault writeshooks/session_end.py— SessionEnd: episodic journal appendhooks/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 graphskills/write/SKILL.md— When and how to write to the vaultskills/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.