Expand description
FsActionStore — the persistent two-table cache (action records + CAS).
Layout under the store root:
format.json {"version": 2}
actions/<aa>/<key-hex>.json ActionResult records (small)
cas/<algo>/<aa>/<hash-hex>.bin SOMA1-encoded blobs (deduplicated)
pins/<name> GC roots: files containing an action key hexCommit protocol (crash-safe by construction):
- blob written first (idempotent temp+fsync+rename — concurrent same-content writers race benignly),
- action record renamed into place last — the record is the commit point. A crash in between leaves an orphan blob, never a record pointing at missing required state.
Eviction deletes blobs only; records are retained so an evicted entry is recomputed and re-fills the same content address (Nectar: eviction degrades performance, never correctness).
Structs§
- FsAction
Store - The persistent two-table store: action records + CAS blobs. See the module docs for the layout and the crash-safe commit protocol.
Constants§
- FORMAT_
VERSION - On-disk layout version, recorded in
format.json. A mismatched dir is refused with a pointer tosoma cache purge-v1— silently reading an old layout would corrupt it.