feat(mcp): mirror selftune override audit to remote/stdio tools and cli (#7798) - #7892
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
❌ 2 Tests Failed:
View the top 2 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
|
Caution 🛑 LoopOver review result - fixes requiredReview updated: 2026-07-21 16:31:41 UTC
Review summary Nits — 5 non-blocking
CI checks failing
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 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 LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
LoopOver is closing this pull request on the maintainer's behalf (CI is failing (validate, validate-tests (2))). 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. |
Summary
GET /v1/repos/:owner/:repo/selftune/overrides/audit(listOverrideAudit) exposed the self-tune override audit trail over REST only — no remote MCP tool, no local stdio MCP tool, and no CLI verb, unlike its gate-precision sibling which has all three.loopover_get_selftune_override_audit, followingloopover_get_gate_precision's exact shape.listOverrideAudit, the REST route, and itsrequireRepoMaintainergate are unchanged.Closes #7798
Change
src/mcp/server.ts): registeredloopover_get_selftune_override_audit(owner/repo + optionallimit, output{ repoFullName, audit }), added it toMCP_TOOL_CATEGORIESas"maintainer", and added thegetSelftuneOverrideAuditmethod — same per-reporequireRepoAccessgate asgetGatePrecision, calling the existinglistOverrideAudit.packages/loopover-mcp/bin/loopover-mcp.ts): registered the same tool, callingGET ${repoBase}/selftune/overrides/auditviaapiGet, with a matchingSTDIO_TOOL_DESCRIPTORSentry.maintain selftune-audit --repo owner/repo [--limit N], mirroring theprecisionsubcommand'semit/--jsonstructure, plusprintMaintainHelp,CLI_COMMAND_SPEC(shell completions), the usage string, and the unknown-subcommand error.Tests
test/unit/mcp-selftune-override-audit.test.ts: remote tool — happy path (newest-first mapping),limitpassthrough, empty trail, and forbidden-identity denial.test/unit/mcp-cli-maintain.test.ts:maintain selftune-auditplain +--json, null-detail filtering, and--limitpassthrough.test/unit/mcp-cli-maintain-tools.test.ts: the stdio tool proxies to the audit endpoint, forwardslimit, and surfaces an API failure as a tool error.test/unit/support/mcp-cli-harness.ts: fixture handler for the audit endpoint.mcp-tool-rename-aliases), the PowerShell completer'smaintainlist (mcp-cli-basics), and the output-schema roster (mcp-output-schemas).Validation
git diff --checkclean.npm run typecheck, targetedvitestsuites, andcommand-reference:check/cf-typegen:checkpass.npm run test:coverage— every changed line and branch insrc/mcp/server.tsis 100% covered (the new method has no untested branches).packages/**/test/**are outside Codecov'ssrc/**scope.UI Evidence
N/A — backend MCP tool + CLI only; no
apps/loopover-ui/**or other visible surface changed.