⚠️ Definition of Done: this issue must be completed in full, in a single PR. Do not split this
work across multiple PRs, and do not defer any Deliverable below to a follow-up issue. A PR that
satisfies only some of the Deliverables, stubs a required test, or leaves a checkbox
partially-done does NOT resolve this issue and will be closed.
Context
src/signals/issue-slop.ts:26-37's ISSUE_SLOP_RUBRIC_MARKDOWN is dead -- zero consumers anywhere, not even a test. src/api/routes.ts:3856-3863's /v1/lint/issue-slop route, by design (#6990), strips slopRisk/rubric down to {band, findings} only. But packages/loopover-mcp/bin/loopover-mcp.ts:1277's registered tool description for loopover_check_issue_slop still says "Returns slopRisk (0-100), band, findings, and the rubric" -- never updated after #6990. The PR-slop sibling SLOP_RUBRIC_MARKDOWN IS actually delivered (via the separate in-process loopover_check_slop_risk self-check), which is why this specific mismatch is easy to miss.
Requirements
Update the loopover_check_issue_slop tool description in loopover-mcp.ts to match the actual {band, findings} response shape (drop the "slopRisk"/"the rubric" claims). Additionally, delete ISSUE_SLOP_RUBRIC_MARKDOWN from src/signals/issue-slop.ts since it has zero consumers, unless you wire it into an in-process self-check tool the way SLOP_RUBRIC_MARKDOWN already is (pick one; do not leave the dead constant in place with an unrelated fix).
Deliverables
All of the above Deliverables are required in the same PR unless the deliverable text itself states otherwise.
Test Coverage Requirements
packages/loopover-mcp/**/src/** -- 99%+ patch coverage, branch-counted, on whichever path is chosen for the dead constant.
Expected Outcome
The loopover_check_issue_slop MCP tool's description accurately reflects what the route actually returns, and no dead rubric constant sits unreferenced in the codebase.
Links & Resources
src/signals/issue-slop.ts:26-37
src/api/routes.ts:3856-3863
packages/loopover-mcp/bin/loopover-mcp.ts:1277
Context
src/signals/issue-slop.ts:26-37'sISSUE_SLOP_RUBRIC_MARKDOWNis dead -- zero consumers anywhere, not even a test.src/api/routes.ts:3856-3863's/v1/lint/issue-sloproute, by design (#6990), strips slopRisk/rubric down to{band, findings}only. Butpackages/loopover-mcp/bin/loopover-mcp.ts:1277's registered tool description forloopover_check_issue_slopstill says "Returns slopRisk (0-100), band, findings, and the rubric" -- never updated after #6990. The PR-slop siblingSLOP_RUBRIC_MARKDOWNIS actually delivered (via the separate in-processloopover_check_slop_riskself-check), which is why this specific mismatch is easy to miss.Requirements
Update the
loopover_check_issue_sloptool description inloopover-mcp.tsto match the actual{band, findings}response shape (drop the "slopRisk"/"the rubric" claims). Additionally, deleteISSUE_SLOP_RUBRIC_MARKDOWNfromsrc/signals/issue-slop.tssince it has zero consumers, unless you wire it into an in-process self-check tool the waySLOP_RUBRIC_MARKDOWNalready is (pick one; do not leave the dead constant in place with an unrelated fix).Deliverables
loopover_check_issue_slop's registered description inloopover-mcp.tsaccurately describes the{band, findings}response shapeISSUE_SLOP_RUBRIC_MARKDOWNis either deleted, or wired into a new in-process self-check tool mirroringSLOP_RUBRIC_MARKDOWN's patternAll of the above Deliverables are required in the same PR unless the deliverable text itself states otherwise.
Test Coverage Requirements
packages/loopover-mcp/**/src/**-- 99%+ patch coverage, branch-counted, on whichever path is chosen for the dead constant.Expected Outcome
The
loopover_check_issue_slopMCP tool's description accurately reflects what the route actually returns, and no dead rubric constant sits unreferenced in the codebase.Links & Resources
src/signals/issue-slop.ts:26-37src/api/routes.ts:3856-3863packages/loopover-mcp/bin/loopover-mcp.ts:1277