Skip to content

MCP pre-submit value-potential tool #4746

Description

@JSONbored

Context

Part of #4737 (parent epic — unlocks phase, supply side). Depends on the
deterministic aggregate sub-score sub-issue (sibling sub-issue in this epic) for the reusable scoring
logic; conceptually mirrors the existing gittensory_check_slop_risk MCP tool
(.claude/skills/contributing-to-gittensory/reference.md §5), but does not depend on it functionally.

Why this is worth building

gittensory_check_slop_risk is the existing demand-side-adjacent, pre-submit tool: it tells a
contributor "here's your risk profile before you open the PR." There is no supply-side pre-submit signal
for value — nothing today nudges a miner toward higher-value issues before they start work, which is
the direct MCP-surface mirror of this epic's core thesis (help maintainers see value AND help
contributors aim at it, per the product's stated two-sided anti-slop wedge).

The technical wrinkle (read before implementing)

gittensory_check_slop_risk works pre-submission because slop-risk is purely deterministic/local
(changed files, additions/deletions, description, tests — no live PR needed). This epic's deterministic
tier (complexity-delta, duplication-delta) is also locally computable pre-submission (a contributor's
local working tree has real before/after file content directly, no reconstructOldContent reverse-patch
trick even needed — that trick exists specifically because REES, running against a live GitHub PR, only
gets diff hunks). The LLM tier (sibling sub-issue) is not naturally available here — it's designed to
piggyback on the live AI-review call against an already-opened PR. Scope this tool to the deterministic
tier only; do not attempt to also run the LLM judgment pre-submission (that would require a new LLM call
this tool's MCP-metadata-only, no-source-upload privacy boundary makes awkward — flag as a genuine v2 if
still wanted, don't build it into this issue).

Deliverables

  • A new MCP tool (e.g. gittensory_check_improvement_potential), same metadata-only shape as its
    siblings: input roughly {changedFiles[{path,additions,deletions}], description, tests, testFiles}
    (matching gittensory_check_slop_risk's existing input contract where possible, for a consistent
    contributor experience) plus whatever the deterministic complexity/duplication analyzers need that a
    local working tree can supply directly (no reconstructOldContent needed locally — see above).
  • Output: the same banded/ordinal shape as the deterministic aggregate (sibling sub-issue), not a
    fabricated percentage, consistent with the epic's design constraint 1.
  • Docs: add to .claude/skills/contributing-to-gittensory/reference.md §5's numbered tool list, in the
    same style as the existing six tools.

Requirements

  • Metadata-only, no source upload — same privacy boundary every other MCP tool in this repo already
    respects; do not send full file contents to any gittensory-operated service if it can be avoided
    (deterministic complexity/duplication computation can run client-side in the MCP tool itself, mirroring
    how gittensory_check_slop_risk never uploads source).
  • Reuse the actual scoring logic from the deterministic aggregate sub-issue (src/signals/improvement.ts
    or wherever it lands) rather than re-deriving a second copy of the same math in the MCP package — this
    is exactly the kind of duplication this year's architecture-audit epic (Epic: review-stack architecture audit — eliminate duplication, hardcoding, config sprawl, and dead code #4622) spent itself eliminating;
    don't reintroduce the pattern in new code.
  • Gate this tool's availability the same way other write/analysis MCP tools are gated today (check the
    existing auth'd-extras pattern in reference.md §5 for precedent) — implementer's call whether this needs
    auth or can stay open like check_slop_risk, but document the choice.

Acceptance criteria

  • New MCP tool ships with the same input/output rigor and docs quality as
    gittensory_check_slop_risk.
  • Deterministic scoring logic is shared with (not duplicated from) the main-app aggregate sub-score.
  • No source upload; metadata-only, verified by reading what the tool actually transmits.
  • reference.md §5 updated with the new tool in-sequence.
  • LLM-tier judgment explicitly NOT attempted in this issue (see wrinkle above) — noted as an
    explicit non-goal in the shipped PR description, not silently absent.

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions