pub struct DoctorArgs {
pub fix: bool,
pub lint_config: bool,
pub shallow: Option<usize>,
pub scan_undeclared: bool,
pub depth: Option<usize>,
pub prune_quarantine: bool,
pub retain_days: Option<u32>,
pub restore_quarantine: Option<String>,
pub force: bool,
}Fields§
§fix: boolHeal gitignore drift by re-emitting the managed block. Safety: NEVER touches the manifest or the filesystem on other checks.
lint_config: boolRun the opt-in config-lint check (openspec/config.yaml +
.omne/cfg/*.md). Skipped by default.
shallow: Option<usize>v1.2.0 Stage 1.j — bound the recursive ManifestTree walk.
Omitted: walk every nested meta exhaustively (default).
--shallow 0: root meta only.
--shallow N: recurse up to N levels of nesting (root is
depth 0; depth-N metas are visited but their children are
not). The walk is read-only at every frame.
scan_undeclared: boolv1.2.1 item 4 — opt-in full-filesystem scan for .git/
directories that are not registered in the manifest tree.
Read-only audit; complements the manifest-driven default walk.
Composes with --shallow (which bounds the manifest walk).
Use --depth N to bound the filesystem scan independently.
depth: Option<usize>v1.2.1 item 4 — bound the --scan-undeclared filesystem walk.
Omitted: scan every level under the workspace (default).
--depth 0: workspace root only.
--depth N: descend up to N directory levels below the
workspace root. Has no effect unless --scan-undeclared is
also set.
prune_quarantine: boolv1.2.5 — sweep <workspace>/.grex/trash/ of entries older than
the supplied retention window (in days). Pairs with the
canonical retention default surfaced by
grex_core::tree::DEFAULT_RETAIN_DAYS when the operator
omits a value. Best-effort: per-entry failures log via
tracing::warn! and do not halt the doctor run.
retain_days: Option<u32>v1.2.5 — explicit retention window for --prune-quarantine
(and grex sync’s GC sweep). Defaults to
grex_core::tree::DEFAULT_RETAIN_DAYS when --prune-quarantine
is set without an explicit value. Has no effect unless
--prune-quarantine is also passed (or threaded into
grex sync via the matching flag there).
restore_quarantine: Option<String>v1.2.5 — restore the snapshot at
<workspace>/.grex/trash/<TS>/<BASENAME>/ back into the
workspace. When BASENAME is omitted the <TS>/ slot must hold
exactly one child entry (otherwise restore is refused as
ambiguous). Refuses to clobber an existing dest unless
--force is also passed.
force: boolv1.2.5 — paired with --restore-quarantine: when set, remove
the existing dest before the rename. Without this flag,
restore refuses to clobber an existing dest.
Trait Implementations§
Source§impl Args for DoctorArgs
impl Args for DoctorArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl Debug for DoctorArgs
impl Debug for DoctorArgs
Source§impl FromArgMatches for DoctorArgs
impl FromArgMatches for DoctorArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for DoctorArgs
impl RefUnwindSafe for DoctorArgs
impl Send for DoctorArgs
impl Sync for DoctorArgs
impl Unpin for DoctorArgs
impl UnsafeUnpin for DoctorArgs
impl UnwindSafe for DoctorArgs
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> 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>
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>
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