Files
deepseek-harness/packages/session-persistence
Tianyi Cui c9d3d5d557 fix(jsonl): reject unusable roots at plugin load
A configured root that already exists as a file or unreadable directory cannot host cwd buckets, but the backend previously mounted and deferred that deterministic configuration error until a later list or write.

Probe the resolved root while the plugin loads, surface every error except ENOENT, and keep an absent root valid for lazy first materialization. Document the timing contract, regenerate the config catalog, and pin the non-directory case at the load boundary.
2026-07-20 17:42:44 +08:00
..
2026-07-19 22:52:03 +08:00

session-persistence/ — persistence capability family

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-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.