pub enum PromptInputEvent {
OversizeDetected {
phase: PipelinePhase,
kind: PromptInputKind,
content_id_sha256: String,
size_bytes: u64,
limit_bytes: u64,
policy: String,
},
PlanningInputsMaterialized {
iteration: u32,
prompt: MaterializedPromptInput,
},
DevelopmentInputsMaterialized {
iteration: u32,
prompt: MaterializedPromptInput,
plan: MaterializedPromptInput,
},
ReviewInputsMaterialized {
pass: u32,
plan: MaterializedPromptInput,
diff: MaterializedPromptInput,
},
CommitInputsMaterialized {
attempt: u32,
diff: MaterializedPromptInput,
},
XsdRetryLastOutputMaterialized {
phase: PipelinePhase,
scope_id: u32,
last_output: MaterializedPromptInput,
},
HandlerError {
phase: PipelinePhase,
error: ErrorEvent,
},
PromptPermissionsLocked {
warning: Option<String>,
},
PromptPermissionsRestoreWarning {
warning: String,
},
TemplateRendered {
phase: PipelinePhase,
template_name: String,
log: SubstitutionLog,
},
}Expand description
Prompt input oversize detection and materialization events.
These events make reducer-visible any transformation that affects the agent-visible prompt content (inline vs file reference, truncation, etc.).
§Purpose
Large prompt inputs (PROMPT.md, PLAN.md, diffs) may exceed model context limits. When this occurs, handlers materialize the content as file references instead of inline text. These events record the materialization strategy for observability and to enable the reducer to track content transformations.
§Emitted By
- Prompt preparation handlers in
handler/*/prepare_prompt.rs - XSD retry handlers
Variants§
OversizeDetected
Oversize content detected, will be materialized as file reference.
Fields
phase: PipelinePhasePipeline phase where oversize was detected.
kind: PromptInputKindType of content (prompt, plan, diff, etc.).
PlanningInputsMaterialized
Planning prompt inputs materialized.
DevelopmentInputsMaterialized
Development prompt inputs materialized.
Fields
prompt: MaterializedPromptInputMaterialized prompt input.
plan: MaterializedPromptInputMaterialized plan input.
ReviewInputsMaterialized
Review prompt inputs materialized.
Fields
plan: MaterializedPromptInputMaterialized plan input.
diff: MaterializedPromptInputMaterialized diff input.
CommitInputsMaterialized
Commit prompt inputs materialized.
XsdRetryLastOutputMaterialized
XSD retry last output materialized.
Fields
phase: PipelinePhasePhase that produced the invalid output being retried.
last_output: MaterializedPromptInputMaterialized representation of the last invalid output.
HandlerError
A typed error event returned by an effect handler.
Effect handlers surface failures by returning Err(ErrorEvent::... .into()).
The event loop extracts the underlying ErrorEvent and re-emits it through
this existing category so the reducer can decide recovery strategy without
adding new top-level PipelineEvent variants.
Fields
phase: PipelinePhasePhase during which the error occurred (best-effort; derived from current state).
error: ErrorEventThe typed error event.
PromptPermissionsLocked
PROMPT.md permissions locked (read-only) at pipeline startup.
Emitted by LockPromptPermissions effect handler when attempting to set PROMPT.md to read-only. If the operation fails, a warning is included but the pipeline continues (best-effort protection).
Fields
PromptPermissionsRestoreWarning
PROMPT.md permissions restore warning (best-effort).
Emitted by RestorePromptPermissions effect handler when attempting to set PROMPT.md back to writable. The pipeline continues, but the warning is recorded for observability and resume diagnostics.
TemplateRendered
Template was rendered, carrying substitution log.
Emitted by prompt preparation handlers after template rendering. The substitution log enables validation based on tracked substitutions rather than regex scanning the rendered output.
Fields
phase: PipelinePhasePipeline phase during which the template was rendered.
log: SubstitutionLogDetailed substitution log from rendering.
Trait Implementations§
Source§impl Clone for PromptInputEvent
impl Clone for PromptInputEvent
Source§fn clone(&self) -> PromptInputEvent
fn clone(&self) -> PromptInputEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PromptInputEvent
impl Debug for PromptInputEvent
Source§impl<'de> Deserialize<'de> for PromptInputEvent
impl<'de> Deserialize<'de> for PromptInputEvent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for PromptInputEvent
impl RefUnwindSafe for PromptInputEvent
impl Send for PromptInputEvent
impl Sync for PromptInputEvent
impl Unpin for PromptInputEvent
impl UnwindSafe for PromptInputEvent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more