Summary
Add CI gates that detect regression in package-level coupling metrics between the base branch and the PR, failing the build when structural quality degrades beyond tolerance.
RFC: https://github.com/orgs/unbound-force/discussions/483 — Group 2d
Phase: P2 (Accessibility)
Context
Once vibe-check analyze produces package-level metrics, we need CI enforcement that prevents PRs from degrading those metrics. This adds regression detection as a first-class vibe-check capability.
Implementation
Regression Detection
- Run
vibe-check analyze on both the base branch and the PR branch
- Compare per-package metrics: Instability (I), Distance (D), LCOM, Circular Deps
- Fail if any metric regresses beyond a configurable tolerance
CLI Flags
vibe-check analyze ./... \
--regression-base=origin/main \
--max-instability-delta=0.05 \
--max-distance-delta=0.05 \
--no-new-circular-deps
Output
- Table of packages with metric deltas
- Clear indication of which packages regressed and by how much
- JSON output with
regression section for programmatic consumption
Acceptance Criteria
Dependencies
Summary
Add CI gates that detect regression in package-level coupling metrics between the base branch and the PR, failing the build when structural quality degrades beyond tolerance.
RFC: https://github.com/orgs/unbound-force/discussions/483 — Group 2d
Phase: P2 (Accessibility)
Context
Once
vibe-check analyzeproduces package-level metrics, we need CI enforcement that prevents PRs from degrading those metrics. This adds regression detection as a first-classvibe-checkcapability.Implementation
Regression Detection
vibe-check analyzeon both the base branch and the PR branchCLI Flags
Output
regressionsection for programmatic consumptionAcceptance Criteria
--regression-baseflag compares metrics between branches--no-new-circular-depsflag detects newly introduced cyclesregressionsection conforming tometrics.ModuleGraphschemaDependencies
vibe-check analyzecommand