pub struct NotificationPayload {
pub session_id: SessionId,
pub reaction_key: String,
pub action: ReactionAction,
pub priority: EventPriority,
pub title: String,
pub body: String,
pub escalated: bool,
}Expand description
Data handed to every Notifier::send call.
Constructed by ReactionEngine::dispatch_notify at Phase B and
later. Phase A only defines the shape so plugins can be written
against a stable target.
Not Serialize — the payload lives entirely in-process, never hits
disk, and never rides the event bus (the bus carries narrow
OrchestratorEvent variants for fan-out, not rich payloads).
Keeping it off serde means plugins are free to embed non-serde
types (handles, closures, Instants) later without breaking the
type boundary.
Fields§
§session_id: SessionIdSession the notification is about.
reaction_key: StringReaction key that fired (e.g. "ci-failed").
action: ReactionActionAction the engine actually took — always Notify at the call
site, but carried for plugins that want to log/format it.
priority: EventPriorityPriority chosen by the engine for this fire. Decides routing.
title: StringOne-line title. Synthesized by the engine from reaction_key + session in Phase B.
body: StringBody text. Pulled from ReactionConfig.message when set,
otherwise engine-supplied boilerplate.
escalated: booltrue if this notify is the escalation fallback after retries
were exhausted (engine swapped SendToAgent → Notify).
Plugins that want to badge “escalated” branch on this.
Trait Implementations§
Source§impl Clone for NotificationPayload
impl Clone for NotificationPayload
Source§fn clone(&self) -> NotificationPayload
fn clone(&self) -> NotificationPayload
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more