whatisgithub

What is impactguard?

daedalus/impactguard — explained in plain English

Analysis updated 2026-05-18

2PythonAudience · developerComplexity · 3/5Setup · easy

In one sentence

A tool that scans a code change to a function's interface, finds every call site that could break, and scores how risky the change is before you merge it.

Mindmap

mindmap
  root((ImpactGuard))
    What it does
      Detects breaking changes
      Scores risk
      Generates patches
    Tech stack
      Python
      LibCST
      CLI
    Use cases
      CI merge gates
      Refactoring safety
      Multi-language codebases
    Audience
      Developers
      DevOps teams

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Block a CI merge automatically when a function signature change scores too risky

USE CASE 2

Find every call site affected by removing or renaming a function parameter

USE CASE 3

Auto-generate patches to fix call sites broken by an interface change

USE CASE 4

Compare function signatures across two commits in a multi-language codebase

What is it built with?

PythonLibCSTPyPI

How does it compare?

daedalus/impactguard0-bingwu-0/live-interpreter0xkaz/llm-governance-dashboard
Stars222
LanguagePythonPythonPython
Setup difficultyeasymoderatehard
Complexity3/52/54/5
Audiencedevelopergeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Installable from PyPI, requires Python 3.11 or higher.

So what is it?

ImpactGuard is a tool for developers who want to understand the consequences of changing a function's interface before merging that change into a shared codebase. When you modify how a function works, for example, by removing a parameter or changing what a parameter means, other parts of the code that call that function may break silently. ImpactGuard automates the work of finding those at-risk call sites and scoring how dangerous the change is. It supports Python, TypeScript, JavaScript, Java, Kotlin, Go, Rust, Swift, C, C++, C#, Ruby, Haskell, and Zig. For each language, it parses the source code to extract function signatures (names, parameters, types), then compares them across two commits to classify what changed. Changes are labeled as breaking (such as removing a required argument) or non-breaking (such as adding an optional argument). It then scans the rest of the codebase for every place that calls the changed function using static call-site analysis, with optional runtime tracing to capture live execution patterns as well. The risk of each change is expressed as a score using a model the project calls S × E × C × λ, Severity, Exposure, Confidence, and Lambda, giving a single quantitative number that can be used as a gate in CI/CD pipelines to block merges that exceed a risk threshold. When breaking call sites are found, ImpactGuard can also generate format-preserving patches to fix them automatically using LibCST. The tool is installable from PyPI, requires Python 3.11 or higher, and includes a command-line interface. It is available under the topics ast, automatic-patching, call-graph, cicd-integration, commit-analysis, diff, git, and impact-analysis.

Copy-paste prompts

Prompt 1
Show me how to run ImpactGuard to score the risk of my latest function signature change
Prompt 2
Explain ImpactGuard's Severity, Exposure, Confidence, Lambda risk formula
Prompt 3
Help me wire ImpactGuard into a CI/CD pipeline as a merge gate
Prompt 4
How do I use ImpactGuard to auto-generate patches for broken call sites?

Frequently asked questions

What is impactguard?

A tool that scans a code change to a function's interface, finds every call site that could break, and scores how risky the change is before you merge it.

What language is impactguard written in?

Mainly Python. The stack also includes Python, LibCST, PyPI.

How hard is impactguard to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is impactguard for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.