fix(signals): classify PHP gRPC service stubs as generated#3754
Conversation
Recognize grpc-php *Grpc.php and *GrpcStub.php service stubs in isGeneratedFile alongside existing *_pb.php and *_grpc_pb.php matchers. 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 #3754 +/- ##
=======================================
Coverage 93.30% 93.30%
=======================================
Files 317 317
Lines 32363 32363
Branches 11873 11873
=======================================
Hits 30195 30195
Misses 1537 1537
Partials 631 631
🚀 New features to boost your workflow:
|
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ Gittensory review result - approve/merge recommendedReview updated: 2026-07-06 07:36:54 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 4 non-blocking
Review context
Contributor next steps
Signal definitions
🟩 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.
|
Summary
Extend
isGeneratedFileto recognize grpc-php service stubs (*Grpc.php,*GrpcStub.php), matching the existing*_pb.php/*_grpc_pb.phpprotobuf matchers and the Java/C#/Dart gRPC stub conventions. Includes positive/negativeisGeneratedFile/classifyChangedFileassertions and classification-table entries.Fixes #3007
Scope
CONTRIBUTING.md.Validation
git diff --checknpm run test:cion Node 22npm audit --audit-level=moderate— 0 vulnerabilitiesisGeneratedFile,classifyChangedFile, and the representative cases tableIf any required check was skipped, explain why:
Safety
UI Evidence
N/A — signals-only change with no visible UI.
Notes
Incremental path-matcher parity for #3007: PHP gRPC service stubs now classify as
generatedviaclassifyChangedFile, so slop signals and pre-open_prheuristics do not treat machine-generated grpc-php output as hand-authored source.Does not deliver the late-binding freshness-check slice — only closes a generated-classification gap in the shared path-matcher module.
Conflict avoidance: Touches only
src/signals/path-matchers.tsandtest/unit/path-matchers.test.ts. Zero overlap with open PRs (#3748 changed-files summary test, #3741 deps, #3724 local-branch Dart scoring, #3721 automated-review skip hold, #3712 visual shot bounds, #3704 miner calibration types, #3698 ignored-author gate).Made with Cursor