Files
dotfiles/claude/memory/bmf-details.md
T
David F GliddenandClaude Opus 4.7 119285cf43 claude: back up custom skills, memory, and settings with symlink pattern
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>
2026-04-17 13:51:04 +02:00

4.2 KiB

name, description, type
name description type
CapableMind L1 Detailed State Technical details about BMF deployment, issues, and architecture on David's machine project

CapableMind L1 — Technical Details

Last updated: 2026-04-08

Current State

  • Version: v0.62.0 (main, tag v0.62.0). 65 commits since v0.61.0.
  • Instance: mindfabric-00. Data: ~/.capablemind/data/mindfabric-00/
  • Replay: Phase 1 (571 events) completed fast (~80/min). Phase 2 (21,955 events) running at ~14 events/min. ETA ~26 hours from 2026-04-07 evening. Local patch applied to replay-coordinator.ts (resource guard, counter, logging).
  • Summarizer: wired with qwen3.5:4b (student-only, no teacher)
  • Snapshots: working (Amendment 53) — but stale snapshots must be cleared after repair (replay-coordinator restores cursor from snapshot, skips events)
  • launchd: com.capablemind.bmf (KeepAlive: true). Secondary com.capablemind.bettermemories was a zombie — booted out.

Replay Stability (v0.62.0)

Major improvements by Seb (c073dca):

  • DEFINE EVENT triggers disabled during replay — eliminates 20-30x write amplification per event (entity, temporal, preference triggers)
  • HNSW vector index dropped during replay, rebuilt in bulk after — was 328x write ratio
  • Concurrency cap: semaphore limits to 4 parallel ops (was ~112)
  • Batch size: 16→4. Circuit breaker: 5→8 threshold, 30s→120s reset. CPU pause: 0.80→0.65.
  • Post-replay reconciliation: temporal coverage recount, entity mention reconciliation after triggers restored
  • Result: 1300% CPU → 30% CPU. Replay now viable.

Issue #120 (Phase 2 stuck): resource-pause infinite loop. Local fix applied. 7 additional findings in the issue.

Recent Amendments (from Seb, since v0.61.0)

  • Amendment 58 — Observe Quality Gate (full synthesis)
  • Amendment 59 — Inference Scaffolding via TSDoc (413 source files)
  • Amendment 60 — Observation-Recall Coupling (David's branch merged)
  • Amendment 61 — Epistemic Integrity: confidence floor (I-CF), confidence ceiling (I-CC), earned confidence type, dual bloom filter (understood vs degraded), source_classification_confidence on all storage modules, confidence-weighted recall ranking, epistemic health reporting, regression tests
  • SurrealKV deadlock fix, entity extraction overhaul, weighted RRF fusion
  • skipDispatch architecture: raw observations go to logchain only, summaries dispatched to modules
  • Circle knowledge routing (Amendments 55/55A/55B/56), circle interaction tools

Architecture Notes

  • skipDispatch: Connector observations use skipDispatch: true — logchain only. The summarizer produces high-quality summaries that flow through the full pipeline. Without summarizer, vector stays empty.
  • factory_reprocess: Re-dispatches existing logchain entries through the pipeline. Resumable (tracks reprocess_last_seq).
  • Model name matching: buildSharedLocalProvider checks startsWith on model name prefix. Default qwen2.5:7b — must set BM_LOCAL_MODEL if using a different model.

Deployment Architecture

  • Claude Code connects via HTTP (~/.mcp.json → streamable-http → http://localhost:3011/mcp)
  • Claude Desktop owns the MCP stdio process (provides sampling/teacher) — but API key commented out
  • Hooks need HTTP: even with stdio MCP, hooks talk to port 3011

Ollama Models on Disk (verified 2026-04-05)

  • qwen3.5:4b — active summarizer model
  • mxbai-embed-large — embedding model
  • cm-david:v2 — LoRA fine-tune, produces garbage (trained on v0.48.0 era data)
  • cm-keystone-ranking (3 versions) — suspect, same training era

Open Issues (on GitHub)

  • #120 — Phase 2 replay infinite resource-pause loop — local patch applied, running
  • #87 — Replay findings — entity Levenshtein + bloom monitoring gaps
  • #118 — Snapshot manifest crash safety — CLOSED (v0.62.0)
  • #88 — Temporal upsert race — CLOSED (v0.62.0)
  • #78 — SIGILL crash — CLOSED (v0.61.0)
  • #24 — Teacher transport wired before MCP capabilities known (open)
  • #64 — Recall query starvation during active ingestion
  • #65 — Compound failure pattern for bulk ingestion on laptop