The action it dispatches to — resolved here so the submitter needs no metadata lookup.
Human-readable name of that action, used for the task's name.
The MJ: Entity Actions binding that fired.
The entity whose save fired this.
Name of that entity, for a task description a person can read.
Which lifecycle event fired — AfterCreate / AfterUpdate / AfterDelete.
The record, in MJ's canonical serialized form (ToConcatenatedString()).
The action's input parameters, already redacted.
Typed as JSON-safe rather than as ActionParam[] deliberately: Task.InputPayload is
persistent, user-visible storage, and the #3408 §5.7 invariant is that no path writes a raw
ActionParam[] there. Taking the redacted shape at the boundary is what makes violating it
require changing this type rather than forgetting a call.
One durable dispatch: which binding, on which record, with what already-redacted inputs.