目的
dense(Vectorize)+sparse(D1 FTS5) の RRF ハイブリッドにグラフ索引を additive に追加。判断知(Decision Structure = liplus-language wiki の kebab エントリ)の関係を D1 に edges として索引化し、search に opt-in のグラフ展開を足す。judgment-learning が関係を辿って関連判断を拾えるようにする。
前提
- Phase 0 実測: DS は関係実体として 72% 連結(slug 言及 51 edges / 36 nodes)。現状 prose 言及で索引化されていない。
- エッジ抽出は決定的 slug-match(LLM 不要)。dst vector_id は
wikiDocVectorId で計算。
- 評価は ship 後の実運用観測(Li+ ネイティブ)。offline harness は作らない。
制約 / 設計方針
- 完全 additive・既定 off(
graph_expand=false で既存 retrieval と byte-identical = 回帰なし)。
- まず generic "mention" edge のみ(typed supersede/depend/conflict は後続)。migration は
IF NOT EXISTS。auto モード: AI self-review+merge+deploy、deploy 後 observe。
対象ファイル / フック
migrations/0002_graph_edges.sql (doc_edges + index)
src/graph.ts (抽出 indexWikiEdges / upsert / 再帰CTE queryNeighbors / delete / neighbor enrich)
src/pipeline/embed-doc.ts (wiki index 直後に抽出フック)
src/mcp.ts (search に graph_expand/graph_hops、RRF 後に neighbor append、ResultItem 拡張)
src/poller.ts (wiki 削除の edge fan-out)
src/index.ts (POST /admin/backfill-edges)
docs/0-requirements.{ja,}.md (graph 節)
実装・検証
実装と検証の詳細 = PR #156 本文 + docs/0-requirements の "8. Graph Index" 節(永続・RAG 索引対象) を参照。
注: 当初この設計詳細を harness のローカルプランファイルに置いていたが、外部記憶原則(language-definition.md「External memory = issue/docs/commit, reproduce judgment across sessions/AIs」)に反する dangling 参照だったため、issue 本文(=外部記憶)へ移設した。
目的
dense(Vectorize)+sparse(D1 FTS5) の RRF ハイブリッドにグラフ索引を additive に追加。判断知(Decision Structure = liplus-language wiki の kebab エントリ)の関係を D1 に edges として索引化し、
searchに opt-in のグラフ展開を足す。judgment-learning が関係を辿って関連判断を拾えるようにする。前提
wikiDocVectorIdで計算。制約 / 設計方針
graph_expand=falseで既存 retrieval と byte-identical = 回帰なし)。IF NOT EXISTS。auto モード: AI self-review+merge+deploy、deploy 後 observe。対象ファイル / フック
migrations/0002_graph_edges.sql(doc_edges + index)src/graph.ts(抽出 indexWikiEdges / upsert / 再帰CTE queryNeighbors / delete / neighbor enrich)src/pipeline/embed-doc.ts(wiki index 直後に抽出フック)src/mcp.ts(searchに graph_expand/graph_hops、RRF 後に neighbor append、ResultItem 拡張)src/poller.ts(wiki 削除の edge fan-out)src/index.ts(POST /admin/backfill-edges)docs/0-requirements.{ja,}.md(graph 節)実装・検証
実装と検証の詳細 = PR #156 本文 + docs/0-requirements の "8. Graph Index" 節(永続・RAG 索引対象) を参照。