Skip to content

session/permissionProfileChanged

Experimental

The active permission profile changed: the fold of the durable reconfigure audit fact.

Type: SessionPermissionProfileChangedParams

session/permissionProfileChanged params: the fold of the durable profile-commit audit fact — fired on every accepted POST-EPOCH-ONE profile commit, never for a mode-only change (that writes no such fact and keeps folding session/approvalModeChanged from its own reconfigure fact) and never for a reviewer-attachment change. It folds on EVERY PermissionProfileCommittedV1 EXCEPT the epoch-one initialization fact and fork/child derivation facts — their causes (newSessionDefault, launchCli at start, fork, childSpawn, legacyInitialization, launchOverrides) are unreachable on the wire until a later commit carries them — so an omitted-profile start and an empty-cut fork fold nothing and their ""-cursor rules hold byte-for-byte. A held id recommitting under a changed definition or an managed refresh folds too (the profileId may equal the prior), exactly as the approvalMode precedent folds per accepted change. The session/approvalModeChanged member pattern with profileId in place of mode; additive-optional under (clients predating it skip the unknown method); subscription-gated as view events are.

Field Type Stability Presence Description
clientName string | null Experimental required The requesting client’s clientInfo.name, read from the committed fact’s durable PermissionCommandLinkV1.client_name seat. null when no client recorded the change: the Initialization/ ManagedRefresh causes, native picker commits, and facts written before the seat existed.
commandId string | null Experimental required The command that changed it; null on an Initialization- or ManagedRefresh-kind fold that no accepted command produced (only the livePicker/resumeCli causes carry it — the lastCommandId: null precedent).
profileId string | null Experimental required The profile now in effect; null when the committed source is a launch override (LaunchOverrides pins id: None) — ’s served-site rule.
sessionId string Experimental required The owning session.
source PermissionProfileSource Experimental required How the profile took effect.
sourceRange SourceRange Experimental required The durable records this event folded from.
viewCursor string Experimental required Opaque, strictly monotonic view cursor.
Source

schema/msp/experimental/msp.schema.json#/notifications/session~2FpermissionProfileChanged

{
"description": "The active permission profile changed: the fold of the durable reconfigure audit fact.",
"params": {
"$ref": "#/$defs/SessionPermissionProfileChangedParams"
},
"x-msp-descriptor": "session/permissionProfileChanged",
"x-msp-stability": "experimental"
}