Skip to content
Developer Preview

SessionRulesChangedParams

Experimental

session/rulesChanged params: a rules refresh replaced the rules_file block’s listed sources. A live host-state projection in the skill/changed mold — not a view event: no viewCursor, no sourceRange, nothing written to the event log, no transcript row, no ordering relative to view events, live-only (resume does not restate it). Broadcast delivery (the session/driveChanged pattern): every bound connection, with the sink’s own opt-out and experimental filters. Experimental tier.

  • sessionId — Experimental
  • sources — Experimental
Source

schema/msp/experimental/msp.schema.json#/types/SessionRulesChangedParams

{
"description": "`session/rulesChanged` params: a rules\nrefresh replaced the `rules_file` block's listed sources. A live\nhost-state projection in the `skill/changed` mold — not a view event:\nno `viewCursor`, no `sourceRange`, nothing written to the event log,\nno transcript row, no ordering relative to view events, live-only\n(resume does not restate it). Broadcast delivery (the\n`session/driveChanged` pattern): every bound connection, with the\nsink's own opt-out and experimental filters. **Experimental tier**.",
"properties": {
"sessionId": {
"description": "The session whose rules refreshed.",
"type": "string"
},
"sources": {
"description": "The refreshed sources in precedence order, mirroring the refreshed\n`RulesStatusSnapshot`: one entry per `<rules-file>` tag the\nrefreshed block lists. Empty when the block was removed.",
"items": {
"$ref": "#/$defs/RulesChangedSource"
},
"type": "array"
}
},
"required": [
"sessionId",
"sources"
],
"type": "object",
"x-msp-descriptor": "session/rulesChanged",
"x-msp-stability": "experimental"
}