Skip to content
Developer Preview

SessionResumeResult

session/resume result.

  • abnormalEnd — Experimental
  • blockedPrompt
  • cronQuarantine — Experimental
  • history
  • lastTurn
  • missingPredecessor — Experimental
  • pendingRequests
  • restartReceipts — Experimental
  • session
  • tightenedAxes — Experimental
  • unavailableInputAssets — Experimental
  • viewCursor
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"
}