#[non_exhaustive]pub enum DriftIssue {
Show 16 variants
LedgerOnly {
path: PathBuf,
owner: Option<String>,
},
ConfigOnly {
path: PathBuf,
},
OwnerMismatch {
expected: String,
actual: Option<String>,
path: Option<PathBuf>,
},
MalformedConfig {
path: PathBuf,
reason: String,
},
MalformedLedger {
path: PathBuf,
reason: String,
},
BackupCollision {
path: PathBuf,
},
MissingBackup {
path: PathBuf,
},
StaleBackup {
path: PathBuf,
},
UnexpectedDirectoryShape {
path: PathBuf,
reason: String,
},
SkillMissingSkillMd {
dir: PathBuf,
missing: PathBuf,
},
SkillAssetEscapesRoot {
path: PathBuf,
root: PathBuf,
},
UnsupportedButPresent {
path: PathBuf,
},
SkillIncomplete {
dir: PathBuf,
missing: PathBuf,
},
InstructionContentDrift {
path: PathBuf,
},
InvalidConfig {
path: PathBuf,
reason: String,
},
MultipleEntries {
name: String,
count: usize,
},
}Expand description
One concrete reason a StatusReport is in the
InstallStatus::Drifted state.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
LedgerOnly
Ownership ledger contains an entry, but the corresponding config, directory, or file entry is missing.
Fields
ConfigOnly
Config, directory, or file entry exists without a matching ownership ledger entry.
OwnerMismatch
The ledger owner does not match the owner the caller asked to validate against.
Fields
MalformedConfig
The harness config exists but cannot be parsed or has an unsupported shape for validation.
MalformedLedger
The agent-config ownership ledger exists but is not valid ledger JSON.
BackupCollision
A backup already exists from an earlier first-touch write.
MissingBackup
A backup that validation expected to be present is missing.
StaleBackup
A backup exists even though the validated install state does not need it.
UnexpectedDirectoryShape
A directory-backed surface is not laid out as expected.
Fields
SkillMissingSkillMd
A skill directory exists but the required SKILL.md manifest is
missing.
SkillAssetEscapesRoot
A skill file or symlink resolves outside the skill directory.
Fields
UnsupportedButPresent
A known unsupported surface has files present on disk.
SkillIncomplete
A skill directory exists but the required SKILL.md manifest is
missing.
InstructionContentDrift
An instruction file exists but the content hash does not match the ledger record.
InvalidConfig
The harness config exists but cannot be parsed (malformed JSON, JSONC, JSON5, TOML, or YAML).
MultipleEntries
The same name appears in the harness config more than once. Defensive — most config formats reject this on parse, but YAML and JSONC accept duplicate keys silently in some readers.
Trait Implementations§
Source§impl Clone for DriftIssue
impl Clone for DriftIssue
Source§fn clone(&self) -> DriftIssue
fn clone(&self) -> DriftIssue
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DriftIssue
impl Debug for DriftIssue
Source§impl PartialEq for DriftIssue
impl PartialEq for DriftIssue
impl Eq for DriftIssue
impl StructuralPartialEq for DriftIssue
Auto Trait Implementations§
impl Freeze for DriftIssue
impl RefUnwindSafe for DriftIssue
impl Send for DriftIssue
impl Sync for DriftIssue
impl Unpin for DriftIssue
impl UnsafeUnpin for DriftIssue
impl UnwindSafe for DriftIssue
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.