Skip to content

Slopmeter v0.2.0

Choose a tag to compare

@fdsprod fdsprod released this 18 Sep 23:25
· 162 commits to main since this release

Slopmeter v0.2.0 improves test-complexity measurement and explains calibration support beside scores.

Changes

  • Test erosion now excludes plain assertion increments. Reports retain full cyclomatic complexity, assertion counts, and assertion-excluded control-flow complexity. Production complexity is unchanged.
  • New default profile py-2026.3 uses M4 version 3, rebuilt from the same six pinned reference projects. Production distributions, weights, and thresholds are unchanged.
  • Scores show reference observation counts, file size bands where applicable, nominal percentile steps, and unassessed domain match.
  • Reports distinguish missing reference populations from incompatible calibration, and explain zero points with nonzero raw evidence.
  • Compact reports include absolute metric totals. Expanded guidance explains test-style bias, intentional clones, embedded self-checks, and calibration limits.

Compatibility and limits

Do not directly compare scores across calibration profiles or metric versions. Historical profiles remain packaged and unchanged. Saved reports without assertion counts or reference support retain explicit unknown states.

Python is the only implemented language. Classification still uses file paths. Boundary-aware clone labels and persistent review dispositions are not included. The six-project historical corpus remains small and library-heavy. Scores are review signals, not a quality gate or defect probabilities.

Validation

GitHub CI passed static checks and all nine test/package jobs across Windows, macOS, and Linux with Python 3.12, 3.13, and 3.14.

  • 1,217 deterministic tests passed with 96.90% branch-inclusive coverage before the version-only release update.
  • 50 dependency-learning tests passed; focused Python 3.13 and 3.14 runs each passed 408 tests.
  • Both v0.2.0 distributions passed isolated installation checks. Release-version golden checks passed.
  • A self-scan confirmed that 26 over-threshold unit-test callables became one after excluding assertion increments. Real branching remains visible.

Install

Download the wheel below, then run:

python -m pip install ./slop_measure-0.2.0-py3-none-any.whl
slop score . --lang py --scope all --top 10

Requires Python 3.12 or later. SHA256SUMS.txt contains SHA-256 digests for the wheel and source distribution. Installation is from these GitHub assets; this release is not a PyPI publication.