Skip to content

graphify — High-Quality Full-Vault Re-Run

Section titled “graphify — High-Quality Full-Vault Re-Run”

Promoted from KB-OS-Context §5 + long-standing UPGRADES item. graphify turns a folder of files into a navigable knowledge graph (community detection + interactive HTML + GraphRAG JSON + GRAPH_REPORT.md). It answers a question qmd doesn’t: “how is this connected” (entities, communities, relationships) vs. qmd’s “find it by meaning.” The two are complementary — qmd can even index graphify’s wiki output.

Current state: only two stale partial runs exist (MBR/graphify-out/, Core/Misc/graphify-out/). A high-quality full-vault run has never been done — it was deferred waiting for (a) vault content to stabilize and (b) an API key for full semantic extraction with parallel subagents (per the UPGRADES note, /graphify must run from a main Claude Code session, not a background agent, for the API-key semantic pass).

Since deferral, the vault has stabilized (Context System + Memory v1 shipped; structure stable per STATUS), so this is now actionable.

One high-quality graphify run over the stabilized unified vault, producing a current “how it connects” layer, with a decision on where the output lives and whether/how it feeds qmd.

  • Scope: whole vault (/mnt/d/FSS/KB) in one graph, or per-business (Core/MBR/…) graphs? A single vault-wide graph shows cross-business connections but is larger; per-business is cleaner but loses cross-links. (Lean: whole-vault with --mode deep.)
  • Output home + SSOT: the two stale graphify-out/ dirs — delete/replace? Where does the canonical graphify-out/ live (vault root? Core/Misc/?), and is it gitignored (per-device artifact, like .codegraph/ + qmd index — Principle #8) or committed? Recommend gitignored — it’s a regenerable derived artifact, not source truth.
  • Exclusions: mirror the qmd kb collection’s noise exclusions (Clippings/, archive/, .obsidian/) so the graph isn’t polluted — the same noise that hurt qmd recall will hurt the graph.
  • qmd handoff: after the run, add graphify-out/’s wiki/report output as a qmd collection (or into kb)? Decide based on whether the report text adds recall value.
  • Resolve the open decisions above (scope, output home, gitignore, exclusions)
  • Clean up / supersede the two stale partial runs (MBR/graphify-out/, Core/Misc/graphify-out/)
  • Run /graphify <scope> --mode deep from a main session (API key present) — not a background agent
  • Verify outputs: interactive HTML opens, GRAPH_REPORT.md reads sensibly, communities are coherent (spot-check a few cross-business links)
  • Decide + wire the qmd handoff (index the graph output, or not)
  • Record the run + decisions in KB-OS/logs/; update KB-OS-Context §5 (mark done) and the UPGRADES Graphify section
  • (If gitignored) add graphify-out/ to .gitignore with a one-line rationale, like .codegraph/
  • One current, high-quality full-vault graph exists; stale partial runs superseded.
  • Output home + gitignore decision made and applied (SSOT clean — no duplicate/stale graphify-out/ dirs left alive).
  • graphify vs qmd division of labour documented in KB-OS-Context (graphify = connections, qmd = meaning).
  • Skill: ~/.claude/skills/graphify/SKILL.md (/graphify <path> --mode deep, --update, --neo4j, etc.)
  • Deferred note: UPGRADES → “Graphify (Phase 2+)” + “Graphify high-quality re-run”
  • Complementarity + division of labour: KB-OS-Context §2 map + §5
  • Precedent for gitignoring a derived index: .codegraph/ + qmd cache (Principle #8)

Summary:

  • Resolved open decisions: whole-vault scope, --mode deep, output stays at vault-root graphify-out/ (already gitignored), exclusions mirror qmd’s kb collection noise rules
  • Superseded the two stale partial runs — moved (not deleted, permission denied a direct rm -rf) to a session scratchpad backup
  • Ran the full pipeline from this main session: 541 files detected → AST (4 code files) + 23 parallel semantic-extraction subagents (--mode deep) → merged into 2,103 nodes / 2,671 edges / 329 communities
  • Mid-run judgment call, confirmed with Talbot via AskUserQuestion: excluded ~85 auto-generated daily MBR/Logs/Ops/*_Rate-Scanner-Ops.md files from semantic extraction (near-identical machine templates, no unique-entity value) — saved ~4/27 subagent chunks
  • Session hit its Claude usage limit twice mid-run; all subagent output had already been written to disk before each API error, so no extraction work was lost — verified every chunk before merging
  • Verified outputs: graph.html structurally valid, GRAPH_REPORT.md God Nodes/Surprising Connections read sensibly, spot-checked real cross-business links (MBR Strategy ↔ CRM data flows, Core research ↔ Later/StrategicPlanUpgrades, MBR IT ↔ rate-scanner)
  • qmd handoff: added graphify-out/GRAPH_REPORT.md as its own qmd collection (graphify), embedded, verified searchable
  • Recorded the run in KB-OS/logs/2026-07-13_Graphify-Fullvault-Rerun.md; updated KB-OS-Context §5 and UPGRADES (marked done)
  • gitignore: no change needed — **/graphify-out/ already covers the vault-root output

Next Steps for Talbot:

  • Open D:\FSS\KB\graphify-out\graph.html in a browser to visually confirm the graph renders and communities look coherent (I verified it’s structurally valid HTML but couldn’t click through it from this environment) 1.
  • Confirm the two stale partial-run backups (moved to session scratchpad, not deleted) can be permanently deleted — or say if anything in them is still wanted 1.
  • Optional: review the 304 heuristically-labeled communities (vs. the 25 hand-crafted ones) next time the graph is browsed, and flag any whose label is unhelpful 1.