ImpactGate: A merge gate that scores the structural decay AI adds
ImpactGate is a new tool designed to measure and control 'structural decay' or increasing complexity within a codebase introduced by new changes. It calculates an 'impact' score based on factors like files changed, existing complexity, and lines modified, warning or blocking changes that exceed predefined thresholds. The tool can be integrated as a standalone CLI, a git pre-commit hook, or a plugin for CI/CD systems like GitHub, GitLab, and Jenkins.
Why it matters
This tool helps developers maintain code quality and prevent technical debt by automatically flagging overly complex or poorly structured changes before they are merged. It promotes better software engineering practices, potentially leading to more maintainable, scalable, and robust software systems.
Measure and gate the structural decay a change introduces. Run it as a standalone CLI, a git pre-commit hook, or a plugin in GitHub, GitLab, and Jenkins CI.
Website: https://impactgate.officefloor.net
Structural decay is complexity accreting into existing structures. A god-method grows another branch. A god-class gains another method. The gate scores a change against a base ( main by default) with the change-impact measure:
impact = files_changed * Σ max(WMC_other, 1) * CC * Δlines (over changed functions) WMC_other is the complexity already in the container you are editing. It is measured on the pre-change state. So importing a brand-new file or class is cheap. Nothing was there before. Piling onto an already-heavy class is expensive. That is the decay signal.
For the reasoning behind the formula, see Measuring the Blast Radius of Change on the OfficeFloor blog.
Get smarter about the news
Sign up free for a feed built around what you actually care about, Dive Deeper research on any story, and the full text of every article.
Create free accountAlready have an account? Sign in