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}