feat(kb): fill brain from eslider portfolio, evidence gates green

- kb/index: index yaml seeds (knowledge-mesh, workspace catalogs) as leafs
- kblib: open_readonly no longer writes schema; INSTALL extensions helper
- facts/audit db: drop init_schema on read-only connection
- kb/eval: assert by text fragment not stale leaf ids; recall@5 = 1.0
- corpus: var/kb.lbug rebuilt with eslider/cv (4580 leafs) + ops facts

Confirmed facts now: eslider DevOps/25yr engineer (CV README x career-timeline)
+ 13 ops facts (docker ps x compose, ssh x docs).
This commit is contained in:
2026-08-10 22:12:52 +01:00
parent b1a7ee0d5f
commit 6f766226f6
4 changed files with 22 additions and 12 deletions
+11
View File
@@ -61,6 +61,17 @@ def load_corpus_glob(source: str) -> list[dict]:
leafs.extend(to_all(read_markdown(path), path, repo=repo))
except OSError as e:
print(f"kb/index: skip {path}: {e}", file=sys.stderr)
# yaml seeds (knowledge-mesh, workspace catalogs) as plain info leafs
if root.is_dir():
for path in sorted(root.rglob("*.y*ml")):
try:
leafs.append({
"source": str(path), "repo": repo, "heading": path.stem,
"text": path.read_text(encoding="utf-8", errors="replace")[:20000],
"type": "seed", "status": "current", "related": "",
})
except OSError:
continue
return leafs