Files
deepseek-harness/packages/session-persistence
Tianyi Cui db0b43bf86 persistence: advance schemas after removing policy columns
The simplification deletes sandbox_mode and approval_policy from the parent branch's SQLite layouts. Restoring master's older version numbers would violate the monotonic schema contract and could make a database created by the parent look current under a different layout.

Advance durable session persistence from schema 11 to 12 and the disposable session-query index from 6 to 7. The former rejects the incompatible parent layout; the latter resets its derived tables through the existing version-mismatch path.

JSONL shares SESSION_FORMAT_VERSION 0 during pre-release, so explicitly reject the retired sandboxMode and approvalPolicy header fields instead of silently dropping the only inherited policy facts from a parent-produced child log. New logs carry those facts as ordinary seeded events.

Focused JSONL, SQLite persistence, and SQLite query suites cover all affected source lines and branches.
2026-07-28 21:40:51 +08:00
..
2026-07-26 05:06:39 +08:00
2026-07-26 05:06:39 +08:00

session-persistence/ — persistence capability family

English | 中文

The durable session-persistence seam and its storage backends. The interface package owns the abstract SessionPersistence service and the shared write coordinator; the backends are concrete implementations that register on ctx.sessionPersistence. All product packages.

Package Role ctx key
session-persistence/ Persistence seam + shared write coordinator ctx.sessionPersistence
session-checkpoint-policy/ Semantic durability barriers for agent requests and tool execution (wraps ctx.llm / ctx.tools, listens on agent events)
session-persistence-jsonl/ JSONL-sidecar persistence backend (registers ctx.sessionPersistence)
session-persistence-sqlite/ SQLite persistence backend (registers ctx.sessionPersistence)

The interface lives at session-persistence/session-persistence/; backends are flat siblings. A new storage backend joins here and registers on ctx.sessionPersistence. See session persistence.