Skip to main content

Scheme

Enum Scheme 

Source
pub enum Scheme {
    FromName,
    FromExternal,
}
Expand description

How a change’s identity is derived, and what that choice costs.

Not a preference. Each orchestrator’s own contract forces one of these, and picking the other silently breaks a lifecycle operation.

Variants§

§

FromName

The workspace name is the identity: the change id is derived from it, so any caller holding the path can recompute the binding with no stored state.

Required when the orchestrator hands back only a directory on teardown, which is exactly Claude Code’s WorktreeRemove. The cost is that the binding does not survive a rename, and that two attempts at one unit of work are two unrelated changes unless the caller’s naming already says otherwise.

§

FromExternal

The identity is fingerprinted from stable external identity, and the workspace name is a derived label.

Required when competing workers must converge on one change for one unit of work, which is what a scheduler retry needs. The cost is that the full fingerprint does not fit in the directory name, so recovering the binding from a path alone is impossible and the adapter must keep durable state.

Implementations§

Source§

impl Scheme

Source

pub fn as_str(self) -> &'static str

The stable spelling recorded in adapter state.

Trait Implementations§

Source§

impl Clone for Scheme

Source§

fn clone(&self) -> Scheme

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Scheme

Source§

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

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

impl PartialEq for Scheme

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Copy for Scheme

Source§

impl Eq for Scheme

Source§

impl StructuralPartialEq for Scheme

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<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> 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, 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.