pub struct LocalWorktreeProvider;Expand description
The local-worktree provider (v1’s only implementation): provisions today’s isolation cwd via the existing worktree machinery, runs the workspace gate’s bootstrap/readiness phases for readiness, and treats teardown as a recorded no-op (the worktree lifecycle stays with the mission-branch/merge machinery).
Trait Implementations§
Source§impl WorkspaceProvider for LocalWorktreeProvider
impl WorkspaceProvider for LocalWorktreeProvider
Source§fn kind(&self) -> WorkspaceProviderKind
fn kind(&self) -> WorkspaceProviderKind
Which kind this provider is (recorded in
workspace.provisioned).Source§fn provision<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 ProvisionSpec,
) -> Pin<Box<dyn Future<Output = Result<WorkspaceHandle>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn provision<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 ProvisionSpec,
) -> Pin<Box<dyn Future<Output = Result<WorkspaceHandle>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Establish the workspace for one mission and return its handle.
Source§fn readiness<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
handle: &'life1 WorkspaceHandle,
progress: &'life2 mut ProgressSink<'life3>,
) -> Pin<Box<dyn Future<Output = Result<ReadinessOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn readiness<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
handle: &'life1 WorkspaceHandle,
progress: &'life2 mut ProgressSink<'life3>,
) -> Pin<Box<dyn Future<Output = Result<ReadinessOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Prove the workspace ready for spend (see
ProgressSink).Source§fn teardown<'life0, 'async_trait>(
&'life0 self,
_handle: WorkspaceHandle,
_mode: TeardownMode,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn teardown<'life0, 'async_trait>(
&'life0 self,
_handle: WorkspaceHandle,
_mode: TeardownMode,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Tear the workspace down per
mode (see TeardownMode for v1
local-worktree semantics).Source§fn run_data_hook<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
handle: &'life1 WorkspaceHandle,
hook: DataHookKind,
command: &'life2 str,
progress: &'life3 mut ProgressSink<'life4>,
) -> Pin<Box<dyn Future<Output = Result<Option<CommandOutcome>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn run_data_hook<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
handle: &'life1 WorkspaceHandle,
hook: DataHookKind,
command: &'life2 str,
progress: &'life3 mut ProgressSink<'life4>,
) -> Pin<Box<dyn Future<Output = Result<Option<CommandOutcome>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Run one declared golden-data hook (design D-D) inside this workspace
and report its
workspace data: decision line through progress.
Used by readiness (clone/migrate/skewCheck) and by the engine’s
reset-between-rounds drive from validation_round — one method so
the reset fires through the same execution path as the provision-time
hooks. Returns the failing CommandOutcome only on failure. Read moreAuto Trait Implementations§
impl Freeze for LocalWorktreeProvider
impl RefUnwindSafe for LocalWorktreeProvider
impl Send for LocalWorktreeProvider
impl Sync for LocalWorktreeProvider
impl Unpin for LocalWorktreeProvider
impl UnsafeUnpin for LocalWorktreeProvider
impl UnwindSafe for LocalWorktreeProvider
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