Struct ChangeSetReport
pub struct ChangeSetReport {
pub head_sha: String,
pub merge_in_progress: bool,
pub changes: Vec<WorktreeChange>,
pub health: HealthProjection,
pub base_cyclic_paths: Vec<String>,
pub newly_cyclic_paths: Vec<String>,
pub coupling_absences: Vec<CouplingAbsence>,
pub findings: Vec<Finding>,
}Expand description
The full measured picture of what the current working-tree edits do to the repository: enumerated changes, projected health deltas, cycle-membership delta, absent historical co-change partners, and the advisory findings derived from all of them.
Everything in here is MEASURED data — no verdicts. Consumers evaluate thresholds against the report on every read, so a cached report can never serve a stale verdict.
Fields§
§head_sha: StringFull SHA-1 hex of the HEAD the projection is anchored to.
merge_in_progress: boolWhether the repository is partway through a merge / rebase / cherry-pick / revert. Recomputed on every build — including sidecar cache hits — because it is repo state, not measured content.
changes: Vec<WorktreeChange>The enumerated working-tree changes, as the repo backend returned them (sorted by path).
health: HealthProjectionProjected code-health deltas plus whole-repo medians.
base_cyclic_paths: Vec<String>Files on some import cycle at HEAD, sorted.
newly_cyclic_paths: Vec<String>Files cyclic in the projected graph but not at HEAD (cyclic-node membership difference, not a cycle-count comparison), sorted.
coupling_absences: Vec<CouplingAbsence>Historically-coupled partners absent from the change set. The touched side is every non-deleted change-set path; a rename destination is a fresh path with no coupling rows in the fact store, so it inherits none of its source’s partners.
findings: Vec<Finding>Advisory findings assembled from the fields above, sorted by
(kind, path, detail).
Trait Implementations§
§impl Clone for ChangeSetReport
impl Clone for ChangeSetReport
§fn clone(&self) -> ChangeSetReport
fn clone(&self) -> ChangeSetReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ChangeSetReport
impl Debug for ChangeSetReport
§impl<'de> Deserialize<'de> for ChangeSetReport
impl<'de> Deserialize<'de> for ChangeSetReport
§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
§impl PartialEq for ChangeSetReport
impl PartialEq for ChangeSetReport
§impl Serialize for ChangeSetReport
impl Serialize for ChangeSetReport
impl StructuralPartialEq for ChangeSetReport
Auto Trait Implementations§
impl Freeze for ChangeSetReport
impl RefUnwindSafe for ChangeSetReport
impl Send for ChangeSetReport
impl Sync for ChangeSetReport
impl Unpin for ChangeSetReport
impl UnsafeUnpin for ChangeSetReport
impl UnwindSafe for ChangeSetReport
Blanket Implementations§
impl<T> Allocation for T
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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