pub struct RuleContext<'a> {
pub files: &'a [DiscoveredFile],
pub known_paths: &'a HashSet<String>,
pub parsed_docs: &'a HashMap<String, ParsedDocument>,
pub git_infos: &'a [GitFileInfo],
pub project_root: &'a Path,
pub freshness: Option<&'a FreshnessResult>,
pub integrity: Option<&'a IntegrityResult>,
pub config_quality: Option<&'a ConfigQualityResult>,
pub agent_setup: Option<&'a AgentSetupResult>,
pub structure: Option<&'a StructureResult>,
}Expand description
Snapshot of project data available to rules during evaluation.
Contains both raw scan data (files, parsed docs, git info) and analysis results (freshness, integrity, etc.) so that rules can operate at whichever level of abstraction they prefer.
Fields§
§files: &'a [DiscoveredFile]All discovered files in the project.
known_paths: &'a HashSet<String>Set of all known relative paths (for link validation).
parsed_docs: &'a HashMap<String, ParsedDocument>Parsed markdown documents keyed by relative path.
git_infos: &'a [GitFileInfo]Git metadata per file.
project_root: &'a PathProject root path.
freshness: Option<&'a FreshnessResult>Freshness / staleness analysis results.
integrity: Option<&'a IntegrityResult>Reference integrity analysis results.
config_quality: Option<&'a ConfigQualityResult>Configuration quality analysis results.
agent_setup: Option<&'a AgentSetupResult>Agent setup infrastructure analysis results.
structure: Option<&'a StructureResult>Project structure quality analysis results.
Auto Trait Implementations§
impl<'a> Freeze for RuleContext<'a>
impl<'a> RefUnwindSafe for RuleContext<'a>
impl<'a> Send for RuleContext<'a>
impl<'a> Sync for RuleContext<'a>
impl<'a> Unpin for RuleContext<'a>
impl<'a> UnsafeUnpin for RuleContext<'a>
impl<'a> UnwindSafe for RuleContext<'a>
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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