Skip to content

sqlite canonical judgment graph

lipluscodex edited this page Aug 23, 2026 · 2 revisions

SQLite canonical judgment graph

Question

NGR 自身の Decision Structure を、人間向け Wiki entry ではなく machine-native な判断グラフとしてどこに保持するか。

Current resolution

NGR リポジトリ自身を先行実験対象とし、判断ノード、根拠、状態、provenance、typed relation の正本を NGR の SQLite へ移す。AI は raw SQL ではなく、判断追加、更新、置換、休眠、復元、削除候補を原子的に処理する domain-level write API を使う。

GitHub Wiki は正本から外し、必要に応じて SQLite から生成する人間向け view とする。今回の先行実験では Wiki 表示の完全互換を必須条件にしないが、SQLite の判断データ、関係、変更履歴を失わない backup、復旧、決定論的 export または再構築可能性は維持する。

暫定運用では、人間に対する Decision Structure Wiki を読み取り専用とする。人間は Wiki を直接編集せず、判断の追加、更新、置換、休眠、復元は SQLite の domain API を通す。自動生成機構が未実装の間は現行 Wiki snapshot を読み取り専用で保持し、実装後は SQLite から一方向に生成する view とする。いずれも Wiki の本文や構造を SQLite への逆入力には使わない。

Edges

Background

現行 Decision Structure は state-form entry と明示的 relation により、時系列ログより強い判断グラフを Wiki 上に表現している。一方、entry 数と relation が増えるほど、人間向けページ形式は機械処理にも人間の通読にも冗長になる。NGR はすでに SQLite に document node と typed edge を保持し、Decision Structure を検索対象として利用できるため、読取側より書込側と lifecycle 管理が残る境界になっている。

Constraints

  • AI に raw SQL を公開しない。
  • write API は node、relation、provenance、lifecycle state を一つの transaction boundary で更新する。
  • 物理削除と、通常検索から外す論理的忘却を分離する。
  • supersede は旧判断を暗黙上書きせず、後継への到達経路を維持する。
  • dangling edge、部分更新、二重 successor は fail closed にする。
  • 既存 retrieval、feedback、MCP contract の既定挙動を壊さない。
  • 既存 Wiki entry の本番移行は、fixture migration と round-trip integrity の検証後に行う。
  • 暫定運用中、人間による Decision Structure Wiki の直接編集を行わない。
  • Wiki は SQLite からの一方向生成 view とし、stable identity、revision、lifecycle、provenance、typed relation は SQLite だけで管理する。
  • Wiki 自動生成が実装されるまでは、SQLite の変更が現行 Wiki snapshot に自動反映されるとは主張しない。
  • 人間による編集が必要になった場合は、stable identity と競合解決を備えた双方向同期を別判断として設計するまで本制約を維持する。

Conclusion

NGR の判断構造は SQLite 内の machine-native graph を正本とする。暫定的に、人間は Decision Structure Wiki を読むだけとし、判断の変更は SQLite の domain API に集約する。自動生成機構が未実装の間は Wiki snapshot を読み取り専用で保持し、実装後は一方向に生成する optional view とする。人間編集を再導入する場合だけ双方向同期の設計を改めて判断する。

Related

Clone this wiki locally