Skip to main content

fallow_engine/
project_analysis.rs

1//! Project-level analysis contracts owned by the engine boundary.
2
3use std::path::PathBuf;
4
5use rustc_hash::FxHashSet;
6
7pub use crate::public_api::public_api_package_entry_points;
8pub use crate::results::{ProjectAnalysisArtifacts, ProjectAnalysisOutput};
9
10/// Artifact retention options for one project-level analysis run.
11#[derive(Debug, Default)]
12pub struct ProjectAnalysisArtifactOptions {
13    /// Keep parser artifacts needed by inline complexity and health overlays.
14    pub retain_complexity_artifacts: bool,
15    /// Keep the module graph for trace, routing, and decision-surface facts.
16    pub retain_graph: bool,
17    /// Changed files already resolved by the caller for this command run.
18    pub changed_files: Option<FxHashSet<PathBuf>>,
19    /// Collect source metadata fingerprints for follow-up cache decisions.
20    pub collect_source_fingerprints: bool,
21}