Skip to content

feat(mcp): CLI stdio mirror for loopover_get_repo_outcome_patterns - #6962

Merged
loopover-orb[bot] merged 1 commit into
JSONbored:mainfrom
RealDiligent:feat/repo-outcome-patterns-cli-6734
Jul 17, 2026
Merged

feat(mcp): CLI stdio mirror for loopover_get_repo_outcome_patterns#6962
loopover-orb[bot] merged 1 commit into
JSONbored:mainfrom
RealDiligent:feat/repo-outcome-patterns-cli-6734

Conversation

@RealDiligent

Copy link
Copy Markdown
Contributor

Summary

  • Register loopover_get_repo_outcome_patterns as a stdio CLI tool that proxies GET /v1/repos/:owner/:repo/outcome-patterns (same ownerRepoShape + apiGet pattern as loopover_get_maintainer_noise).
  • Bump the stdio tool-count pin from 74 → 75 and add fixture + unit coverage.

Closes #6734.

Test plan

  • CI validate-code / unit tests green
  • codecov/patch ≥ 99%
  • loopover-mcp tools --json includes the new tool and reports count 75
  • Stdio call hits /outcome-patterns and returns the fixture payload

@RealDiligent
RealDiligent requested a review from JSONbored as a code owner July 17, 2026 15:56
@superagent-security

Copy link
Copy Markdown
Contributor

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

Closes JSONbored#6734.

Co-authored-by: Cursor <cursoragent@cursor.com>
@loopover-orb loopover-orb Bot added the gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. label Jul 17, 2026
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.71%. Comparing base (a4310f1) to head (03b78dd).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #6962       +/-   ##
===========================================
+ Coverage   82.38%   93.71%   +11.32%     
===========================================
  Files         685      685               
  Lines       68379    68379               
  Branches    18730    18730               
===========================================
+ Hits        56337    64080     +7743     
+ Misses       9594     3302     -6292     
+ Partials     2448      997     -1451     
Flag Coverage Δ
shard-1 43.75% <ø> (?)
shard-2 36.80% <ø> (+0.01%) ⬆️
shard-3 32.93% <ø> (+0.17%) ⬆️
shard-4 33.85% <ø> (?)
shard-5 32.13% <ø> (-0.04%) ⬇️
shard-6 45.74% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 202 files with indirect coverage changes

@loopover-orb

loopover-orb Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Tip

✅ LoopOver review result - approve/merge recommended

Review updated: 2026-07-17 16:04:43 UTC

4 files · 1 AI reviewer · no blockers · readiness 80/100 · CI green · unknown

✅ Suggested Action - Approve/Merge

  • safe to merge

Review summary
This PR registers loopover_get_repo_outcome_patterns as a thin stdio GET proxy to /v1/repos/:owner/:repo/outcome-patterns, following the exact same ownerRepoShape + apiGet pattern used by loopover_get_maintainer_noise. The tool-count pin bump from 74 to 75 is consistent across the descriptor list and the alias-retirement test, and new fixture + unit coverage (registration, proxy call, CLI listing) directly exercises the added code. The change is narrow, closes #6734, and CI is green across all checks.

Nits — 5 non-blocking
  • The stdioToolDescription lookup for 'loopover_get_repo_outcome_patterns' isn't shown in this diff — confirm the description-generation function has a matching entry or falls back safely (packages/loopover-mcp/bin/loopover-mcp.js:1904).
  • test/unit/mcp-cli-repo-outcome-patterns.test.ts duplicates a large amount of harness boilerplate (connect/disconnect) already present in mcp-tool-rename-aliases.test.ts — consider factoring into the shared support module.
  • The fixture payload in mcp-cli-harness.ts includes a full nested 'patterns' object with evidenceCompleteness, but the test only loosely asserts substrings ('patterns', 'fresh') rather than validating the evidenceCompleteness field is actually surfaced end-to-end.
  • Verify stdioToolDescription('loopover_get_repo_outcome_patterns') resolves to a non-empty string used at packages/loopover-mcp/bin/loopover-mcp.js:1904, since the inline description constant defined a few lines above appears unused by the registerStdioTool call.
  • Consider asserting the exact JSON shape of the proxied response (e.g., evidenceCompleteness: 'partial') in mcp-cli-repo-outcome-patterns.test.ts rather than loose substring checks, to guard against silent payload drift.

Decision drivers

  • ✅ Code review — No blockers (1 reviewer)
  • ✅ Gate result — Passing (No configured blocker found.)
Context & advisory signals — never blocks the verdict
Signal Result Evidence
Linked issue ✅ Linked #6734
Related work ⚠️ 3 scoped overlaps Top overlaps are listed below; lower-confidence bulk is hidden.
Change scope ❌ 8/20 High review scope from cached public metadata (1 linked issue).
Validation posture ✅ 25/25 PR body includes validation/test evidence.
Contributor workload ✅ 10/10 Author activity: 389 registered-repo PR(s), 194 merged, 33 issue(s).
Contributor context ✅ Confirmed Gittensor contributor RealDiligent; Gittensor profile; 389 PR(s), 33 issue(s).
Improvement ✅ Minor risk: clean · value: minor · LLM: minor
Linked issue satisfaction

Addressed
The PR registers loopover_get_repo_outcome_patterns as a stdio tool using ownerRepoShape + apiGet against GET /v1/repos/:owner/:repo/outcome-patterns exactly as requested, bumps the tool-count pin from 74 to 75, and adds both a dedicated unit test and a fixture. The description doesn't explicitly claim --json support, but the tool follows the existing registerStdioTool pattern which already provid

Review context
  • Author: RealDiligent
  • Role context: outside_contributor
  • Public audience mode: oss maintainer
  • Lane context: Repository is configured for direct PR review.
  • Public profile languages: not available
  • Official Gittensor activity: 389 PR(s), 33 issue(s).
  • Related work: Titles/paths share 6 meaningful terms. (issue #6747)
  • Related work: Titles/paths share 5 meaningful terms. (PR #6963)
  • Related work: Titles/paths share 7 meaningful terms. (PR #6958)
  • Additional title-only matches omitted; title-only overlap does not block.
Contributor next steps
  • Start here: Review top overlaps.
  • Then work through the remaining 2 steps in the Signals table above.
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.
🧪 Chat with LoopOver

Ask 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.

  • @loopover ask &lt;question&gt; answers contribution-quality Q&A with source citations and freshness.
  • @loopover chat &lt;question&gt; answers in natural prose from cached decision-pack facts via local inference (maintainer/collaborator; read-only).
  • A plain-language @loopover mention with a real question is routed to the closest matching read-only command automatically — no exact syntax required.

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.

  • Re-run LoopOver review

@loopover-orb loopover-orb Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LoopOver approves — the gate is satisfied and CI is green.

@loopover-orb
loopover-orb Bot merged commit 244988b into JSONbored:main Jul 17, 2026
16 checks passed
@github-actions github-actions Bot mentioned this pull request Jul 17, 2026
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CLI mirror for loopover_get_repo_outcome_patterns

1 participant