Skip to content

feat(signals): expand slop path classifiers for CI, toolchain, and lockfiles #1421

Description

@kiannidev

Summary

Slop path classification (src/signals/path-matchers.ts, #561) drives how changed files are categorized for padding/churn signals. Several common CI, toolchain, and lockfile paths are still classified as generic other or mis-bucketed, so padded diffs that inflate size with low-effort config/infra churn are under-detected compared to genuine source work.

Examples currently missed or weak

  • CI workflow files under .github/workflows/ and common CI entrypoints (.gitlab-ci.yml, Jenkinsfile, .circleci/config.yml)
  • Toolchain/version-manager config (mise.toml, .tool-versions)
  • Additional lockfiles (deno.lock, bun.lock, pubspec.lock, Podfile.lock)
  • Repo policy / automation config (.pre-commit-config.yaml, .gitleaks.toml, codecov.yml, renovate.json, Taskfile.yml, justfile)
  • Additional dependency manifests (deno.json, pubspec.yaml, mix.exs, go.work)

Proposed fix

Extend path-matchers.ts matchers (isLockfile, isDependencyManifestFile, isConfigFile, classifyChangedFile) to recognize these paths deterministically, with exhaustive unit tests in test/unit/path-matchers.test.ts and slop regression coverage where behavior changes.

Why this matters

Config/lockfile/CI-only diffs are legitimate change categories but should not masquerade as substantive source effort in slop scoring. Better classification improves precision of non-substantive padding and churn signals without blocking real dependency or CI maintenance work.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions