New package on the domain data form: one session_projcache record per
session (key → {stateVersion, observedSeq, state}), landing beside
workspace.json under the shipped json backend. Write policy: two mandatory
points (turn/end + session disposal) with count/interval throttling between
them (both Config fields required — flush cadence is a deployment choice);
every background write is fail-soft (log + stay stale, self-heal on the
next write or cold read). coldSnapshot(id) runs the read ladder — cached
rows + persistence readFrom from the registry's anchored restore floor +
registry restore + fail-soft write-back — detecting crash-repair-shrunk
logs via the one-below anchor and degrading to a single full re-read.
Mounted in apps/cli/cordis.yml (writeEveryEvents 200 / writeIntervalMs
5000).
842 B
842 B
session-projection/
English | 中文
Session-projection capability family: the seam through which domain host plugins serve whole current values of log-derived per-session state to client carriers.
| Package | ctx key | Role |
|---|---|---|
session-projection |
sessionProjections |
The interface package: the merge-extensible SessionProjectionMap type table, the ProjectionDefinition unit contract, and the eagerly driven registry carriers read synchronously |
session-projection-cache |
sessionProjectionCache |
Persisted projection cache: durable per-session unit checkpoints over the domain data form, throttled write-behind with mandatory turn/end + detach points, and the cold-read ladder (cache row + persistence tail replay) |