pub struct GtdTransitionPlan {
pub task_id: Uuid,
pub statements: Vec<PlanStatement>,
pub post_commit: PostCommitEffect,
}Expand description
Write plan for a gtd.transition op (explicit task lifecycle change).
Fields§
§task_id: Uuid§statements: Vec<PlanStatement>Status-column DML to apply inside the atomic unit. Property-only
status mutation — triggers no reindex (ADR-099 D3). The transition
statement carries the guard (prepare validated the current status
and the requested transition were legal). Empty for an idempotent
no-op (current == target after normalize_status, GAP-5/GAP-6 fix
round) — canonical performs no write in that case either
(handlers.rs:995-1005).
post_commit: PostCommitEffectDeferred lifecycle audit row (GAP-5): PostCommitEffect:: None for the idempotent no-op case, matching canonical’s early
return before its own ensure_audit_schema/write_audit_record
call.
Trait Implementations§
Source§impl Clone for GtdTransitionPlan
impl Clone for GtdTransitionPlan
Source§fn clone(&self) -> GtdTransitionPlan
fn clone(&self) -> GtdTransitionPlan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for GtdTransitionPlan
impl RefUnwindSafe for GtdTransitionPlan
impl Send for GtdTransitionPlan
impl Sync for GtdTransitionPlan
impl Unpin for GtdTransitionPlan
impl UnsafeUnpin for GtdTransitionPlan
impl UnwindSafe for GtdTransitionPlan
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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 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>
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