#[non_exhaustive]pub enum InstallStatus {
Absent,
InstalledOwned {
owner: String,
},
InstalledOtherOwner {
owner: String,
},
PresentUnowned,
LedgerOnly {
owner: String,
},
Drifted {
issues: Vec<DriftIssue>,
},
Unknown,
}Expand description
High-level installation state.
Each variant maps to a single concrete combination of (harness-config presence, agent-config ledger ownership). Callers can match on this directly to choose between install, repair, or skip.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Absent
Not present in either the harness config or the ownership ledger.
InstalledOwned
Recorded under the caller’s owner tag and present in the harness config.
InstalledOtherOwner
Recorded under a different owner. The caller cannot uninstall this without forcing a steal; new installs must use a different name.
PresentUnowned
Present in the harness config but no ledger entry claims it. Likely hand-installed by the user or installed by a tool that does not participate in the agent-config ownership protocol.
LedgerOnly
Recorded in the ledger but missing from the harness config. The most
common cause is that the user (or another tool) deleted the entry
directly without going through uninstall.
Drifted
On-disk state is structurally inconsistent in a way that does not fit the other variants — duplicate entries, an unparseable config, an incomplete skill directory, etc. Callers should typically treat this as “needs manual repair before install”.
Fields
issues: Vec<DriftIssue>One or more concrete drift reasons.
Unknown
State could not be determined (e.g., a probe encountered a soft I/O
failure). Reserved for non-fatal cases. Hard errors propagate as
AgentConfigError instead.
Trait Implementations§
Source§impl Clone for InstallStatus
impl Clone for InstallStatus
Source§fn clone(&self) -> InstallStatus
fn clone(&self) -> InstallStatus
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InstallStatus
impl Debug for InstallStatus
Source§impl PartialEq for InstallStatus
impl PartialEq for InstallStatus
impl Eq for InstallStatus
impl StructuralPartialEq for InstallStatus
Auto Trait Implementations§
impl Freeze for InstallStatus
impl RefUnwindSafe for InstallStatus
impl Send for InstallStatus
impl Sync for InstallStatus
impl Unpin for InstallStatus
impl UnsafeUnpin for InstallStatus
impl UnwindSafe for InstallStatus
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.