JSON session documents and the coding-host JSONL journal
Source:R/api-session.R
rho_coding_session_contracts.Rdrho_json_session_codec() contains an explicit registry of stable semantic
record types. A RhoJsonSemanticAdapter maps one stable wire tag and field
set to the current in-memory S7 class. Package names, S7 class names, and
reflected property sets are never written to the journal. An extension adds
a value by supplying rho_json_semantic_adapter() with its own stable tag
and explicit fields.
Details
rho_encode_session_value() and rho_decode_session_value() retain R atomic
storage modes, list names, missing values, and registered semantic values.
Unknown S7 objects resolve to RhoSessionCodecErrorValue rather than acquiring
an accidental storage schema from the current package namespace.
rho_jsonl_session_journal() implements the SessionJournal interface as a
coding-host adapter. File reads, locking, validation, and append run in mirai
workers. Each LF-delimited entry record carries a committed position and
typed entry document. A file lock and the append request's
expected position reject stale writers before mutation. A missing final LF,
malformed record, or invalid semantic document resolves to a typed error value.