Files
deepseek-harness/packages/storage
imccyu f5506cf35f refactor(storage): rename dsh-domain to dsh-storage-domain
The bare 'domain' name was too generic for a published package. The
directory moves to packages/storage/storage-domain, the package becomes
@deepseek-ai/dsh-storage-domain, and the plugin/invariant names follow;
the ctx surface (ctx.storage.domain), the domain/changed event, and all
runtime behavior are unchanged. References, catalogs, graphs, and the
bilingual design note move together.
2026-07-25 11:08:04 +08:00
..

storage/ — non-session storage family

The storage family persists everything that is not a session event log: a hub where named backends and typed data forms meet. Design record: domain KV storage Agent Note.

Package Role ctx key
storage/ The hub: named backend registry + merge-extensible data-form mounts, backend facet vocabulary, shared conformance suite ctx.storage
storage-json/ JSON backend: one human-readable file per unit, atomic whole-file rewrite registers backend json
storage-sqlite/ SQLite backend: one database hosting all routed units, document-per-row registers backend sqlite
domain/ Domain data form: zod-validated records, per-domain write chain, domain/changed events, backend routing by configuration mounts ctx.storage.domain

Backends own one medium each and expose data-shape facets (kv today; an append-log facet is reserved for the future session-backend migration). Consumers never touch backends directly — they open declared domains through the domain form.