Vyasa KG — ACL (viewer-mask) Engine + UI Handoff Prompt
Engine (Python, stdlib only) — /Users/yeshwanth/Code/Personal/vyasa/scripts/
gen_kg_index.py — generator: pack dir → kg.index. Parses @-sections.
kg_query.py — query engine: Index (parse, fold, nodes), run() (the DSL stages).
UI / renderer (NOT yet read — read these first) — /Users/yeshwanth/Code/Personal/vyasa/
core.py, main.py, extensions_builtin/tasks/static/tasks.js — the served visualizer and the
View dropdown (lenses). Find where @views are rendered; the ACL lens hangs off the same place.
SIFT pack — /Users/yeshwanth/Code/Divami/sift-tech/snapshot/sift.kg/
kg.schema — has the @acl block (classes, role grants, person→role). Authored, inert.
kg.attrs — has the multi-label cls: block (each node tagged 1–3 classes).
kg.nodes, day01.context … day19.context, kg.index (generated, 3184 facts).
Run after any pack edit:
PY=/Users/yeshwanth/.venv/bin/python
$PY .agents/skills/vyasa/scripts/gen_kg_index.py <pack-dir> <pack-dir>/kg.index
$PY .agents/skills/vyasa/scripts/kg_query.py <pack-dir>/kg.index '<pipeline>'