pub struct PlanRevision {
pub revision_id: String,
pub session_id: String,
pub sequence: u32,
pub plan: TaskPlan,
pub reason: String,
pub supersedes: Option<String>,
pub status: PlanRevisionStatus,
pub created_at: i64,
}Expand description
A single plan revision within a session.
Tracks the evolution of the architect’s plan over time. When the verifier
or governance policy triggers a replan, a new PlanRevision is created,
the previous one is marked Superseded, and the new revision becomes
the active plan.
Fields§
§revision_id: StringUnique revision identifier.
session_id: StringSession this revision belongs to.
sequence: u32Monotonically-increasing sequence number within the session (1-based).
plan: TaskPlanThe plan content.
reason: StringWhy this revision was created ("initial", "verification_failure",
"scope_change", "governance_budget_exceeded", …).
supersedes: Option<String>If this revision supersedes an earlier one, its ID.
status: PlanRevisionStatusCurrent status of this revision.
created_at: i64Epoch seconds when this revision was created.
Implementations§
Source§impl PlanRevision
impl PlanRevision
Sourcepub fn initial(session_id: impl Into<String>, plan: TaskPlan) -> PlanRevision
pub fn initial(session_id: impl Into<String>, plan: TaskPlan) -> PlanRevision
Create the initial plan revision for a session.
Sourcepub fn successor(
previous: &PlanRevision,
plan: TaskPlan,
reason: impl Into<String>,
) -> PlanRevision
pub fn successor( previous: &PlanRevision, plan: TaskPlan, reason: impl Into<String>, ) -> PlanRevision
Create a successor revision that supersedes previous.
Trait Implementations§
Source§impl Clone for PlanRevision
impl Clone for PlanRevision
Source§fn clone(&self) -> PlanRevision
fn clone(&self) -> PlanRevision
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PlanRevision
impl Debug for PlanRevision
Source§impl<'de> Deserialize<'de> for PlanRevision
impl<'de> Deserialize<'de> for PlanRevision
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PlanRevision, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PlanRevision, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for PlanRevision
impl Serialize for PlanRevision
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for PlanRevision
impl RefUnwindSafe for PlanRevision
impl Send for PlanRevision
impl Sync for PlanRevision
impl Unpin for PlanRevision
impl UnsafeUnpin for PlanRevision
impl UnwindSafe for PlanRevision
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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