Skip to content

feat(decisions): make SQLite the canonical judgment graph - #117

Merged
lipluscodex merged 2 commits into
mainfrom
116-featdecisions-make-sqlite-the-canonical-judgment-graph
Aug 22, 2026
Merged

feat(decisions): make SQLite the canonical judgment graph#117
lipluscodex merged 2 commits into
mainfrom
116-featdecisions-make-sqlite-the-canonical-judgment-graph

Conversation

@lipluscodex

Copy link
Copy Markdown
Member

Closes #116
SQLite を judgment graph の machine-readable 正本とし、原子的 domain API、MCP write surface、論理的忘却と制限付き物理削除を追加します。
決定論的 import/export、backup/restore、integrity 検証と lifecycle・round-trip・既存 contract 回帰テストを整備します。

判断の stable identity、revision、lifecycle、typed relation を SQLite に保存し、原子的な domain write API と MCP surface を追加する。論理的忘却と制限付き物理削除を分離する。

決定論的 import/export、SQLite backup/restore、integrity 検証、および lifecycle・atomicity・round-trip・既存 contract 回帰テストを追加する。
@lipluscodex lipluscodex linked an issue Aug 22, 2026 that may be closed by this pull request
@lipluscodex lipluscodex self-assigned this Aug 22, 2026
@lipluscodex

Copy link
Copy Markdown
Member Author

追加修正として、以下を実装・検証します。

  • hard delete が active judgment、inbound relation を持つ archived judgment、supersede history を持つ judgment を原子的に拒否するテストを追加する。
  • archive 済みの再 archive と active の再 restore を fail closed にし、同一 revision で updated_at を暗黙更新しないことをテストする。
  • superseded_by、archived lifecycle、successor の明示的 supersedes relation の整合性を integrity 検証へ追加する。

Finding 1 accepted: hard delete の active、inbound relation、supersede history 拒否は Issue #116 の物理削除境界を直接証明するため、各失敗前後の graph 一致をテストする。

Finding 2 accepted: lifecycle no-op の成功は同一 revision で updated_at を書き換えるため、再 archive / 再 restore を fail closed にし timestamp 不変を検証する。

Finding 3 accepted: non-dangling だけでは supersession の意味整合を保証できないため、superseded_by、archived lifecycle、明示 supersedes relation の双方向整合を integrity check と corruption tests に追加する。

@lipluscodex lipluscodex left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

セルフレビュー: PASS

  • 受入条件: SQLite の stable identity / revision / lifecycle / provenance / typed relation、atomic domain write API、論理的忘却と制限付き物理削除、deterministic import/export、backup/restore、integrity 検証を確認。
  • 安全境界: active / inbound relation / supersession history を持つ hard-delete の拒否と atomic preservation、lifecycle no-op 拒否、supersession 双方向整合性を確認。
  • 既存契約: retrieval / feedback / MCP の回帰テストを含む全 272 tests、CI、Optional MCP adapter が成功。
  • スコープ逸脱: なし。既存 Wiki entry の本番移行は Issue の制約どおり未実施。
  • 次: auto mode のため mergeable state 確認後に squash merge。

@lipluscodex
lipluscodex merged commit 4bfe18e into main Aug 22, 2026
2 checks passed
@lipluscodex
lipluscodex deleted the 116-featdecisions-make-sqlite-the-canonical-judgment-graph branch August 22, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(decisions): make SQLite the canonical judgment graph

1 participant