session/permissionProfileChanged
Experimental
The active permission profile changed: the fold of the durable reconfigure audit fact.
Parameters
Section titled “Parameters”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"}