Skip to main content

DoctorReport

Struct DoctorReport 

Source
pub struct DoctorReport {
    pub schema_version: u32,
    pub generated_at: String,
    pub checks: Vec<Finding>,
    pub summary: Summary,
}
Expand description

Top-level payload emitted by repograph doctor. schema_version is the contract — additive-only at 1; breaking changes bump it.

Fields§

§schema_version: u32§generated_at: String§checks: Vec<Finding>§summary: Summary

Implementations§

Source§

impl DoctorReport

Source

pub fn run( config_load: Result<&Config, &RepographError>, config_path: &Path, generated_at: String, ) -> Self

Run every check applicable to the given config-load outcome and return a sorted DoctorReport.

  • config_load is Ok(&config) when the config loaded (including the “missing file → empty config” case), or Err(&err) when the load itself surfaced an error (malformed TOML, I/O error other than NotFound). The binary maps PermissionDenied to exit 4 before calling this function; what reaches here is ConfigParse or other non-permission Io failures.
  • config_path is the file the ConfigPresent check probes and reports in its target field.
  • generated_at is the RFC 3339 UTC timestamp the binary stamps via the time crate (core stays free of time deps, same pattern as context-command).
Source

pub fn with_index_check(self, status: &IndexStatus) -> Self

Append the search-index health finding, then re-sort and re-tally.

The binary owns data-dir resolution and the IndexStatus probe, so it computes the status and folds it into the report here. The finding is ok when the index is present and current, warn when it is missing, unreadable, or stale relative to one or more repos’ HEAD.

Source

pub fn with_skill_artifact_check( self, selected: &[AgentId], home: &Path, cwd: &Path, ) -> Self

Fold in a read-only freshness check for the installed skill artifacts.

For each selected agent (with a writer) and each of its capabilities, resolves the expected install path under both user and project scope, reads whichever exists, and compares its version stamp to the running binary’s crate::agent_artifact::ARTIFACT_BODY_VERSION. Reports ok when current, warn when missing or stale — and never writes, creates, or repairs the artifact. When selected is empty (no [agents]), no findings are produced. The binary owns home/cwd resolution and folds the result in here, mirroring Self::with_index_check.

Trait Implementations§

Source§

impl Clone for DoctorReport

Source§

fn clone(&self) -> DoctorReport

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 DoctorReport

Source§

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

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

impl Serialize for DoctorReport

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more