Expand description
Technical debt prioritization and unified scoring.
This module provides the core prioritization engine for debtmap, combining multiple signals (complexity, coverage, architecture) into a unified debt score. It handles call graph construction, impact calculation, and tiered classification of debt items.
§Key Components
- UnifiedAnalysis: Aggregated analysis results with scoring
- CallGraph: Function call relationships for impact analysis
- Scoring: Multi-factor scoring combining complexity, coverage, and context
- Tiers: Classification into actionable priority levels
- Filtering: Configurable filtering with statistics tracking
§Debt Categories
- Architecture: God objects, feature envy, scattered types
- Testing: Coverage gaps, test quality issues
- Performance: Async misuse, collection inefficiency
- Code Quality: Complexity hotspots, duplication
Re-exports§
pub use call_graph::CallGraph;pub use call_graph::FunctionCall;pub use coverage_propagation::calculate_transitive_coverage;pub use coverage_propagation::TransitiveCoverage;pub use debt_aggregator::DebtAggregator;pub use debt_aggregator::FunctionId as AggregatorFunctionId;pub use file_metrics::FileDebtItem;pub use file_metrics::FileDebtMetrics;pub use file_metrics::FileImpact;pub use file_metrics::GodObjectIndicators;pub use filter_predicates::FilterStatistics;pub use filtering::filter_with_metrics;pub use filtering::ClassifiedItem;pub use filtering::FilterConfig;pub use filtering::FilterMetrics;pub use filtering::FilterResult;pub use formatter::format_priorities;pub use formatter::OutputFormat;pub use formatter_markdown::format_priorities_categorical_markdown;pub use formatter_markdown::format_priorities_markdown;pub use formatter_markdown::format_priorities_tiered_markdown;pub use god_object_aggregation::aggregate_god_object_metrics;pub use god_object_aggregation::GodObjectAggregatedMetrics;pub use pipeline::analyze_and_filter;pub use pipeline::filter_sort_limit;pub use pipeline::sort_by_score;pub use pipeline::take_top;pub use semantic_classifier::classify_function_role;pub use semantic_classifier::FunctionRole;pub use tiers::classify_tier;pub use tiers::RecommendationTier;pub use tiers::TierConfig;pub use unified_analysis_queries::UnifiedAnalysisQueries;pub use unified_analysis_utils::UnifiedAnalysisUtils;pub use unified_scorer::calculate_unified_priority;pub use unified_scorer::Location;pub use unified_scorer::UnifiedDebtItem;pub use unified_scorer::UnifiedScore;pub use view::CategoryCounts;pub use view::ItemLocation;pub use view::LocationGroup;pub use view::PreparedDebtView;pub use view::ScoreDistribution;pub use view::SortCriteria;pub use view::ViewConfig;pub use view::ViewItem;pub use view::ViewSummary;pub use view_pipeline::prepare_view;pub use view_pipeline::prepare_view_default;pub use view_pipeline::prepare_view_for_terminal;pub use view_pipeline::prepare_view_for_tui;pub use debt_types::DebtType;pub use debt_types::FunctionVisibility;
Modules§
- architecture_
recognition - Architecture recognition for stable core detection (spec 269).
- call_
graph - Call graph analysis module for function relationship tracking
- caller_
classification - Caller classification for dependency metrics (Spec 267)
- classification
- complexity_
patterns - Complexity Pattern Detection
- context
- Context window suggestions for AI agents (Spec 263).
- coverage_
propagation - Indirect coverage detection through call graph analysis (Spec 120)
- debt_
aggregator - debt_
types - Debt type definitions and related implementations.
- detected_
pattern - Detected Pattern
- external_
api_ detector - file_
metrics - filter_
config - Unified filter configuration for debt items.
- filter_
predicates - Pure predicate functions for filtering debt items.
- filtering
- Filter transparency with metrics tracking.
- formatted_
output - Pure data structures for formatted priority output.
- formatter
- Terminal formatting for priority analysis results
- formatter_
markdown - Markdown formatting for priority analysis results
- formatter_
verbosity - Verbosity-Aware Formatter
- god_
object_ aggregation - Pure aggregation functions for god object metrics.
- impact_
calculation - Pure helper functions for impact calculation.
- parallel_
call_ graph - pipeline
- Composable filter pipeline with functional composition.
- refactoring_
impact - Refactoring Impact Calculation
- score_
formatter - score_
types - Score types module.
- scoring
- semantic_
classifier - tiers
- unified_
analysis_ queries - Query and data access operations for UnifiedAnalysis.
- unified_
analysis_ utils - Utility operations for UnifiedAnalysis.
- unified_
scorer - view
- Unified view data model for debt display.
- view_
pipeline - Pure transformation pipeline for view preparation.
Structs§
- Action
Step - Single actionable step with clear impact (spec 138a)
- Actionable
Recommendation - Placeholder for recommendations (spec 262: recommendations removed) This struct is kept for backward compatibility with JSON output. All fields are now empty/default - debtmap focuses on identification and severity, not on providing refactoring recommendations.
- Categorized
Debt - Category
Summary - Cross
Category Dependency - Display
Group - Function
Analysis - Impact
Metrics - Tiered
Display - Unified
Analysis
Enums§
- Debt
Category - Debt
Item - Difficulty
- Difficulty classification for actionable steps (spec 138a)
- Impact
Level - Tier