Completes design and implementation of vault/project graph skill split:
memory-vault (renamed from memory-query, no god-node injection),
memory-project (new, covers full project-graph lifecycle), routing rule
in ~/.claude/CLAUDE.md, and trimmed session-context.sh (project graph
pointer only). All three AI assistant directories (.claude/, .codex/,
.pi/) remain content-identical after mirroring. Spec locked and moved to
openspec/specs/project-graph-lifecycle/.
- Mark Steps 2a, 2b, 3, 6 complete; add implementation status notes
- Add "Implemented Components" section with progressive disclosure to CLAUDE.md
- Document installed plugin, Graphify, and vault setup as working baseline
- Update last-updated date to 2026-06-08
- Add standing instruction to keep CLAUDE.md current as implementation progresses
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces README.md as the main entry point and docs/USER-GUIDE.md to guide users through the memory system design and build plan.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Memory plugin installed globally at ~/.claude/plugins/memory/ with three hooks:
session-start.sh (background graphify rebuild), session-context.sh (UserPromptSubmit
vault injection), and post-tool-use-write.sh (session log + dirty-file tracking)
- Root cause fixed: SessionStart has last-write-wins semantics (undocumented); moved
vault context injection to UserPromptSubmit which concatenates multiple hooks
- Verified working: vault graph map (366 nodes, 346 edges) injected into every session
- ADR-014: Graphify is a structure extractor, not a topic clusterer — hub notes +
wikilinks must be author-provided; migration scaffolding is now a first-class deliverable
- Graph connectivity findings documented in 07-graph-connectivity-findings.md
- Archive 2026-06-05-add-memory-plugin change; sync memory-plugin-hooks and
memory-plugin-skills to stable specs
- Add graphify-out/ to .gitignore (build artifact)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move the completed graphify-ollama-setup change to changes/archive/2026-06-05-graphify-ollama-setup/ and promote its two delta specs into the stable spec set: local-model-selection and vault-graph-build. Verification passed with no critical issues; 16/16 tasks done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Executes all 16 tasks: local extraction-model benchmark with qwen2.5-coder:7b
selected as the default (7B parameter count, multi-modal, outperforms Mistral on
structured output), disposable vault graph build workflow, and supporting docs.
Adds extraction model options handbook, updates implementation process with
reconciliation strategy, and archives the scoring results.
Add new doc docs/memory-system/benchmark/local-llm-findings-2026-06-04.md
consolidating the local-LLM doc-extraction gut-check run. Key findings:
gemma4:e4b is the best installed model and adequate for the extraction
role (below frontier haiku but acceptable, catching ~45–60% of Opus's
high-value entities); GPU went unused due to NVIDIA driver version
mismatch (fix = reboot, pending); and Graphify owns the ollama call
(HTTP API, prompt/chunking/context/parsing internal) so raw-ollama
tuning is not production config. Add progressive-disclosure pointers
from 04-build-plan.md and 05-implementation-process.md.
Completed the benchmark run that gates Ollama model selection. Generated 18
reference fragments (6 cross-domain fixtures × 3 Claude tiers) and tightened
extraction spec rules based on first-run learnings. Updated implementation
status to reflect that reference set is complete and Ollama scoring is
unblocked. Populated fixture list in dispatch-prompt with final selection.
Replace the stale ~/brain placeholder with the locked vault location
~/Documents/SecondBrain so the build plan agrees with ADR-012 and the
runbook. Pre-existing inconsistency, surfaced during change verification.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Invert the build order to build-first / migrate-incrementally and
redesign Step 2c as a Claude reference-set benchmark.
- ADR-013 records the build-order inversion; CLAUDE.md locked-decisions
pointer updated
- New benchmark deliverable under docs/memory-system/benchmark/:
shared extraction spec + copy/paste dispatch prompt + reference-outputs
- Runbook (05): Step 1 = fixture selection with bulk migration deferred;
Step 2c = Claude-tiers-only reference set, quality-only metrics, Opus
as gold-standard rubric (produces references, not a model choice)
- 04-build-plan reconciled to the new build order and benchmark design
- Sync incremental-migration + reference-extraction-benchmark specs into
openspec/specs/; archive the completed change
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Update CLAUDE.md: clarify the knowledge layer now specifies the
~/Documents/SecondBrain vault, six-facet taxonomy, and reference the
locked decisions (ADR-011, ADR-012).
Update 02-system-design.md: align with faceted taxonomy (type/
client/project/domain/tool/convention/ plus scope/), express hierarchy
via hubs + wikilinks + Graphify edges rather than nested paths, name
the vault explicitly, update build-plan timestamp.
Add 05-implementation-process.md: concrete build runbook integrating the
locked decisions — seven steps bottom-up from vault migration through
plugin packaging, with the Graphify + Ollama model benchmark (Step 2c)
marked as the critical gate. Open questions deferred or defaulted; most
are non-blocking.
Design milestone: tag taxonomy and vault location locked.
Lock two design decisions: (1) six independent namespaced tag facets
(type/client/project/domain/tool/convention/) plus scope/, with
hierarchy expressed via hub notes and Graphify edges, not nested paths;
(2) adopt the existing ~/Documents/SecondBrain vault as the knowledge
layer rather than creating a new one — it is already flat, governs to
the correct semantics, and contains useful patterns (proactive-query
spec, tag-inference table).
See ADR-011 and ADR-012 for rationale, rejected alternatives, and
migration cost (mechanical schema updates on existing ~20 notes).
Under the new orchestrator-subagent pattern, version control is
delegated — the orchestrator (Claude) dispatches git operations
to subagents rather than calling them directly. Update the allowed
operations list to reflect this constraint.
Establishes a tool-based delegation rule: all file I/O and shell
commands go via subagents; only git commands, Skill invocations, and
conversational responses are permitted at orchestrator level. Explicit
stop-and-ask rule removes wiggle room for self-authorized exceptions.
Includes model routing table covering the actual work types in this repo.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Initialize the repository with configuration for spec-driven change
management via OpenSpec. Add CLAUDE.md to document the project's
purpose (documentation-only design phase for a personal memory system),
directory layout, current architecture, and repository conventions
including provenance discipline and ADR practices. Add .gitignore to
exclude local AI-assistant skill mirror directories (.claude/,
.codex/, .pi/) which are kept in sync locally but not versioned.
The handoff document was a session artifact; it is no longer needed.
Update all architecture docs to reflect the design pivot: Graphify
knowledge graph supersedes the earlier Ruby/SQLite tag-index CLI and
the deferred QMD semantic layer. The vault metadata (summary + tags)
is retained; only the bespoke index is removed. Update ADRs 003, 005,
and 006 to note they are superseded by ADR-010 (Graphify), and update
all system-design doc references from the three-layer model to the
final two-layer model (episodic + knowledge).
Graphify eliminates the need for the Ruby/SQLite tag index (Step 2 on
the critical path). It provides entity extraction and relationship
inference over vault docs via a local SLM, and deterministic code
graphs for projects via AST — both at significantly lower complexity.
This commit records the architecture decision and evaluation that
justifies the pivot.
Vault graphs still require author-maintained summaries (human router
hint), but tagging discipline is now optional. Project code graphs are
free (no LLM cost). Stale-node drift requires periodic `--force`
rebuilds; strategy documented for SessionStart hooks.
The three-layer memory system remains unchanged: episodic (memsearch),
knowledge (Graphify + vault), integration (custom glue). See
06-graphify-evaluation.md for the open questions and limitations.
This documents the complete architecture for a personal, cross-project
memory system for Claude Code: three-layer (episodic/knowledge/deferred-
semantic) design using Milvus Lite for fast local storage with lazy
remote sync. Includes video synthesis, architecture decisions with
rejected alternatives (MemPalace, Mem0, Postgres, LightRAG), concrete
build plan with scripts and hooks, and initial handoff for implementation.