Git History Integration
Git History Integration
Section titled “Git History Integration”When you enable git history for SCC, Arxo uses commit churn to rank files inside each cycle. That gives you a practical refactor order: prioritize files that are both central in the cycle and frequently changed.
For an overview, see Circular Dependencies. For per-cycle payload details, see Cycle Microscope.
What Changes When Git History Is On
Section titled “What Changes When Git History Is On”| Without git history | With git history |
|---|---|
| Cycle details include structure only | Each node gets churn |
| No refactor priority score | Each node gets hotspot_score (churn * centrality) |
| Harder to choose first target | Sort by hotspot_score and start from the top |
How to Enable
Section titled “How to Enable”metrics: - id: scc config: use_git_history: trueWith this enabled, ui_schemas.scc.scc_details[].node_table[] includes churn and hotspot_score.
Performance Trade-off
Section titled “Performance Trade-off”Loading git history can add noticeable runtime, especially on large repositories.
- Use
use_git_history: truewhen actively planning/refactoring cycle work. - Keep it off for fast CI checks that only gate regressions.
- Enable caching to speed up repeated runs.
Troubleshooting
Section titled “Troubleshooting”Churn and hotspot_score are always zero
Section titled “Churn and hotspot_score are always zero”- Confirm
metrics[].config.use_git_history: trueforid: scc. - Run with SCC debug logging:
ARXO_SCC_DEBUG=1 arxo analyzeLook for output similar to:
[scc] use_git_history=true git_history=Some edge_mode=allGit history is None even with use_git_history: true
Section titled “Git history is None even with use_git_history: true”- Run from the repository root.
- Confirm the project is a git repository.
- Confirm
gitis available in the run environment.
Summary
Section titled “Summary”- Enable:
metrics[].config.use_git_history: truefor SCC. - Use: Sort
node_tablebyhotspot_scorein cycle microscope details. - Trade-off: Better prioritization, slower runs.
For full SCC config and output fields, see SCC Keys and Output Contract.
Next Steps
Section titled “Next Steps”- Cycle Microscope: per-cycle details and node table
- Interpretation: threshold and triage guidance
- Fixing Cycles: step-by-step process
- Circular Dependencies: overview