pub struct ChangesReport {
pub mem: String,
pub since: String,
pub head: String,
pub changes: Vec<ChangeEnvelope>,
pub warnings: Vec<WarningHint>,
pub notes: Option<Vec<CommitNote>>,
pub memstead_ref: Option<String>,
}Expand description
Engine-wrapper-level “what changed” shape returned by
crate::Engine::changes_since.
Adds the operator-facing mem: String and warnings: Vec<WarningHint> that the engine layer owns (rename-similarity
clamping, etc.) on top of BackendChanges. Envelope title /
entity_type fields are enriched from the engine’s in-memory
store (best-effort — Removed envelopes always leave them
None; missing-from-store entities also leave them None).
Optional notes and memstead_ref carry per-commit agent-notes and
the workspace-level __MEMSTEAD ref tip when the caller passes
include_notes: true. Both fields stay None on folder + archive
mounts (no commit history to read). MCP and CLI handlers populate
them for git-branch mounts by pattern-matching on
crate::workspace::MountStorage::GitBranch and calling
memstead_git_branch::ops::agent_notes::agent_notes_since directly.
Fields§
§mem: String§since: String§head: String§changes: Vec<ChangeEnvelope>§warnings: Vec<WarningHint>§notes: Option<Vec<CommitNote>>Per-commit agent-notes parsed from commit trailers (git-branch
backend only). None when include_notes is false or the
backend has no commit history.
memstead_ref: Option<String>Workspace-level __MEMSTEAD ref tip (unified schemas + per-mem
configs). None when include_notes is false or the
workspace has not been migrated to the unified layout yet.
Trait Implementations§
Source§impl Clone for ChangesReport
impl Clone for ChangesReport
Source§fn clone(&self) -> ChangesReport
fn clone(&self) -> ChangesReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ChangesReport
impl Debug for ChangesReport
Auto Trait Implementations§
impl Freeze for ChangesReport
impl RefUnwindSafe for ChangesReport
impl Send for ChangesReport
impl Sync for ChangesReport
impl Unpin for ChangesReport
impl UnsafeUnpin for ChangesReport
impl UnwindSafe for ChangesReport
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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for 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