Skip to main content

PromptScopeKey

Struct PromptScopeKey 

Source
pub struct PromptScopeKey { /* private fields */ }
Expand description

Typed prompt scope key.

Uniquely identifies a prompt for replay from checkpoint history. Constructed via phase-specific factory methods to enforce required dimensions.

§Backward Compatibility

Display output exactly matches the format!() strings previously used in handlers. The recovery_epoch field is NOT part of Display — it is a future-proofing hook and an audit dimension only.

Implementations§

Source§

impl PromptScopeKey

Source

pub const fn for_planning( iteration: u32, retry_mode: RetryMode, recovery_epoch: u32, ) -> Self

Construct a key for the Planning phase.

Source

pub const fn for_development( iteration: u32, continuation: Option<u32>, retry_mode: RetryMode, recovery_epoch: u32, ) -> Self

Construct a key for the Development phase.

Set continuation to Some(attempt) for continuation mode, or None for normal and retry modes.

Source

pub const fn for_commit( iteration: u32, attempt: u32, retry_mode: RetryMode, recovery_epoch: u32, ) -> Self

Construct a key for the Commit phase.

Source

pub const fn for_review( pass: u32, retry_mode: RetryMode, recovery_epoch: u32, ) -> Self

Construct a key for the Review phase.

Source

pub const fn for_fix( pass: u32, retry_mode: RetryMode, recovery_epoch: u32, ) -> Self

Construct a key for the Fix phase.

Source

pub fn for_conflict_resolution(phase: &str, recovery_epoch: u32) -> Self

Construct a key for a rebase conflict resolution prompt.

The phase argument is the rebase phase name (lowercase), e.g. "planning" or "development", derived from the git rebase context. It is NOT a main pipeline phase — it identifies which rebase phase triggered the conflict.

recovery_epoch is carried for auditing but the rebase handler owns epoch semantics via PromptCaptured events. Pass 0 from effectful helpers.

The Display output ("{phase}_conflict_resolution") is byte-identical to the former format!("{}_conflict_resolution", phase.to_lowercase()) calls, preserving backward-compatibility with existing checkpoint prompt_history maps.

Trait Implementations§

Source§

impl Clone for PromptScopeKey

Source§

fn clone(&self) -> PromptScopeKey

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PromptScopeKey

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for PromptScopeKey

Display implementation producing strings largely backward-compatible with existing checkpoint data.

Output format per phase:

  • Planning: planning_{iter}[_{retry_suffix}]
  • Development: development_{iter}[_continuation_{n}][_{retry_suffix}]
  • Commit: commit_message_attempt_iter{iter}_{attempt}[_{retry_suffix}] (NOTE: includes iteration; this intentionally differs from pre-RFC-007 attempt-only commit keys)
  • Review: review_{pass}[_{retry_suffix}]
  • Fix: fix_{pass}[_{retry_suffix}]

Retry suffixes:

  • SameAgent { count }_same_agent_retry_{count}
  • Xsd { count }_xsd_retry_{count}

NOTE: recovery_epoch is intentionally excluded from Display to preserve backward-compatibility with existing checkpoint prompt_history entries.

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for PromptScopeKey

Source§

fn eq(&self, other: &PromptScopeKey) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for PromptScopeKey

Source§

impl StructuralPartialEq for PromptScopeKey

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.