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.
Fields and variants
Section titled “Fields and variants”sessionId— Experimentalsources— 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"}