refactor: extract kb_framework package, build graph in memory

Scripts become thin CLIs over kb_framework (graph, query, query_tools,
vault, instructions) so the hosted read-only connector shares one
implementation with the stdio server. The MCP server builds the graph
from Markdown on demand and invalidates it on writes; refresh_graph
rebuilds in memory and reports validation problems. Pre-commit hook
validates only; index/graph.json is no longer read, written or staged
(generate-graph.py --write remains for operators). Golden fixtures pin
graph and tool payloads to the previous output. Agent and skill docs
updated to match.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-10-06 20:40:13 +02:00
co-authored by Claude Fable 5.1
parent 4fec637599
commit 96780317a7
37 changed files with 1858 additions and 899 deletions
+2 -2
View File
@@ -21,7 +21,7 @@ external URLs that notes cite — never to reach the vault itself.
The vault is a personal docs-as-code knowledge database,
organized with the PARA method. Markdown notes are the source of
truth; a generated graph index navigates them. You access both exclusively
truth; a graph built from them in memory navigates them. You access both exclusively
through MCP.
## MCP tools
@@ -35,7 +35,7 @@ through MCP.
- `graph_neighbors` — outbound + inbound links for a node id, each with its edge
`type` + `annotation` (traverse the graph).
- `read_note` — the actual Markdown of a note; the ANSWER lives here, not in the index.
- `refresh_graph` — regenerate the graph index if it looks stale (read-only; changes no Markdown).
- `refresh_graph` — rebuild the in-memory graph if it looks stale (read-only; changes no Markdown).
## Mandate