feat(mcp): expose maintainer-lane triage via gittensory_get_maintainer_lane#1456
Open
oktofeesh1 wants to merge 2 commits into
Open
feat(mcp): expose maintainer-lane triage via gittensory_get_maintainer_lane#1456oktofeesh1 wants to merge 2 commits into
oktofeesh1 wants to merge 2 commits into
Conversation
|
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 #1456 +/- ##
=======================================
Coverage 95.37% 95.37%
=======================================
Files 199 200 +1
Lines 21546 21557 +11
Branches 7791 7792 +1
=======================================
+ Hits 20550 20561 +11
Misses 416 416
Partials 580 580
🚀 New features to boost your workflow:
|
This was referenced Jun 26, 2026
…r_lane The deterministic maintainer-lane report (`buildMaintainerLaneReport`, src/signals/engine.ts) synthesizes a repo's lane recommendation alongside the configured maintainer cut, queue health, config quality, and contributor-intake health — the maintainer's own-lane triage view. It already powers the repo-intelligence response but had no MCP surface, so agents/CLI couldn't pull it (it is also absent from gittensory_get_repo_context). Add `gittensory_get_maintainer_lane` (maintainer-authenticated via the existing requireRepoAccess, advisory only), mirroring the merged maintainer-noise / outcome-calibration serving (JSONbored#1414 / JSONbored#1174): a thin load-or-compute service (src/services/maintainer-lane.ts) that loads the repo's cached signals + collision report and runs the existing builder, plus the MCP tool registration + output schema + method. Output flows through the existing redactSensitiveForMcp wrapper. No new REST route, no migration, no auth-policy change — purely additive to the MCP surface. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
aa1edb1 to
e840d99
Compare
|
Caution 🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥 🛑 Gittensory review — blocked
🛑 Blocked CI checks failing
Nits — 2 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.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Tracking / design issue: #1460 — this PR implements it. (Referenced, not auto-closing: a self-authored, unlabeled issue must not carry a
Closeskeyword here, per the linked-issue hard rule +issueDiscoveryPolicy: discouraged; the issue is closed manually with this PR cited.)The deterministic maintainer-lane report (
buildMaintainerLaneReport,src/signals/engine.ts) synthesizes a repo's lane recommendation in the context of the configured maintainer cut, queue health, config quality, and contributor-intake health — the maintainer's own-lane triage view. It already powers the repo-intelligence response but had no MCP surface, so agents/CLI couldn't pull it (it is also absent fromgittensory_get_repo_context, which exposes a different subset).This adds
gittensory_get_maintainer_lane(maintainer-authenticated via the existingrequireRepoAccess, advisory only), mirroring the just-mergedgittensory_get_maintainer_noise(#1414) andgittensory_get_outcome_calibration(#1174): a thin load-or-compute service (src/services/maintainer-lane.ts) that loads the repo's cached signals + collision report and runs the existing builder, plus the MCP tool registration + output schema + method. Output flows through the existingredactSensitiveForMcpwrapper.No linked issue: small, self-evident additive MCP surface over a live builder — same shape and scope as the merged maintainer-noise / outcome-calibration tools. No new REST route, no migration, no auth-policy change.
Scope
type(scope): short summaryConventional Commit format.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coverage—codecov/patch: every changed line and branch insrc/services/maintainer-lane.tsand the newsrc/mcp/server.tslines is covered (verified via lcov, incl. both sides of the cut-configured ternary).npm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderate(0 vulnerabilities)test/unit/maintainer-lane.test.ts, incl. cut-not-configured finding + sanitizer boundary + both summary branches), the MCP call-test intest/unit/mcp-output-schemas.test.ts, and the tool-list assertion intest/integration/api.test.ts.Safety
redactSensitiveForMcp; a test asserts nowallet/hotkey/payout/reward/trust scoreterms leak.requireRepoAccessmaintainer guard (no new auth surface).Notes
Second tool in the maintainer-side MCP series after the merged
gittensory_get_maintainer_noise(#1414); identical blessed pattern (service + tool + output schema + tests). MCP-tool-only — does not touch the deliberately-consolidated/v1/contributors/:login/*surface.🤖 Generated with Claude Code