Skip to content

fix(signals): classify Java gRPC service stubs as generated - #3580

Closed
luciferlive112116 wants to merge 1 commit into
JSONbored:mainfrom
luciferlive112116:fix/signals-java-grpc-generated
Closed

fix(signals): classify Java gRPC service stubs as generated#3580
luciferlive112116 wants to merge 1 commit into
JSONbored:mainfrom
luciferlive112116:fix/signals-java-grpc-generated

Conversation

@luciferlive112116

Copy link
Copy Markdown
Contributor

Summary

Extend isGeneratedFile to recognize grpc-java service stubs (*Grpc.java), matching the existing Swift .grpc.swift and Kotlin GrpcKt.kt conventions. Includes positive/negative isGeneratedFile / classifyChangedFile assertions and a classification-table entry.

Fixes #561

Scope

  • The PR title follows type(scope): short summary Conventional Commit format, for example fix(api): restore profile access checks.
  • This PR is focused and does not mix unrelated backend, UI, MCP, docs, dependency, and deploy changes.
  • This follows CONTRIBUTING.md and does not reintroduce GitHub Pages, VitePress, site/, or CNAME.
  • I linked an issue, or this is small enough that the summary explains why an issue is not needed.

Validation

  • git diff --check
  • npm run typecheck
  • npx vitest run test/unit/path-matchers.test.ts (45/45 pass)
  • npm run test:coverage locally; codecov/patch requires >=99% coverage of the lines AND branches you changed (aim for 100% on your diff so CI variance does not fail near the threshold). Global coverage is a non-blocking trend with a loose 90% backstop, not the gate.
  • npm run test:workers
  • npm run build:mcp
  • npm run test:mcp-pack
  • npm run ui:openapi:check
  • npm run ui:lint
  • npm run ui:typecheck
  • npm run ui:build
  • npm audit --audit-level=moderate
  • New or changed behavior has unit/integration tests for new branches, fallback paths, and sanitizer boundaries

If any required check was skipped, explain why:

  • Full CI suite deferred to GitHub Actions; targeted path-matcher tests and typecheck run locally.

Safety

  • No secrets, wallet details, hotkeys, coldkeys, user PATs, private keys, raw trust scores, private rankings, or private maintainer evidence are exposed.
  • Public GitHub text stays sanitized, low-noise, and does not imply compensation guarantees or optimization tactics.
  • Auth, cookie, CORS, GitHub App, Cloudflare, or session changes include negative-path tests.
  • API/OpenAPI/MCP behavior is updated and tested where needed.
  • UI changes use live API data or real empty/error/loading states, not production mock/demo fallbacks.
  • Visible UI changes include a UI Evidence section below with JPG/JPEG or PNG screenshots arranged as organized, captioned, clickable thumbnails. SVG screenshots are not used as review evidence. Review-only screenshots or recordings are not committed to the repository.
  • Public docs/changelogs are updated where needed; changelogs are only edited for release-prep PRs.

UI Evidence

N/A — signals-only change with no visible UI.

Notes

Incremental maintenance parity for the path-matcher slop signals from #561. Supersedes closed #3572 (auto-closed due to duplicate #561 overlap with #3549; neither PR merged). Only this PR links #561 while open.

Made with Cursor

Recognize grpc-java *Grpc.java protoc output in isGeneratedFile, matching the existing Swift/Kotlin gRPC stub conventions.

Co-authored-by: Cursor <cursoragent@cursor.com>
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@codecov

codecov Bot commented Jul 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.15%. Comparing base (626b580) to head (2cb5c7a).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3580   +/-   ##
=======================================
  Coverage   93.15%   93.15%           
=======================================
  Files         311      311           
  Lines       31702    31702           
  Branches    11579    11579           
=======================================
  Hits        29533    29533           
  Misses       1517     1517           
  Partials      652      652           
Files with missing lines Coverage Δ
src/signals/path-matchers.ts 88.46% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@loopover-orb loopover-orb Bot added gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. labels Jul 5, 2026
@loopover-orb

loopover-orb Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Warning

🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨

⏸️ Gittensory review result - manual review recommended

Review updated: 2026-07-05 18:08:15 UTC

2 files · 1 AI reviewer · no blockers · readiness 80/100 · CI green · dirty

⏸️ Suggested Action - Manual Review

Review summary
This extends `isGeneratedFileFrom` in src/signals/path-matchers.ts with a `/grpc\.java$/` regex to classify grpc-java service stubs (`*Grpc.java`) as generated, mirroring the existing Swift `.grpc.swift` and Kotlin `grpckt.kt` conventions exactly. The change is minimal, correctly placed alongside its siblings, and the accompanying tests cover the positive case (`GreeterGrpc.java` -> true), the negative case (`Greeter.java` -> false), and the `classifyChangedFile` table entry, consistent with how the Kotlin/Swift additions were tested. Issue #561 is linked per repo convention and the diff is narrowly scoped to this one classifier change.

Nits — 2 non-blocking
  • The new regex has no left-side boundary (same as the pre-existing grpckt.kt pattern), so a hand-authored file merely named `...Grpc.java` would also be misclassified as generated — an accepted tradeoff already baked into the sibling patterns, not new here, but worth a one-line comment if that risk is ever revisited.
  • Consider whether a future PR should tighten the grpc-stub regexes (Swift/Kotlin/Java) with a shared helper enforcing a PascalCase-prefix boundary, since all three share the same false-positive shape.
Signal Result Evidence
Code review ✅ No blockers 1 reviewer
Linked issue ✅ Linked #561, #3572
Related work ✅ No active overlap found No same-issue or scoped active PR overlap found.
Change scope ✅ 20/20 Low review scope from cached public metadata (2 linked issues).
Validation posture ❌ 5/25 Preflight is holding this PR: the review lane is unavailable, so it is not ready for automated review.
Contributor workload ✅ 10/10 Author activity: 170 registered-repo PR(s), 90 merged, 21 issue(s).
Contributor context ✅ Confirmed Gittensor contributor luciferlive112116; Gittensor profile; 170 PR(s), 21 issue(s).
Gate result ✅ Passing No configured blocker found.
Review context
  • Author: luciferlive112116
  • Role context: outside_contributor
  • Public audience mode: oss maintainer
  • Lane context: Repository registration is not available in the local Gittensory cache.
  • Public profile languages: JavaScript, MDX, Python, Rust, TypeScript
  • Official Gittensor activity: 170 PR(s), 21 issue(s).
  • PR-specific overlap: none found.
Contributor next steps
  • Await review-lane availability.
  • Refresh registry data or choose a registered active repo.
Signal definitions
  • Related work = same linked issue, overlapping active PRs, or title/path similarity.
  • Change scope = cached public metadata such as size labels, draft state, and review-burden hints.
  • Validation posture = whether the PR provides enough public validation/test evidence for maintainer review.
  • Contributor workload = public contributor activity and cleanup pressure, not a repo-wide quality failure.
  • Contributor context = public GitHub/Gittensor identity context; non-Gittensor status is not a blocker.

🟩 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 commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Gittensory is closing this pull request on the maintainer's behalf (conflicts with the base branch — resolve and open a fresh PR). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed.

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. manual-review Gittensor contributor context

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(signals): slop signal — generated/vendored/dependency/docs matchers

1 participant