feat(mcp): register a gittensory://slop-rules resource enumerating deterministic slop findings - #4239
Conversation
…terministic slop findings Expose a read-only gittensory://slop-rules MCP resource (application/json) that catalogs the deterministic slop rule codes + point weights (PR and issue) and the clean/low/elevated/high score bands, so an agent can pre-plan against the detector without a scoring call. Codes/weights are read straight off SLOP_WEIGHTS / ISSUE_SLOP_WEIGHTS in src/signals/slop.ts (single source of truth); mirrors the existing finding-taxonomy and enrichment-analyzers resources. Closes JSONbored#2237
|
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 #4239 +/- ##
=======================================
Coverage 93.76% 93.77%
=======================================
Files 392 393 +1
Lines 36576 36583 +7
Branches 13392 13392
=======================================
+ Hits 34297 34304 +7
Misses 1623 1623
Partials 656 656
🚀 New features to boost your workflow:
|
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ Gittensory review result - approve/merge recommendedReview updated: 2026-07-08 17:53:49 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 4 non-blocking
Linked issue satisfactionAddressed 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.
|
What
gittensory_check_slop_riskreturns per-call findings, but there's no discoverable catalog of the deterministic slop rule codes, their point weights, and the score bands the detector emits. This adds a read-onlygittensory://slop-rulesMCP resource (application/json) so an agent can pre-plan against the detector without triggering a scoring call — mirroring the existinggittensory://finding-taxonomyandgittensory://enrichment-analyzersresources.Codes and weights are read straight off the
SLOP_WEIGHTSandISSUE_SLOP_WEIGHTSas constmaps insrc/signals/slop.ts(single source of truth — no duplicated literals; adding a signal there surfaces it here automatically). The band names are typed asSlopBand, so a renamed or removed band fails the build here rather than drifting silently.Deliverables
gittensory://slop-rulesresource insrc/mcp/server.ts(application/json) returning the rule/band catalog.SLOP_WEIGHTS,ISSUE_SLOP_WEIGHTS) — no duplicated literals.Closes #2237