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::{
8    public_api_entry_paths_for_graph, public_api_package_entry_points, public_export_keys_for_graph,
9};
10pub use crate::results::{ProjectAnalysisArtifacts, ProjectAnalysisOutput};
11
12/// Artifact retention options for one project-level analysis run.
13#[derive(Debug, Default)]
14pub struct ProjectAnalysisArtifactOptions {
15    /// Keep parser artifacts needed by inline complexity and health overlays.
16    pub retain_complexity_artifacts: bool,
17    /// Keep the module graph for trace, routing, and decision-surface facts.
18    pub retain_graph: bool,
19    /// Changed files already resolved by the caller for this command run.
20    pub changed_files: Option<FxHashSet<PathBuf>>,
21    /// Collect source metadata fingerprints for follow-up cache decisions.
22    pub collect_source_fingerprints: bool,
23}