SessionResumeResult
session/resume result.
Fields and variants
Section titled “Fields and variants”abnormalEnd— ExperimentalblockedPromptcronQuarantine— ExperimentalhistorylastTurnmissingPredecessor— ExperimentalpendingRequestsrestartReceipts— ExperimentalsessiontightenedAxes— ExperimentalunavailableInputAssets— ExperimentalviewCursor
Source
schema/msp/experimental/msp.schema.json#/types/SessionResumeResult
{ "description": "`session/resume` result.", "properties": { "abnormalEnd": { "$ref": "#/$defs/AbnormalEnd", "description": "The previous run's abnormal end this resume's own load adopted. **Experimental** (`session/resume.abnormalEnd`;\nstripped for unopted connections); absence asserts nothing (an attach\nto a loaded session, a clean prior end, or an older host). Clients may\nshow a one-time notice from it.", "x-msp-descriptor": "session/resume.abnormalEnd", "x-msp-stability": "experimental" }, "blockedPrompt": { "$ref": "#/$defs/BlockedPrompt", "description": "The recallable blocked prompt's refill text (ADR 50074 D2).\n**Additive-optional**; absence means no blocked prompt to recall\n(an unblocked session, or a pre-feature host). Data only, never\na rendered row: clients seed cold recall from it (C-p refills\n`text`) and MUST NOT display it as history." }, "cronQuarantine": { "$ref": "#/$defs/CronQuarantine", "description": "The cron quarantine this resume's own load adopted. **Experimental** (`session/resume.cronQuarantine`;\nstripped for unopted connections); absence asserts nothing (an attach\nto a loaded session, a healthy or missing store, or an older host).\nClients show the gate-off warning row once from it.", "x-msp-descriptor": "session/resume.cronQuarantine", "x-msp-stability": "experimental" }, "history": { "$ref": "#/$defs/SessionHistory", "description": "The served history." }, "lastTurn": { "$ref": "#/$defs/LastTurn", "description": "How the last folded turn ended.\n**Additive-optional**; absence is a non-assertion." }, "missingPredecessor": { "$ref": "#/$defs/MissingPredecessor", "description": "The declared predecessor whose retained log this resume's own load\nfound missing. **Experimental**\n(`session/resume.missingPredecessor`; stripped for unopted\nconnections); absence asserts nothing (an attach to a loaded session,\na root session, a present predecessor, or an older host). Clients show\nthe gate-off missing-predecessor notice once from it.", "x-msp-descriptor": "session/resume.missingPredecessor", "x-msp-stability": "experimental" }, "pendingRequests": { "description": "The late-joiner pointer set; empty when nothing is pending.", "items": { "$ref": "#/$defs/PendingRequestPointer" }, "type": "array" }, "restartReceipts": { "description": "The manual-compaction restart receipts this resume's own load\nscanned. **Experimental**\n(`session/resume.restartReceipts`); absence asserts nothing (an\nattach to a loaded session, no unserved restart arm, or an older\nhost). Absent when the scan found none — never an empty array. Each\nentry mirrors the runtime `ManualCompactionReceipt`; clients\napply them through the shared receipt path.", "items": { "$ref": "#/$defs/RestartReceipt" }, "type": "array", "x-msp-descriptor": "session/resume.restartReceipts", "x-msp-stability": "experimental" }, "session": { "$ref": "#/$defs/Session", "description": "The loaded session." }, "tightenedAxes": { "description": "The axes this resume tightened: when the stored choice exceeds the restarted\nhost's narrower ceiling, the resume clamps to fit, carries the\ntightened `currentLimits` on the session, and names each tightened\naxis here. **Experimental, same-user socket only**\n(`session/resume.tightenedAxes`; stripped per-connection for unopted\ncallers). Absent when nothing tightened — never an empty array.", "items": { "type": "string" }, "type": "array", "x-msp-descriptor": "session/resume.tightenedAxes", "x-msp-stability": "experimental" }, "unavailableInputAssets": { "description": "The retained input images this resume's own `report` load replaced\nwith a marker, ordered by the log position\nof each run's accepted User Intent record, then by image position.\n**Experimental** (`session/resume.unavailableInputAssets`; stripped\nfor unopted connections); absent when nothing was replaced, never an\nempty array.", "items": { "$ref": "#/$defs/UnavailableInputAsset" }, "type": "array", "x-msp-descriptor": "session/resume.unavailableInputAssets", "x-msp-stability": "experimental" }, "viewCursor": { "description": "The session view head; the connection is subscribed after it. A\nstill-loaded session a prior `view/unsubscribe` detached is\nRE-ATTACHED by this resume: live delivery\nresumes from this head. Explicit-cursor re-attach with `(after, head]`\nengine replay stays `view/subscribe`.", "type": "string" } }, "required": [ "history", "pendingRequests", "session", "viewCursor" ], "type": "object"}