Skip to main content

ovecc drift

Architecture trend over time: per-metric base→head deltas (coupling, complexity, security, dead code, ownership) and a trend classification. "Is the codebase getting worse?"

Usage: ovecc drift [OPTIONS]

Example

$ ovecc drift
Drift: snapshot:85ee2372… -> snapshot:5ab78093…
Coupling: +14.29%
Trend: worsening
dependencies: 17 -> 22 (5)
external_dependencies: 5 -> 6 (1)
circular_dependencies: 0 -> 1 (1)
coupling_density: 0.23 -> 0.27 (0.03)
boundary_violations: 1 -> 2 (1)
security_findings: 7 -> 13 (6)
max_cyclomatic: 3 -> 24 (21)
high_complexity_functions: 0 -> 1 (1)
unused_exports: 8 -> 10 (2)

Only changed metrics are listed. The full metric catalog is in the metrics reference.

Options

OptionEffect
--since <ref>Compare against the snapshot taken at this Git ref (or a snapshot id) instead of the previous snapshot — e.g. --since main, --since v1.0.0

Plus the global options.

Semantics

  • The trend classification follows the coupling direction; read the per-metric deltas for the full picture (a big cleanup that deletes a module can tighten coupling density while clearly improving everything else).
  • security_findings counts code findings only; OSV advisories are tracked separately as dependency_advisories, so running audit --fetch never reads as a code-quality regression.
  • Needs at least two snapshots (or a snapshot at the --since ref).