<!-- loopover:mcp-release-due --> ## Summary An MCP release appears due. - Proposed version: `3.15.0` - Latest MCP tag: `mcp-v3.14.0` - npm latest: `3.14.0` - MCP package version in repo: `3.14.1` - Unreleased MCP-related commits: `12` ## Unreleased MCP-Related Commits - `c896797` fix\(build\): migrate loopover\-miner/loopover\-mcp to out\-of\-place dist/ emit \(\#8590\) - `0e72d94` chore\(main\): release engine\-and\-dependents libraries \(\#8595\) - `f4f001d` api: remove the orphaned browser\-extension backend surface from src/ \(\#8604\) - `bca96ff` fix\(deps\): resolve postcss \+ tar audit findings via overrides \(\#8612\) - `259a766` feat\(mcp\): mirror DELETE selftune/overrides as loopover\_clear\_selftune\_override \(\#8679\) - `60f9f8f` fix\(mcp\): stop \-\-json=false and \-\-exit\-code=false enabling the flag they disable \(\#8725\) - `2fc27bc` fix\(mcp\): exit the CLI cleanly on a broken\-pipe stdout/stderr error \(\#8731\) - `7ee07cc` fix\(mcp\): await PostHog flush via unit\-tested stdio wrapper \(\#8738\) - `b147b0c` feat\(orb\): randomized close\-audit holdout — the selective\-labels fix for close precision \(\#8841\) - `9170672` fix\(services\): warn when contributor evidence\-graph outcomes are capped \(\#8950\) - `fcecf0c` fix\(mcp\): correct loopover\_check\_issue\_slop description and drop the dead issue\-slop rubric \(\#8959\) - `7fd84ff` feat\(orb\): salvageability axis — hold fixable, well\-authored PRs instead of one\-shot\-closing \(\#8986\) ## Changed Files - `.claude/skills/contributing-to-loopover/reference.md` - `.claude/skills/contributing-to-loopover/SKILL.md` - `.github/workflows/ci.yml` - `.gitignore` - `.loopover.yml.example` - `.release-please-manifest.json` - `apps/loopover-ui/public/openapi.json` - `apps/loopover-ui/src/components/site/check-run-readiness-model.ts` - `config/examples/loopover.full.yml` - `Dockerfile` - `docs/decision-audit-rubric.md` - `package-lock.json` - `package.json` - `packages/loopover-engine/CHANGELOG.md` - `packages/loopover-engine/package.json` - `packages/loopover-engine/src/focus-manifest.ts` - `packages/loopover-mcp/bin/loopover-mcp.ts` - `packages/loopover-mcp/CHANGELOG.md` - `packages/loopover-mcp/lib/cli-error.ts` - `packages/loopover-mcp/lib/telemetry.ts` - `packages/loopover-mcp/package.json` - `packages/loopover-mcp/scripts/check-syntax.mjs` - `packages/loopover-mcp/scripts/strip-bin-sourcemap.mjs` - `packages/loopover-mcp/tsconfig.json` - `packages/loopover-miner/bin/loopover-miner-mcp.ts` - `packages/loopover-miner/CHANGELOG.md` - `packages/loopover-miner/DEPLOYMENT.md` - `packages/loopover-miner/expected-engine.version` - `packages/loopover-miner/lib/status.ts` - `packages/loopover-miner/lib/version.ts` - `packages/loopover-miner/package.json` - `packages/loopover-miner/scripts/benchmark.mjs` - `packages/loopover-miner/scripts/check-syntax.mjs` - `packages/loopover-miner/scripts/cross-repo-evaluation.mjs` - `packages/loopover-miner/scripts/egress-firewall-entrypoint.sh` - `packages/loopover-miner/tsconfig.json` - `scripts/check-docs-drift.ts` - `scripts/check-miner-deployment-docs.ts` - `scripts/check-miner-package.ts` - `scripts/mcp-package-allowlist.ts` - `src/api/routes.ts` - `src/auth/rate-limit.ts` - `src/db/repositories.ts` - `src/mcp/server.ts` - `src/openapi/schemas.ts` - `src/openapi/spec.ts` - `src/queue/gate-checks.ts` - `src/queue/processors.ts` - `src/review/close-audit-holdout.ts` - `src/review/decision-record.ts` - `src/review/salvageability-wire.ts` - `src/review/salvageability.ts` - `src/rules/advisory.ts` - `src/services/contributor-evidence-graph.ts` - `src/settings/agent-actions.ts` - `src/signals/contributor-readiness-band.ts` - `src/signals/extension-contributor-context.ts` - `src/signals/focus-manifest.ts` - `src/signals/issue-slop.ts` - `src/signals/settings-preview.ts` - `src/types.ts` - `test/fixtures/miner-concurrent-stores/claim-and-hold-child.mjs` - `test/fixtures/miner-concurrent-stores/claim-child.mjs` - `test/fixtures/miner-concurrent-stores/dequeue-child.mjs` - `test/fixtures/miner-worktree-allocator/acquire-child.mjs` - `test/integration/api.test.ts` - `test/unit/agent-orchestrator.test.ts` - `test/unit/auth.test.ts` - `test/unit/backfill-decision-labels-core.test.ts` - `test/unit/check-mcp-package.test.ts` - `test/unit/check-miner-package.test.ts` - `test/unit/close-audit-holdout.test.ts` - `test/unit/contributor-evidence-graph.test.ts` - `test/unit/contributor-readiness-band.test.ts` - `test/unit/decision-record.test.ts` - `test/unit/extension-contributor-context.test.ts` - `test/unit/focus-manifest.test.ts` - `test/unit/forbidden-content.test.ts` - `test/unit/gate-check-policy.test.ts` - `test/unit/mcp-check-issue-slop-description.test.ts` - `test/unit/mcp-clear-selftune-override.test.ts` - `test/unit/mcp-cli-bool-flag-parsing.test.ts` - `test/unit/mcp-cli-boundary-tests-tool.test.ts` - `test/unit/mcp-cli-bounty-advisory.test.ts` - `test/unit/mcp-cli-broken-pipe.test.ts` - `test/unit/mcp-cli-burden-forecast.test.ts` - `test/unit/mcp-cli-completion-spec.test.ts` - `test/unit/mcp-cli-draft-pr-body.test.ts` - `test/unit/mcp-cli-error.test.ts` - `test/unit/mcp-cli-evaluate-escalation-tool.test.ts` - `test/unit/mcp-cli-explain-gate-disposition.test.ts` - `test/unit/mcp-cli-find-opportunities.test.ts` - `test/unit/mcp-cli-help.test.ts` - `test/unit/mcp-cli-intake-idea-tool.test.ts` - `test/unit/mcp-cli-intake-tools.test.ts` - `test/unit/mcp-cli-issue-rag.test.ts` - `test/unit/mcp-cli-label-audit.test.ts` - `test/unit/mcp-cli-maintain-tools.test.ts` - `test/unit/mcp-cli-maintain.test.ts` - `test/unit/mcp-cli-maintainer-lane.test.ts` - `test/unit/mcp-cli-maintainer-noise.test.ts` - `test/unit/mcp-cli-monitor-open-prs.test.ts` - `test/unit/mcp-cli-open-pr-pressure-tool.test.ts` - `test/unit/mcp-cli-plan-idea-claims-tool.test.ts` - `test/unit/mcp-cli-plan-scorer-tools.test.ts` - `test/unit/mcp-cli-pr-ai-review-findings.test.ts` - `test/unit/mcp-cli-pr-outcomes.test.ts` - `test/unit/mcp-cli-pr-reviewability.test.ts` - `test/unit/mcp-cli-progress-snapshot-tool.test.ts` - `test/unit/mcp-cli-repo-outcome-patterns.test.ts` - `test/unit/mcp-cli-results-payload-tool.test.ts` - `test/unit/mcp-cli-review-risk.test.ts` - `test/unit/mcp-cli-test-evidence-tool.test.ts` - `test/unit/mcp-cli-tools.test.ts` - `test/unit/mcp-cli-upstream-drift.test.ts` - `test/unit/mcp-cli-validate-config-offline.test.ts` - `test/unit/mcp-cli-write-tools.test.ts` - `test/unit/mcp-discovery.test.ts` - `test/unit/mcp-feasibility-gate.test.ts` - `test/unit/mcp-lint-pr-text.test.ts` - `test/unit/mcp-local-check-slop-risk.test.ts` - `test/unit/mcp-local-telemetry-chokepoint.test.ts` - `test/unit/mcp-local-telemetry.test.ts` - `test/unit/mcp-release-candidate.test.ts` - `test/unit/miner-attempt-log.test.ts` - `test/unit/miner-claim-ledger.test.ts` - `test/unit/miner-deployment-docs-audit.test.ts` - `test/unit/miner-event-ledger.test.ts` - `test/unit/miner-mcp-tool-docs-parity.test.ts` - `test/unit/miner-package-skeleton.test.ts` - `test/unit/miner-store-maintenance.test.ts` - `test/unit/openapi.test.ts` - `test/unit/product-usage.test.ts` - `test/unit/queue-2.test.ts` - `test/unit/routes-extension.test.ts` - `test/unit/salvageability.test.ts` - `test/unit/support/mcp-cli-harness.ts` - `test/unit/support/miner-cli-harness.ts` - `test/unit/worker-entry-boundary.test.ts` - `turbo.json` - `vitest.config.ts` ## Release-Prep Checklist - [ ] Bump `packages/loopover-mcp/package.json` to `3.15.0` - [ ] Bump the CLI `packageVersion` constant to `3.15.0` - [ ] Update MCP compatibility metadata minimum supported and latest recommended versions to `3.15.0` - [ ] Generate `packages/loopover-mcp/CHANGELOG.md` with a `mcp-v3.15.0` section - [ ] Run `npm run build:mcp` - [ ] Run `npm run test:mcp-pack` - [ ] Run `npm run changelog:check:mcp` - [ ] Run `npm run actionlint` - [ ] Run `npm run test:release:mcp` - [ ] Merge the release-prep PR - [ ] Tag `mcp-v3.15.0` - [ ] Watch npm trusted publishing and the GitHub Release job
Summary
An MCP release appears due.
3.15.0mcp-v3.14.03.14.03.14.112Unreleased MCP-Related Commits
c896797fix(build): migrate loopover-miner/loopover-mcp to out-of-place dist/ emit (fix(build): migrate loopover-miner/loopover-mcp to out-of-place dist/ emit #8590)0e72d94chore(main): release engine-and-dependents libraries (chore(main): release engine-and-dependents libraries #8595)f4f001dapi: remove the orphaned browser-extension backend surface from src/ (api: remove the orphaned browser-extension backend surface from src/ #8604)bca96fffix(deps): resolve postcss + tar audit findings via overrides (fix(deps): resolve postcss + tar audit findings via overrides #8612)259a766feat(mcp): mirror DELETE selftune/overrides as loopover_clear_selftune_override (feat(mcp): mirror DELETE selftune/overrides as loopover_clear_selftune_override #8679)60f9f8ffix(mcp): stop --json=false and --exit-code=false enabling the flag they disable (fix(mcp): parse --json=false and --exit-code=false as real booleans #8725)2fc27bcfix(mcp): exit the CLI cleanly on a broken-pipe stdout/stderr error (fix(mcp): exit the CLI cleanly on a broken-pipe stdout/stderr error #8731)7ee07ccfix(mcp): await PostHog flush via unit-tested stdio wrapper (fix(mcp): await PostHog flush via unit-tested stdio wrapper #8738)b147b0cfeat(orb): randomized close-audit holdout — the selective-labels fix for close precision (feat(orb): randomized close-audit holdout — the selective-labels fix for close precision #8841)9170672fix(services): warn when contributor evidence-graph outcomes are capped (fix(services): warn when contributor evidence-graph outcomes are capped #8950)fcecf0cfix(mcp): correct loopover_check_issue_slop description and drop the dead issue-slop rubric (fix(mcp): correct loopover_check_issue_slop description and drop the dead issue-slop rubric #8959)7fd84fffeat(orb): salvageability axis — hold fixable, well-authored PRs instead of one-shot-closing (feat(orb): salvageability axis — hold fixable, well-authored PRs instead of one-shot-closing #8986)Changed Files
.claude/skills/contributing-to-loopover/reference.md.claude/skills/contributing-to-loopover/SKILL.md.github/workflows/ci.yml.gitignore.loopover.yml.example.release-please-manifest.jsonapps/loopover-ui/public/openapi.jsonapps/loopover-ui/src/components/site/check-run-readiness-model.tsconfig/examples/loopover.full.ymlDockerfiledocs/decision-audit-rubric.mdpackage-lock.jsonpackage.jsonpackages/loopover-engine/CHANGELOG.mdpackages/loopover-engine/package.jsonpackages/loopover-engine/src/focus-manifest.tspackages/loopover-mcp/bin/loopover-mcp.tspackages/loopover-mcp/CHANGELOG.mdpackages/loopover-mcp/lib/cli-error.tspackages/loopover-mcp/lib/telemetry.tspackages/loopover-mcp/package.jsonpackages/loopover-mcp/scripts/check-syntax.mjspackages/loopover-mcp/scripts/strip-bin-sourcemap.mjspackages/loopover-mcp/tsconfig.jsonpackages/loopover-miner/bin/loopover-miner-mcp.tspackages/loopover-miner/CHANGELOG.mdpackages/loopover-miner/DEPLOYMENT.mdpackages/loopover-miner/expected-engine.versionpackages/loopover-miner/lib/status.tspackages/loopover-miner/lib/version.tspackages/loopover-miner/package.jsonpackages/loopover-miner/scripts/benchmark.mjspackages/loopover-miner/scripts/check-syntax.mjspackages/loopover-miner/scripts/cross-repo-evaluation.mjspackages/loopover-miner/scripts/egress-firewall-entrypoint.shpackages/loopover-miner/tsconfig.jsonscripts/check-docs-drift.tsscripts/check-miner-deployment-docs.tsscripts/check-miner-package.tsscripts/mcp-package-allowlist.tssrc/api/routes.tssrc/auth/rate-limit.tssrc/db/repositories.tssrc/mcp/server.tssrc/openapi/schemas.tssrc/openapi/spec.tssrc/queue/gate-checks.tssrc/queue/processors.tssrc/review/close-audit-holdout.tssrc/review/decision-record.tssrc/review/salvageability-wire.tssrc/review/salvageability.tssrc/rules/advisory.tssrc/services/contributor-evidence-graph.tssrc/settings/agent-actions.tssrc/signals/contributor-readiness-band.tssrc/signals/extension-contributor-context.tssrc/signals/focus-manifest.tssrc/signals/issue-slop.tssrc/signals/settings-preview.tssrc/types.tstest/fixtures/miner-concurrent-stores/claim-and-hold-child.mjstest/fixtures/miner-concurrent-stores/claim-child.mjstest/fixtures/miner-concurrent-stores/dequeue-child.mjstest/fixtures/miner-worktree-allocator/acquire-child.mjstest/integration/api.test.tstest/unit/agent-orchestrator.test.tstest/unit/auth.test.tstest/unit/backfill-decision-labels-core.test.tstest/unit/check-mcp-package.test.tstest/unit/check-miner-package.test.tstest/unit/close-audit-holdout.test.tstest/unit/contributor-evidence-graph.test.tstest/unit/contributor-readiness-band.test.tstest/unit/decision-record.test.tstest/unit/extension-contributor-context.test.tstest/unit/focus-manifest.test.tstest/unit/forbidden-content.test.tstest/unit/gate-check-policy.test.tstest/unit/mcp-check-issue-slop-description.test.tstest/unit/mcp-clear-selftune-override.test.tstest/unit/mcp-cli-bool-flag-parsing.test.tstest/unit/mcp-cli-boundary-tests-tool.test.tstest/unit/mcp-cli-bounty-advisory.test.tstest/unit/mcp-cli-broken-pipe.test.tstest/unit/mcp-cli-burden-forecast.test.tstest/unit/mcp-cli-completion-spec.test.tstest/unit/mcp-cli-draft-pr-body.test.tstest/unit/mcp-cli-error.test.tstest/unit/mcp-cli-evaluate-escalation-tool.test.tstest/unit/mcp-cli-explain-gate-disposition.test.tstest/unit/mcp-cli-find-opportunities.test.tstest/unit/mcp-cli-help.test.tstest/unit/mcp-cli-intake-idea-tool.test.tstest/unit/mcp-cli-intake-tools.test.tstest/unit/mcp-cli-issue-rag.test.tstest/unit/mcp-cli-label-audit.test.tstest/unit/mcp-cli-maintain-tools.test.tstest/unit/mcp-cli-maintain.test.tstest/unit/mcp-cli-maintainer-lane.test.tstest/unit/mcp-cli-maintainer-noise.test.tstest/unit/mcp-cli-monitor-open-prs.test.tstest/unit/mcp-cli-open-pr-pressure-tool.test.tstest/unit/mcp-cli-plan-idea-claims-tool.test.tstest/unit/mcp-cli-plan-scorer-tools.test.tstest/unit/mcp-cli-pr-ai-review-findings.test.tstest/unit/mcp-cli-pr-outcomes.test.tstest/unit/mcp-cli-pr-reviewability.test.tstest/unit/mcp-cli-progress-snapshot-tool.test.tstest/unit/mcp-cli-repo-outcome-patterns.test.tstest/unit/mcp-cli-results-payload-tool.test.tstest/unit/mcp-cli-review-risk.test.tstest/unit/mcp-cli-test-evidence-tool.test.tstest/unit/mcp-cli-tools.test.tstest/unit/mcp-cli-upstream-drift.test.tstest/unit/mcp-cli-validate-config-offline.test.tstest/unit/mcp-cli-write-tools.test.tstest/unit/mcp-discovery.test.tstest/unit/mcp-feasibility-gate.test.tstest/unit/mcp-lint-pr-text.test.tstest/unit/mcp-local-check-slop-risk.test.tstest/unit/mcp-local-telemetry-chokepoint.test.tstest/unit/mcp-local-telemetry.test.tstest/unit/mcp-release-candidate.test.tstest/unit/miner-attempt-log.test.tstest/unit/miner-claim-ledger.test.tstest/unit/miner-deployment-docs-audit.test.tstest/unit/miner-event-ledger.test.tstest/unit/miner-mcp-tool-docs-parity.test.tstest/unit/miner-package-skeleton.test.tstest/unit/miner-store-maintenance.test.tstest/unit/openapi.test.tstest/unit/product-usage.test.tstest/unit/queue-2.test.tstest/unit/routes-extension.test.tstest/unit/salvageability.test.tstest/unit/support/mcp-cli-harness.tstest/unit/support/miner-cli-harness.tstest/unit/worker-entry-boundary.test.tsturbo.jsonvitest.config.tsRelease-Prep Checklist
packages/loopover-mcp/package.jsonto3.15.0packageVersionconstant to3.15.03.15.0packages/loopover-mcp/CHANGELOG.mdwith amcp-v3.15.0sectionnpm run build:mcpnpm run test:mcp-packnpm run changelog:check:mcpnpm run actionlintnpm run test:release:mcpmcp-v3.15.0