-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Detect files that frequently change together in git history but have no direct import relationship — hidden temporal coupling.
Motivation
- CodeScene's change coupling is one of their most valued features
- Files that always change together reveal hidden dependencies the import graph misses
- AI agents making changes need to know "if you touch X, you probably need to touch Y too"
- Amazon's AI code incident was partly caused by missing awareness of coupled systems
Approach
- Parse
git log --all --name-only(already done for churn) - For each commit, record which files changed together
- Compute co-change frequency for file pairs
- Filter by minimum threshold (e.g., changed together 3+ times)
- Flag pairs with high co-change but no import edge (hidden coupling)
Proposed API Addition
Add to detect_changes or new get_coupling tool:
output: {
temporalCoupling: Array<{
fileA: string,
fileB: string,
coChangeCount: number,
hasImportEdge: boolean,
confidence: "high" | "medium" | "low"
}>
}
Acceptance Criteria
- Co-change pairs computed from git history
- Hidden coupling flagged (co-change without import edge)
- Exposed via MCP tool
- Tests with real git repos
Priority
Short-term — High value, low effort (git data already parsed).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request