Impact Analysis with GitNexus
When to Use
-
"Is it safe to change this function?"
-
"What will break if I modify X?"
-
"Show me the blast radius"
-
"Who uses this code?"
-
Before making non-trivial code changes
-
Before committing — to understand what your changes affect
Workflow
- gitnexus_impact({target: "X", direction: "upstream"}) → What depends on this
- READ gitnexus://repo/{name}/processes → Check affected execution flows
- gitnexus_detect_changes() → Map current git changes to affected flows
- Assess risk and report to user
If "Index is stale" → run npx gitnexus analyze in terminal.
Checklist
- gitnexus_impact({target, direction: "upstream"}) to find dependents
- Review d=1 items first (these WILL BREAK)
- Check high-confidence (>0.8) dependencies
- READ processes to check affected execution flows
- gitnexus_detect_changes() for pre-commit check
- Assess risk level and report to user
Understanding Output
Depth Risk Level Meaning
d=1 WILL BREAK Direct callers/importers
d=2 LIKELY AFFECTED Indirect dependencies
d=3 MAY NEED TESTING Transitive effects
Risk Assessment
Affected Risk
<5 symbols, few processes LOW
5-15 symbols, 2-5 processes MEDIUM
15 symbols or many processes HIGH
Critical path (auth, payments) CRITICAL
Tools
gitnexus_impact — the primary tool for symbol blast radius:
gitnexus_impact({ target: "validateUser", direction: "upstream", minConfidence: 0.8, maxDepth: 3 })
→ d=1 (WILL BREAK):
- loginHandler (src/auth/login.ts:42) [CALLS, 100%]
- apiMiddleware (src/api/middleware.ts:15) [CALLS, 100%]
→ d=2 (LIKELY AFFECTED):
- authRouter (src/routes/auth.ts:22) [CALLS, 95%]
gitnexus_detect_changes — git-diff based impact analysis:
gitnexus_detect_changes({scope: "staged"})
→ Changed: 5 symbols in 3 files → Affected: LoginFlow, TokenRefresh, APIMiddlewarePipeline → Risk: MEDIUM
Example: "What breaks if I change validateUser?"
-
gitnexus_impact({target: "validateUser", direction: "upstream"}) → d=1: loginHandler, apiMiddleware (WILL BREAK) → d=2: authRouter, sessionManager (LIKELY AFFECTED)
-
READ gitnexus://repo/my-app/processes → LoginFlow and TokenRefresh touch validateUser
-
Risk: 2 direct callers, 2 processes = MEDIUM