The ~/.claude/ directory was previously local-only — a machine wipe
would have lost the accumulated memory, custom skills, and settings.
This commit moves the durable parts into dotfiles with the same
symlink-to-home pattern used for CLAUDE.md, PENDING.md, REVIEWED.md,
and L2-BOOTSTRAP.md.
Preserved (symlinked from ~/.claude/* into here):
skills/audit/ — thinking-folder drift scanner
skills/symmetria/ — practice-of-return discipline
skills/vault-update-people/ — Obsidian People-file maintainer
skills/wake-up/ — session restoration
skills/wrap-up/ — session state capture
memory/ — 55+ memory files (MEMORY.md, sessions,
ledgers, project state, feedback, etc.)
settings/settings.json — user preferences (hooks, flags, no secrets)
Deliberately NOT backed up:
settings.local.json — contains operational secrets (HF_TOKEN,
SSH password in expect scripts); by naming
convention, *.local.* is not synced.
Needs separate review and probable rotation.
sessions/, history.jsonl, caches, telemetry — ephemeral
plugins/, marketplace skills and agents — reinstallable
The working copies at ~/.claude/skills/* and
~/.claude/projects/-Users-davidglidden/memory are symlinks into this
directory, so every write flows here automatically. install.sh
recreates the symlinks on a fresh machine.
FOLLOW-ON (flagged, not in this commit):
settings.local.json contains a HuggingFace token and an SSH password
as plaintext strings inside allowed Bash command patterns. These
should be rotated and moved to secure storage (keychain / pass /
env file outside the settings file).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
993 B
name, description, type
| name | description | type |
|---|---|---|
| BM_LOCAL_MODEL must match installed Ollama model | BMF summarizer silently fails if default qwen2.5:7b model is not installed — set BM_LOCAL_MODEL explicitly | feedback |
BMF's document summarizer requires a local generative model. The default is qwen2.5:7b but David has qwen3.5:4b installed. If the model name doesn't match, buildSharedLocalProvider returns null, the summarizer never wires, and ingested content reaches the logchain but never gets dispatched to vector — making recall return nothing.
Why: The model name check at bootstrap.ts:2451 uses startsWith on the model name prefix. No error is logged when the model isn't found — the summarizer just silently doesn't wire.
How to apply: Always start BMF with BM_LOCAL_MODEL=qwen3.5:4b (or whatever model is currently in Ollama). Check the boot log for "Document summarizer wired" to confirm. The cm-david:v2 fine-tuned model could also work with BM_LOCAL_MODEL=cm-david:v2.