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 (const: unstable) · 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§
impl<T> Allocation for T
impl<T> AsTypeStaticRegistered for T
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> HasTyVTable for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
impl<T> StarlarkAnyBound for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.