pub enum UserExperienceEvent {
UserApprovalGranted {
gate_request_id: GateId,
actor: ActorId,
policy_snapshot_hash: Option<ContentHash>,
reason: Option<String>,
},
UserApprovalRejected {
gate_request_id: GateId,
actor: ActorId,
policy_snapshot_hash: Option<ContentHash>,
reason: Option<String>,
},
UserOverrideIssued {
target: OverrideTarget,
actor: ActorId,
policy_snapshot_hash: Option<ContentHash>,
reason: String,
},
UserCorrection {
target: CorrectionTarget,
actor: ActorId,
policy_snapshot_hash: Option<ContentHash>,
original_content: ContentHash,
corrected_content: FactContent,
reason: String,
},
UserBoundaryAdjusted {
boundary: BoundaryKind,
target: BoundaryTarget,
actor: ActorId,
policy_snapshot_hash: Option<ContentHash>,
previous_value: Value,
new_value: Value,
reason: String,
},
}Expand description
User-side experience event.
This is the trust-transfer counterpart to ExperienceEvent: every variant
records a deliberate human act that adjusts engine state — approval,
rejection, override, correction, or boundary change. Operator surfaces such
as Helms emit these events; planning consumes them through recall to weight
future priors.
Kept as a sibling enum (not a variant of ExperienceEvent) so additions on
either side stay non-breaking for downstream crates.io consumers.
Variants§
UserApprovalGranted
A human approved a paused gate request.
Fields
policy_snapshot_hash: Option<ContentHash>UserApprovalRejected
A human rejected a paused gate request.
Fields
policy_snapshot_hash: Option<ContentHash>UserOverrideIssued
A human issued an override against a fact, proposal, or constraint.
UserCorrection
A human corrected a fact or proposal without rewriting history.
This event ledgers a correction relationship. It does not itself admit or promote the corrected content; callers must run corrected content through the normal admission and promotion path first.
Fields
target: CorrectionTargetpolicy_snapshot_hash: Option<ContentHash>original_content: ContentHashcorrected_content: FactContentUserBoundaryAdjusted
A human adjusted an authority, forbidden-action, expiry, or reversibility boundary.
This event records what changed; it is not the policy-update channel.
Callers must update the active policy surface first, then append this
ledger event. Recall consumers must filter by target so pack-scoped
or intent-scoped boundary changes do not spill into unrelated planning
runs.
Trait Implementations§
Source§impl Clone for UserExperienceEvent
impl Clone for UserExperienceEvent
Source§fn clone(&self) -> UserExperienceEvent
fn clone(&self) -> UserExperienceEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more