feat(signals): expand slop path classifiers for CI, toolchain, and lockfiles - #1422
feat(signals): expand slop path classifiers for CI, toolchain, and lockfiles#1422kiannidev wants to merge 4 commits into
Conversation
…ckfiles Extend path-matchers (JSONbored#561) so common CI workflow entrypoints, toolchain config, and additional lockfile/dependency manifests classify deterministically instead of falling through to generic "other". Adds recognition for GitHub Actions/CircleCI/Dependabot workflows, .gitlab-ci.yml/Jenkinsfile/azure-pipelines, mise/.tool-versions, Taskfile/justfile/Caddyfile/docker-compose, repo policy files (.pre-commit-config.yaml, .gitleaks.toml, .gittensory.yml, codecov, renovate), and lockfiles/manifests such as deno.lock, bun.lock, pubspec.lock, deno.json, pubspec.yaml, mix.exs, go.work, and uv.toml. Fixes JSONbored#1421 Co-authored-by: Cursor <cursoragent@cursor.com>
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1422 +/- ##
=======================================
Coverage ? 95.39%
=======================================
Files ? 193
Lines ? 20933
Branches ? 7566
=======================================
Hits ? 19970
Misses ? 383
Partials ? 580
🚀 New features to boost your workflow:
|
JSONbored
left a comment
There was a problem hiding this comment.
Closing this as the later duplicate. jaso0n0818's #1261 made the same isConfigFile CI-config change — same workflow/circleci/dependabot regexes, same toolchain entries — more than a day earlier, so on the earlier-original rule #1261 wins; being a broader superset doesn't promote a later PR over the original. Your genuinely net-new entries (the lockfiles, codecov/netlify/docker-compose, the isCiConfigPath extraction) are worth keeping — resubmit them as a focused PR layered on #1261 once it lands.
Summary
Slop path classification (
src/signals/path-matchers.ts, #561) drives how changed files are categorized for padding/churn analysis. Several common CI, toolchain, and lockfile paths still fell through to genericother, so config/infra-heavy diffs were not classified as the low-effort categories they are.This expands the deterministic matchers so those paths classify correctly before slop scoring consumes them via
classifyChangedFile.New classifications
Lockfiles:
deno.lock,bun.lock,pubspec.lock,Podfile.lockDependency manifests:
deno.json,deno.jsonc,pubspec.yaml,mix.exs,go.work,uv.tomlConfig / CI / toolchain:
.github/workflows/*.yml), Dependabot, CircleCI config.gitlab-ci.yml,Jenkinsfile,azure-pipelines.ymlmise.toml,.tool-versions,Taskfile.yml,justfile,Caddyfile,docker-compose.yml.pre-commit-config.yaml,.gitleaks.toml,.gittensory.yml,codecov.yml,renovate.json, deploy configs (railway.json,vercel.json,netlify.toml),cliff.tomlplaywright.config.*,eslint.config.*Behavior notes
classifyChangedFile..github/workflows/,.circleci/config.yml) so arbitrarydocs/ci.ymlfiles are not misclassified.Validation
All pass locally on Node 22 after
npm ci.Linked issue
Fixes #1421