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:
@@ -1,11 +1,18 @@
|
||||
"""Resolve the selected data directory consistently for framework command-line tools."""
|
||||
"""Resolve the selected data directory consistently for framework command-line tools.
|
||||
|
||||
Also puts the framework root on `sys.path` so every script can import the
|
||||
`kb_framework` package from a plain checkout without installing it.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
FRAMEWORK_ROOT = Path(__file__).resolve().parents[1]
|
||||
if str(FRAMEWORK_ROOT) not in sys.path:
|
||||
sys.path.insert(0, str(FRAMEWORK_ROOT))
|
||||
|
||||
|
||||
def parse_vault_args(parser: argparse.ArgumentParser) -> argparse.Namespace:
|
||||
|
||||
Reference in New Issue
Block a user