feat(mcp): route ideas through intake into a loop claim plan - #5795
Conversation
Implements JSONbored#4799: the deterministic hand-off from idea intake (JSONbored#4798) to the claim/code/submit loop. A submitted idea is turned into a scored task-graph and then dispositioned into what the loop can claim now versus defer versus skip, so intake output flows toward real execution without a manual step. - new buildClaimPlan(taskGraph, targetRepo) in packages/loopover-engine/src/idea-intake.ts (pure): routes each constituent issue by its already-computed feasibility verdict -- go -> claimable, raise -> deferred (held on a prerequisite or its own quality), avoid -> skipped -- preserving the graph's dependency-respecting order so a prerequisite is always claimed before its dependents, and carrying the target repo the loop will act on. No IO, no claiming: it decides what to claim, the loop does the claiming/running. The per-issue scoring is factored into a shared scoreIssue helper reused by scoreTaskGraph (no behavior change). - new loopover_plan_idea_claims MCP tool (src/mcp/server.ts): idea -> task-graph -> claim plan, reusing the intake input schema; a malformed/empty submission returns an actionable error list. - tests cover the claimable/deferred/skipped split, the dependency-hold ordering, the carried target repo, and the malformed-input path, end-to-end through the MCP tool. Closes JSONbored#4799
|
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 #5795 +/- ##
=======================================
Coverage 95.10% 95.10%
=======================================
Files 583 583
Lines 46399 46419 +20
Branches 14838 14841 +3
=======================================
+ Hits 44128 44148 +20
Misses 1515 1515
Partials 756 756
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-14 17:06:40 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 5 non-blocking
Linked issue satisfactionPartially addressed Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory 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://gittensory.aethereal.dev/docs/gittensory-commands 🟩 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.
|
Summary
Implements #4799 — the deterministic hand-off from idea intake (#4798) to the claim/code/submit loop. A submitted idea becomes a scored task-graph and is then dispositioned into what the loop can claim now vs defer vs skip, so intake output flows toward real execution without a manual step.
buildClaimPlan(taskGraph, targetRepo)inpackages/loopover-engine/src/idea-intake.ts(pure): routes each constituent issue by its already-computed feasibility verdict —go→ claimable,raise→ deferred (held on a prerequisite or its own quality),avoid→ skipped — preserving the graph's dependency-respecting order so a prerequisite is always claimed before its dependents, and carrying the target repo the loop will act on. It decides what to claim; the loop does the claiming/running (no IO). Per-issue scoring is factored into a sharedscoreIssuehelper reused byscoreTaskGraph(no behavior change — the existing suite is unchanged and green).loopover_plan_idea_claimsMCP tool (src/mcp/server.ts): idea → task-graph → claim plan, reusing the intake input schema; a malformed/empty submission returns an actionable error list.Closes #4799
Scope
feat(mcp): …).CONTRIBUTING.md; nosite//CNAME/VitePress.Closes #4799.Validation
git diff --checknpm run typecheckcleannpm --workspace @loopover/engine run build+npm run build:mcp(compile clean)npm run test:coverageon the changed code:packages/loopover-engine/src/idea-intake.ts100% lines & branches (86/86); the newsrc/mcp/server.tshandler + schema + registration are fully covered (statements and both branch sides).mcp-output-schemas"outputSchema on EVERY tool" + "schema-valid structured content",mcp-cli-tools).If any required check was skipped, explain why:
test:cinot run end-to-end locally (Linux-only shell/self-host steps on this Windows box); the change-relevant gates above were validated directly.Safety
gittensor:priority.