Skip to content

feat(signals): classify remaining config and manifest paths - #1691

Merged
JSONbored merged 2 commits into
JSONbored:mainfrom
tmimmanuel:feat/signals-remaining-path-classifiers
Jun 28, 2026
Merged

feat(signals): classify remaining config and manifest paths#1691
JSONbored merged 2 commits into
JSONbored:mainfrom
tmimmanuel:feat/signals-remaining-path-classifiers

Conversation

@tmimmanuel

@tmimmanuel tmimmanuel commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • classify the remaining feat(signals): expand slop path classifiers for CI, toolchain, and lockfiles #1421 dependency manifests: deno.json/jsonc, pubspec.yaml, mix.exs, and go.work
  • classify the remaining repo policy, task-runner, deploy, and CI config basenames like .gitleaks.toml, codecov.yml/yaml, .codecov.yml/yaml, Taskfile.yml/yaml, justfile, docker-compose/compose entrypoints and overrides, Caddyfile, netlify.toml, vercel.json, railway.json, and Jenkinsfile
  • add direct unit coverage through isDependencyManifestFile, isConfigFile, and classifyChangedFile for the new path groups, plus negative exact-basename cases

Scope

This is a narrow follow-up after #1261 and #1458. Those PRs already landed the shared CI/toolchain and lockfile work; this PR covers the remaining examples from #1421 on top of current main and adds public classifier coverage for each newly added basename.

Fixes #1421

Test plan

  • npm run test -- --run test/unit/path-matchers.test.ts
  • npm run typecheck

@tmimmanuel
tmimmanuel requested a review from JSONbored as a code owner June 28, 2026 21:18
@dosubot dosubot Bot added the size:S label Jun 28, 2026
@loopover-orb

loopover-orb Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Tip

🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩

✅ Gittensory review — safe to merge

2 files · 1 AI reviewers · no blockers · readiness 55/100 · CI green · clean

✅ Approved — safe to merge

Review summary
This change correctly extends the path classifier with the remaining dependency manifests and config basenames, and the implementation fits the existing normalized-basename matching model. The notable detail is that mixed-case user-facing names like Taskfile, Caddyfile, and Jenkinsfile are covered by the lowercasing in normalize(), so the lower-case set entries are correct. The added tests exercise the public matchers and classification path with useful negative near-misses; I do not see a reachable correctness break in the diff.

Signal Result Evidence
Code review ✅ No blockers 1 reviewers, synthesized
Linked issue ✅ Linked #1421
Related work ⚠️ 3 scoped overlaps Top overlaps are listed below; lower-confidence bulk is hidden.
Review load ❌ 8/20 Readiness component derived from cached public PR metadata and labels; size label size:M.
Validation evidence ❌ 5/25 Cached preflight status is hold.
Open PR queue ❌ 3/10 15 open PR(s), 9 likely reviewable, 6 unlinked.
Contributor context ✅ Confirmed Gittensor contributor tmimmanuel; Gittensor profile; 33 PR(s), 35 issue(s).
Gate result ✅ Passing No configured blocker found.
Nits — 3 non-blocking
  • nit: test/unit/path-matchers.test.ts:284 says classifyChangedFile has direct coverage for the new path groups, but the representative table omits a few newly-added exact basenames such as .codecov.yaml, docker-compose.override.yaml, and compose.override.yml.
  • test/unit/path-matchers.test.ts:284 Add the omitted new exact basenames to the classifyChangedFile table so classifier-level coverage mirrors the isConfigFile basename coverage, not just the underlying matcher coverage.
  • Readiness score is below the configured threshold — Use the readiness panel as advisory maintainer context; the score does not block this PR.
Review context
Contributor next steps
  • Review top overlaps.
  • Add scope summary.
  • Fix blocker.
  • Expect slower review.
  • Refresh registry data or choose a registered active repo.
  • Check active issues and PRs before submitting.
Signal definitions
  • Related work = same linked issue, overlapping active PRs, or title/path similarity.
  • Review load = cached public PR metadata such as size labels, changed paths, and preflight status.
  • Open PR queue = repo-wide review pressure; it is not a PR quality failure.
  • Contributor context = public GitHub/Gittensor identity context; non-Gittensor status is not a blocker.
Review details

Generated from public PR metadata and the diff. Advisory only; deterministic signals remain authoritative.

This change correctly extends the path classifier with the remaining dependency manifests and config basenames, and the implementation fits the existing normalized-basename matching model. The notable detail is that mixed-case user-facing names like Taskfile, Caddyfile, and Jenkinsfile are covered by the lowercasing in normalize(), so the lower-case set entries are correct. The added tests exercise the public matchers and classification path with useful negative near-misses; I do not see a reachable correctness break in the diff.

Nits (2)

  • nit: test/unit/path-matchers.test.ts:284 says classifyChangedFile has direct coverage for the new path groups, but the representative table omits a few newly-added exact basenames such as .codecov.yaml, docker-compose.override.yaml, and compose.override.yml.
  • test/unit/path-matchers.test.ts:284 Add the omitted new exact basenames to the classifyChangedFile table so classifier-level coverage mirrors the isConfigFile basename coverage, not just the underlying matcher coverage.

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed


💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →.

Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.

  • Re-run Gittensory review

@loopover-orb loopover-orb Bot added gittensor gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. labels Jun 28, 2026
@codecov

codecov Bot commented Jun 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.58%. Comparing base (8652e6c) to head (2bec9a9).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1691   +/-   ##
=======================================
  Coverage   95.58%   95.58%           
=======================================
  Files         204      204           
  Lines       22295    22295           
  Branches     8053     8053           
=======================================
  Hits        21310    21310           
  Misses        408      408           
  Partials      577      577           
Files with missing lines Coverage Δ
src/signals/path-matchers.ts 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@tmimmanuel
tmimmanuel force-pushed the feat/signals-remaining-path-classifiers branch 3 times, most recently from 28369fc to e8977e7 Compare June 28, 2026 21:31
@tmimmanuel
tmimmanuel force-pushed the feat/signals-remaining-path-classifiers branch from e8977e7 to 96f3081 Compare June 28, 2026 21:34
@dosubot dosubot Bot added size:M and removed size:S labels Jun 28, 2026
@dosubot dosubot Bot added the lgtm label Jun 28, 2026
@JSONbored JSONbored added gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. and removed gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. labels Jun 28, 2026
@JSONbored
JSONbored merged commit a39a340 into JSONbored:main Jun 28, 2026
16 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in gittensory - v1 roadmap Jun 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier.

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

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

2 participants