Summary
A @loopover/miner release appears due.
Proposed version: 3.15.2
Latest tag: miner-v3.14.1
npm latest: 3.14.1
Package version in repo: 3.15.2
Unreleased miner-related commits: 50
Unreleased Commits
e58d910 build: delete both browser-extension packages and their shared build/CI/npm-script wiring (build: delete both browser-extension packages and their shared build/CI/npm-script wiring #8603 )
a9d9c0e feat(selfhost): PostHog AI observability across ORB and AMS (feat(selfhost): PostHog AI observability across ORB and AMS #8623 )
ee390f5 fix(miner): resolve status.ts's monorepo-sibling paths at the compiled dist/lib depth (fix(miner): resolve status.ts's monorepo-sibling paths at the compiled dist/lib depth #8636 )
1cc2146 fix(miner): delete the orphaned portfolio chat-action duplicate (fix(miner): delete the orphaned portfolio chat-action duplicate #8662 )
713145f fix(miner): include laptop-state in doctor integrity and migrate store lists (fix(miner): include laptop-state in doctor integrity and migrate store lists #8749 )
7b2104d fix(miner): drop stale ProcessEnv casts on resolveReplaySnapshotDbPath (fix(miner): drop stale ProcessEnv casts on resolveReplaySnapshotDbPath #8768 )
d5ec15a fix(miner): refuse a duplicate attempt when this miner already has an open PR for the exact issue (fix(miner): pre-attempt idempotency check against the miner's own open PR for the same issue — stop crash-retry double-opens #8808 ) (fix(miner): refuse a duplicate attempt when this miner already has an open PR for the exact issue #8815 )
33bacda feat(miner): wire deny-hook synthesis to a live consumer and give it an operator CLI (fix(miner): deny-hook synthesis has zero live consumers — approved guardrail rules never reach a coding agent #8806 ) (feat(miner): wire deny-hook synthesis to a live consumer and give it an operator CLI #8817 )
e10abf2 feat(miner): run the target repo's own test/lint/build commands before opening a PR (feat(miner): run the target repo's own test/lint/build commands before opening a PR #8819 )
eab6ecf fix(miner): reclaim orphaned worktree allocations on every acquire() (fix(miner): reclaim orphaned worktree allocations on every acquire() #8918 )
898cdcb ams: reconcile README/DEPLOYMENT local-storage inventory -- two real SQLite stores are undocumented (ams: reconcile README/DEPLOYMENT local-storage inventory -- two real SQLite stores are undocumented #8923 )
1eeaae1 fix(miner): printHelp() omits the working `deny-hooks` subcommand (fix(miner): printHelp() omits the working deny-hooks subcommand #8933 )
4dfe15d fix(miner): fall back to global config.apiUrl in loopoverApiUrl (fix(miner): fall back to global config.apiUrl in loopoverApiUrl #8937 )
32ee72e fix(miner): reject a portfolio-queue identifier containing the '::' composite-id separator (fix(miner): reject a portfolio-queue identifier containing the '::' composite-id separator (#8857) #8925 )
6aaea39 fix(engine): treat an Infinity WIP cap as uncapped, not collapsed to 0 (fix(engine): treat an Infinity WIP cap as uncapped, not collapsed to 0 (#8861) #8945 )
266b07d fix(miner): fail acquire() on an attempt_id/repo mismatch (fix(miner): fail acquire() on an attempt_id/repo mismatch #8964 )
987f7ce fix(miner): self-review-context never supplies recent-merged-PR history, contradicting its own "same fidelity" claim (fix(miner): self-review-context never supplies recent-merged-PR history, contradicting its own "same fidelity" claim #8969 )
3369ebc fix(miner): AmsPolicySpec parse warnings are computed but never surfaced to the operator (fix(miner): AmsPolicySpec parse warnings are computed but never surfaced to the operator #8978 )
62e6d25 fix(miner): governor reputation-history read-modify-write is unguarded, unlike sibling scalar-state writes (fix(miner): governor reputation-history read-modify-write is unguarded, unlike sibling scalar-state writes #8988 )
49a27c2 fix(miner): governor-chokepoint-persisted's load-evaluate-save cycle isn't atomic (fix(miner): governor-chokepoint-persisted's load-evaluate-save cycle isn't atomic #8993 )
7fd84ff feat(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 )
8444812 fix(miner): compare-and-set the orphan reclaim so a stale probe cannot free a live re-acquired slot (fix(miner): compare-and-set the orphan reclaim so a stale probe cannot free a live re-acquired slot #8992 )
f2f32cc fix(miner): wire AMS policy resolver to the documented discovery order (fix(miner): wire AMS policy resolver to the documented discovery order #9106 )
6aacf08 fix(review): auto-clear stale manual-review lock-contention hold; sync engine gate-decision twin (fix(review): auto-clear stale manual-review lock-contention hold; sync engine gate-decision twin #9107 )
e1ae2f0 chore(main): release engine-and-dependents libraries (chore(main): release engine-and-dependents libraries #9171 )
b251912 fix(review): default cross-issue copycat/reward-farming dedupe on for reward-eligible repos (fix(review): default cross-issue copycat/reward-farming dedupe on for reward-eligible repos #9226 )
6554a59 chore(deps): update npm minor and patch dependencies (chore(deps): update npm minor and patch dependencies #9232 )
d2c8d27 fix(orb): webhook redelivery, reputation cadence, DB retention, and gate severity fidelity (fix(orb): webhook redelivery, reputation cadence, DB retention, and gate severity fidelity #9237 )
b554957 fix(miner): carry assignees through normalizeCandidate in opportunity-ranker (fix(miner): carry assignees through normalizeCandidate in opportunity-ranker #9343 )
ab6a44d fix(miner): log discovery-index query failures before failing open (fix(miner): log discovery-index query failures before failing open #9346 )
6c220b3 fix(miner): make governor-run-halt's ledger recording a genuine transition detector (fix(miner): make governor-run-halt's ledger recording a genuine transition detector #9367 )
a58ce3d fix(miner): surface verification payload in attempt-cli JSON for verification_failed (fix(miner): surface verification payload in attempt-cli JSON for verification_failed #9372 )
42e1015 fix(miner): add blocked_own_open_pr to the AttemptCliResult union (fix(miner): add blocked_own_open_pr to the AttemptCliResult union (#9331) #9384 )
6bb8588 fix(miner): replace never-registered `run` with `loop` in fleet-mode manifests (fix(miner): replace never-registered run with loop in fleet-mode manifests #9524 )
5312750 build(typescript): eliminate hand-written JavaScript and lock it out with a CI gate (build(typescript): eliminate hand-written JavaScript and lock it out with a CI gate #9534 )
9713f26 feat(ams): migrate the AMS miner MCP server to @loopover/contract (feat(ams): migrate the AMS miner MCP server to @loopover/contract #9542 )
d5a5a8f feat(mcp): migrate the stdio MCP server's 102 tools to @loopover/contract (contract(stdio): migrate the stdio MCP server's 102 tools to @loopover/contract — typed handlers, no hand-mirrored shapes #9537 ) (feat(mcp): migrate the stdio MCP server's 102 tools to @loopover/contract (#9537) #9565 )
06a090f feat(mcp): one registry-driven telemetry contract at all three dispatch chokepoints (mcp(observability): PostHog error tracking, tracing, and usage telemetry at every dispatch chokepoint — redacted, gated, registry-driven #9525 ) (feat(mcp): one registry-driven telemetry contract at all three dispatch chokepoints (#9525) #9579 )
1943d88 build(typescript): enable noUnusedLocals/noUnusedParameters repo-wide (build(typescript): enable noUnusedLocals/noUnusedParameters repo-wide in the root tsconfig #9553 , observability: sweepRepoBacklogConvergence drops requestedBy, so its audit events can't be attributed to schedule vs API #9570 , test: the #9302 REST/MCP parity guard is anchored on two objects the MCP tools no longer register #9571 , review: normalizeResolveFindingRef is implemented twice, leaving src/github/resolve-command.ts dead #9572 ) (build(typescript): enable noUnusedLocals/noUnusedParameters repo-wide (#9553, #9570, #9571, #9572) #9573 )
bd139a5 feat(mcp): generate every tool, CLI, client, and docs surface from the contract (contract: generate every derived surface — typed stdio client, CLI from one spec table, tool-reference docs, miner dedup, UI z.infer types #9521 ) (feat(mcp): generate every tool, CLI, client, and docs surface from the contract (#9521) #9590 )
80827df fix(engine): surface discovery-index contract-version skew and actually send the version on the query wire (fix(engine): surface discovery-index contract-version skew and actually send the version on the query wire #9631 )
edf0883 feat(miner): add a `claim reclaim` CLI to expire orphaned soft-claims (feat(miner): add a claim reclaim CLI to expire orphaned soft-claims #9717 )
f36dc51 ams(mcp): the AMS management tool family — governor-gated mutations, doctor, tenant health (ams(mcp): AMS management tool family — governor-gated mutations, doctor split, hosted tenant tools #9523 ) (ams(mcp): the AMS management tool family — governor-gated mutations, doctor, tenant health (#9523) #9607 )
983ea31 feat(mcp): discovery surfaces, registry publish, and the stdio gateway (mcp(discovery): server.json + .well-known surfaces, MCP registry publish, and the stdio gateway front door #9526 ) (feat(mcp): discovery surfaces, registry publish, and the stdio gateway (#9526) #9735 )
5220a35 feat(contract): give the request schemas, the control plane, and the self-host endpoints one contract (openapi(#9531 remainder): relocate the inline request schemas, spec the control plane, and spec the self-host infra endpoints #9750 ) (feat(contract): give the request schemas, the control plane, and the self-host endpoints one contract (#9750) #9757 )
122a283 fix(packaging): ship the LICENSE @loopover/miner declares, and assert it everywhere (fix(packaging): ship the LICENSE @loopover/miner declares, and assert it everywhere #9787 )
bcdd2f8 fix(eval): commit each published score to the corpus a reader can download (fix(eval): commit each published score to the corpus a reader can download #9811 )
4b1f5e2 mcp: advertise the registry's projection on all three servers (mcp: advertise the contract's defaulted annotations and title on all three servers #9655 ) (mcp: advertise the registry's projection on all three servers (#9655) #9812 )
f881645 mcp(telemetry): one envelope, one code, and no registration outside the chokepoint (mcp(telemetry): resolve the error envelope's own code instead of reporting `unknown_error #9659 ) (mcp(telemetry): one envelope, one code, and no registration outside the chokepoint (#9659) #9815 )
c3b9a9b mcp: enforce that a server may only NARROW the contract, and pin the last four restatements (mcp(stdio): enforce that a registerStdioTool input override can only narrow the contract's #9662 ) (mcp: enforce that a server may only NARROW the contract, and pin the last four restatements (#9662) #9833 )
Changed Files
.claude/skills/contributing-to-loopover/reference.md
.claude/skills/contributing-to-loopover/SKILL.md
.claude/skills/contributor-pipeline-gardening/reference.md
.github/actions/deploy-ui-preview/action.yml
.github/workflows/ci.yml
.github/workflows/publish-mcp-registry.yml
.github/workflows/release-selfhost.yml
.github/workflows/ui-deploy.yml
.github/workflows/ui-preview.yml
.gitignore
.loopover.yml.example
.release-please-manifest.json
apps/loopover-extension/.gitignore
apps/loopover-extension/auth.js
apps/loopover-extension/background.js
apps/loopover-extension/content.js
apps/loopover-extension/manifest.json
apps/loopover-extension/options.html
apps/loopover-extension/options.js
apps/loopover-extension/package.json
apps/loopover-extension/styles.css
apps/loopover-miner-extension/.gitignore
apps/loopover-miner-extension/background.js
apps/loopover-miner-extension/content.js
apps/loopover-miner-extension/icons/icon-128.png
apps/loopover-miner-extension/icons/icon-16.png
apps/loopover-miner-extension/icons/icon-32.png
apps/loopover-miner-extension/icons/icon-48.png
apps/loopover-miner-extension/manifest.json
apps/loopover-miner-extension/opportunity-badge.js
apps/loopover-miner-extension/options.html
apps/loopover-miner-extension/options.js
apps/loopover-miner-extension/package.json
apps/loopover-miner-extension/README.md
apps/loopover-miner-extension/styles.css
apps/loopover-miner-extension/test/background.test.ts
apps/loopover-miner-extension/test/content.test.ts
apps/loopover-miner-extension/test/helpers.ts
apps/loopover-miner-extension/test/opportunity-badge.test.ts
apps/loopover-miner-extension/test/options.test.ts
apps/loopover-miner-extension/test/toolbar-badge.test.ts
apps/loopover-miner-extension/toolbar-badge.d.ts
apps/loopover-miner-extension/toolbar-badge.js
apps/loopover-miner-extension/vitest.config.ts
apps/loopover-miner-ui/eslint.config.js
apps/loopover-miner-ui/eslint.config.ts
apps/loopover-miner-ui/package.json
apps/loopover-miner-ui/README.md
apps/loopover-miner-ui/src/lib/chat-portfolio-queue-actions.test.tsx
apps/loopover-miner-ui/src/lib/ranked-candidates.ts
apps/loopover-miner-ui/src/routes/ranked-candidates.tsx
apps/loopover-miner-ui/vite-ranked-candidates-api.ts
apps/loopover-ui/.prettierignore
apps/loopover-ui/content/docs/maintainer-install-trust.mdx
apps/loopover-ui/content/docs/mcp-clients.mdx
apps/loopover-ui/content/docs/self-hosting-operations.mdx
apps/loopover-ui/content/docs/verify-this-review.mdx
apps/loopover-ui/eslint.config.js
apps/loopover-ui/eslint.config.ts
apps/loopover-ui/package.json
apps/loopover-ui/public/openapi.json
apps/loopover-ui/src/components/site/fairness-report-page.test.tsx
apps/loopover-ui/src/components/site/proof-of-power-stats-model.ts
apps/loopover-ui/src/components/site/proof-of-power-stats.test.tsx
apps/loopover-ui/src/lib/ams-env-reference.ts
apps/loopover-ui/src/lib/mcp-tool-reference.ts
apps/loopover-ui/src/lib/rees-analyzers.ts
apps/loopover-ui/src/routeTree.gen.ts
config/examples/loopover.full.yml
CONTRIBUTING.md
control-plane/openapi.json
control-plane/package-lock.json
control-plane/package.json
control-plane/scripts/gen-cf-typegen.mjs
control-plane/scripts/gen-cf-typegen.ts
control-plane/src/generated/control-plane-contract.ts
control-plane/src/http-app.ts
control-plane/src/worker.ts
docs/decision-audit-rubric.md
k8s/miner-deployment.yaml
migrations/0191_retention_column_indexes.sql
migrations/0192_purge_stuck_queued_webhook_events.sql
package-lock.json
package.json
packages/discovery-index/package.json
packages/discovery-index/README.md
packages/discovery-index/scripts/gen-cf-typegen.mjs
packages/discovery-index/scripts/gen-cf-typegen.ts
packages/discovery-index/scripts/validate-posthog-release.mjs
packages/discovery-index/scripts/validate-posthog-release.ts
packages/discovery-index/scripts/validate-sourcemaps.mjs
packages/discovery-index/scripts/validate-sourcemaps.ts
packages/discovery-index/src/upload-sourcemaps.ts
packages/loopover-contract/package.json
packages/loopover-contract/src/api-requests.ts
packages/loopover-contract/src/api-schemas.ts
packages/loopover-contract/src/cli-config.ts
packages/loopover-contract/src/client-config.ts
packages/loopover-contract/src/control-plane.ts
packages/loopover-contract/src/discovery.ts
packages/loopover-contract/src/enums.ts
packages/loopover-contract/src/index.ts
packages/loopover-contract/src/limits.ts
packages/loopover-contract/src/orb-broker.ts
packages/loopover-contract/src/public-api.ts
packages/loopover-contract/src/shared.ts
packages/loopover-contract/src/telemetry.ts
packages/loopover-contract/src/tool-definition.ts
packages/loopover-contract/src/tools/agent.ts
packages/loopover-contract/src/tools/ams-tenant.ts
packages/loopover-contract/src/tools/branch.ts
packages/loopover-contract/src/tools/discovery-utility.ts
packages/loopover-contract/src/tools/index.ts
packages/loopover-contract/src/tools/local-branch.ts
packages/loopover-contract/src/tools/maintainer.ts
packages/loopover-contract/src/tools/miner-ops.ts
packages/loopover-contract/src/tools/miner.ts
packages/loopover-contract/src/tools/review.ts
packages/loopover-contract/tsconfig.json
packages/loopover-engine/CHANGELOG.md
packages/loopover-engine/docs/iterate-loop-load-test.md
packages/loopover-engine/package.json
packages/loopover-engine/scripts/load-test-iterate-loop.mjs
packages/loopover-engine/scripts/load-test-iterate-loop.ts
packages/loopover-engine/src/advisory/gate-advisory.ts
packages/loopover-engine/src/ams-policy-spec.ts
packages/loopover-engine/src/calibration/signal-tracking.ts
packages/loopover-engine/src/config-lint.ts
packages/loopover-engine/src/discovery-index-contract.ts
packages/loopover-engine/src/focus-manifest.ts
packages/loopover-engine/src/governor/chokepoint.ts
packages/loopover-engine/src/index.ts
packages/loopover-engine/src/miner-prediction-metrics.ts
packages/loopover-engine/src/plan-dag.ts
packages/loopover-engine/src/portfolio/queue.ts
packages/loopover-engine/src/scoring/preview.ts
packages/loopover-engine/src/signals/engine.ts
packages/loopover-engine/src/signals/predicted-gate-engine.ts
packages/loopover-engine/test/ams-policy-spec-discovery.test.ts
packages/loopover-engine/test/chokepoint.test.ts
packages/loopover-engine/test/discovery-index-contract-version.test.ts
packages/loopover-engine/test/miner-prediction-metrics.test.ts
packages/loopover-engine/test/plan-dag.test.ts
packages/loopover-mcp/bin/loopover-mcp.ts
packages/loopover-mcp/CHANGELOG.md
packages/loopover-mcp/lib/gateway.ts
packages/loopover-mcp/lib/telemetry.ts
packages/loopover-mcp/package.json
packages/loopover-mcp/README.md
packages/loopover-mcp/scripts/check-syntax.mjs
packages/loopover-mcp/scripts/check-syntax.ts
packages/loopover-mcp/scripts/strip-bin-sourcemap.mjs
packages/loopover-mcp/scripts/strip-bin-sourcemap.ts
packages/loopover-miner/benchmarks/cross-repo/manifest.json
packages/loopover-miner/bin/loopover-miner-mcp.ts
packages/loopover-miner/bin/loopover-miner.ts
packages/loopover-miner/CHANGELOG.md
packages/loopover-miner/DEPLOYMENT.md
packages/loopover-miner/docker-compose.miner.yml
packages/loopover-miner/docs/cross-repo-evaluation.md
packages/loopover-miner/docs/env-reference.md
packages/loopover-miner/expected-engine.version
packages/loopover-miner/lib/ams-policy.ts
packages/loopover-miner/lib/attempt-cli.ts
packages/loopover-miner/lib/attempt-runner.ts
packages/loopover-miner/lib/chat-action-dispatch.ts
packages/loopover-miner/lib/chat-action-registry.ts
packages/loopover-miner/lib/chat-discover-attempt-actions.ts
packages/loopover-miner/lib/chat-miner-ops-actions.ts
packages/loopover-miner/lib/chat-portfolio-actions.ts
packages/loopover-miner/lib/claim-ledger-cli.ts
packages/loopover-miner/lib/cli.ts
packages/loopover-miner/lib/coding-agent-construction.ts
packages/loopover-miner/lib/cross-repo-evaluation.ts
packages/loopover-miner/lib/deny-hooks-cli.ts
packages/loopover-miner/lib/deployment-docs-audit.ts
packages/loopover-miner/lib/discover-cli.ts
packages/loopover-miner/lib/discovery-index-client.ts
packages/loopover-miner/lib/egress-allowlist.ts
packages/loopover-miner/lib/github-token-resolution.ts
packages/loopover-miner/lib/governor-chokepoint-persisted.ts
packages/loopover-miner/lib/governor-chokepoint.ts
packages/loopover-miner/lib/governor-run-halt.ts
packages/loopover-miner/lib/governor-state.ts
packages/loopover-miner/lib/laptop-init.ts
packages/loopover-miner/lib/local-store.ts
packages/loopover-miner/lib/loop-cli.ts
packages/loopover-miner/lib/mcp-dispatch-telemetry.ts
packages/loopover-miner/lib/migrate-cli.ts
packages/loopover-miner/lib/miner-ops-actions.ts
packages/loopover-miner/lib/opportunity-ranker.ts
packages/loopover-miner/lib/portfolio-dashboard.ts
packages/loopover-miner/lib/portfolio-queue-cli.ts
packages/loopover-miner/lib/portfolio-queue-manager.ts
packages/loopover-miner/lib/portfolio-queue.ts
packages/loopover-miner/lib/posthog.ts
packages/loopover-miner/lib/purge-cli.ts
packages/loopover-miner/lib/ranked-candidates.ts
packages/loopover-miner/lib/rejection-signal.ts
packages/loopover-miner/lib/run-state.ts
packages/loopover-miner/lib/self-review-context.ts
packages/loopover-miner/lib/signal-tracking-store.ts
packages/loopover-miner/lib/status.ts
packages/loopover-miner/lib/target-repo-verification.ts
packages/loopover-miner/lib/tenant-cli.ts
packages/loopover-miner/lib/tenant-client.ts
packages/loopover-miner/lib/tenant-credential-resolution.ts
packages/loopover-miner/lib/worktree-allocator.ts
packages/loopover-miner/LICENSE
packages/loopover-miner/package.json
packages/loopover-miner/README.md
packages/loopover-miner/scripts/benchmark.mjs
packages/loopover-miner/scripts/benchmark.ts
packages/loopover-miner/scripts/check-syntax.mjs
packages/loopover-miner/scripts/check-syntax.ts
packages/loopover-miner/scripts/cross-repo-evaluation.mjs
packages/loopover-miner/scripts/cross-repo-evaluation.ts
packages/loopover-miner/scripts/generate-env-reference.mjs
packages/loopover-miner/scripts/generate-env-reference.ts
packages/loopover-ui-kit/package.json
review-enrichment/package-lock.json
review-enrichment/package.json
review-enrichment/scripts/generate-analyzer-metadata.mjs
review-enrichment/scripts/generate-analyzer-metadata.ts
review-enrichment/scripts/validate-posthog-release.mjs
review-enrichment/scripts/validate-posthog-release.ts
review-enrichment/scripts/validate-sourcemaps.mjs
review-enrichment/scripts/validate-sourcemaps.ts
review-enrichment/src/upload-sourcemaps.ts
review-enrichment/test/posthog-release-validation.test.ts
review-enrichment/test/posthog-upload.test.ts
scripts/actionlint.ts
scripts/build-extension.ts
scripts/build-miner-extension.ts
scripts/check-docs-drift.ts
scripts/check-engine-package.ts
scripts/check-import-specifiers.ts
scripts/check-mcp-package.ts
scripts/check-miner-deployment-docs.ts
scripts/check-miner-package.ts
scripts/check-server-manifest.ts
scripts/check-ui-derived-types.ts
scripts/check-ui-kit-package.ts
scripts/control-plane-coverage.mjs
scripts/control-plane-coverage.ts
scripts/engine-coverage.ts
scripts/extension-zip-core.ts
scripts/gen-contract-api-schemas.ts
scripts/gen-control-plane-contract.ts
scripts/gen-control-plane-openapi.ts
scripts/gen-mcp-client-config.ts
scripts/gen-mcp-tool-reference.ts
scripts/lib/actionlint-download-attempts.mjs
scripts/lib/actionlint-download-attempts.ts
scripts/lib/validate-mcp/invariants.ts
scripts/lib/validate-mcp/overrides.ts
scripts/lib/validate-mcp/synthesize-input.ts
scripts/mcp-package-allowlist.ts
scripts/mcp-release-core.ts
scripts/orb-release-core.ts
scripts/replay-decision.ts
scripts/smoke-production.ts
scripts/smoke-ui-browser.ts
scripts/validate-no-hand-written-js.ts
scripts/verify-attested-run-der.ts
server.json
src/api/routes.ts
src/auth/route-auth.ts
src/db/repositories.ts
src/db/retention.ts
src/db/schema.ts
src/github/app.ts
src/github/backfill.ts
src/github/client.ts
src/github/webhook.ts
src/mcp/discovery-routes.ts
src/mcp/dispatch-span-registry.ts
src/mcp/dispatch-telemetry-sink.ts
src/mcp/dispatch-telemetry.ts
src/mcp/server.ts
src/mcp/telemetry.ts
src/openapi/discovery-route-specs.ts
src/openapi/route-inventory.ts
src/openapi/schemas.ts
src/openapi/selfhost-infra-route-specs.ts
src/openapi/spec.ts
src/orb/broker-client.ts
src/orb/control-plane-client.ts
src/queue/copycat-detection.ts
src/queue/duplicate-detection.ts
src/queue/gate-checks.ts
src/queue/pr-command-prologue.ts
src/queue/processors.ts
src/review/decision-record.ts
src/review/eval-score-records.ts
src/review/parity-wire.ts
src/review/pr-reconciliation.ts
src/review/public-eval-corpus.ts
src/review/rag-index.ts
src/review/rag-wire.ts
src/review/review-memory-wire.ts
src/review/salvageability-wire.ts
src/review/salvageability.ts
src/review/signal-tracking-wire.ts
src/review/unified-comment-bridge.ts
src/rules/advisory.ts
src/selfhost/ai.ts
src/selfhost/pg-queue.ts
src/selfhost/posthog.ts
src/selfhost/sqlite-queue.ts
src/server.ts
src/services/agent-orchestrator.ts
src/services/decision-pack.ts
src/services/plan-dag.ts
src/settings/agent-actions.ts
src/settings/copycat-gate-mode.ts
src/settings/repository-settings.ts
src/signals/copycat-duplicate.ts
src/signals/focus-manifest.ts
src/types.ts
test/contract/validate-mcp.test.ts
test/fixtures/miner-concurrent-stores/chokepoint-child.mjs
test/fixtures/miner-concurrent-stores/increment-reputation-child.mjs
test/fixtures/miner-worktree-allocator/acquire-child.mjs
test/integration/api.test.ts
test/integration/mcp-discovery-routes.test.ts
test/integration/public-eval-scores-route.test.ts
test/unit/actionlint-download-attempts.test.ts
test/unit/agent-actions.test.ts
test/unit/agent-orchestrator.test.ts
test/unit/ai-review.test.ts
test/unit/backfill-2.test.ts
test/unit/backfill-decision-labels-core.test.ts
test/unit/backfill.test.ts
test/unit/build-extension-zip-script.test.ts
test/unit/check-docs-drift-script.test.ts
test/unit/check-engine-package.test.ts
test/unit/check-mcp-package.test.ts
test/unit/check-miner-deployment-docs.test.ts
test/unit/check-miner-package.test.ts
test/unit/check-server-manifest-script.test.ts
test/unit/check-ui-derived-types-script.test.ts
test/unit/check-ui-kit-package.test.ts
test/unit/ci-extension-packages.test.ts
test/unit/ci-ui-build-openapi.test.ts
test/unit/codecov-policy.test.ts
test/unit/configured-gate-blocker-signals.test.ts
test/unit/content-lane-netuid-verification.test.ts
test/unit/content-lane-source-evidence.test.ts
test/unit/contract-api-requests.test.ts
test/unit/contract-cli-config.test.ts
test/unit/contract-client-config.test.ts
test/unit/contract-orb-broker.test.ts
test/unit/contract-registry.test.ts
test/unit/control-plane-contract.test.ts
test/unit/copycat-detection.test.ts
test/unit/copycat-duplicate.test.ts
test/unit/copycat-gate-mode.test.ts
test/unit/copycat-reward-farming-regression.test.ts
test/unit/decision-record.test.ts
test/unit/discovery-index-contract.test.ts
test/unit/discovery-index/upload-sourcemaps.test.ts
test/unit/discovery-index/validate-posthog-release.test.ts
test/unit/docs-examples-schema.test.ts
test/unit/duplicate-detection.test.ts
test/unit/eval-score-records.test.ts
test/unit/extension-auth.test.ts
test/unit/extension-background.test.ts
test/unit/extension-content.test.ts
test/unit/extension-options.test.ts
test/unit/federated-bundle.test.ts
test/unit/focus-manifest-loader.test.ts
test/unit/focus-manifest.test.ts
test/unit/forbidden-content.test.ts
test/unit/gate-check-policy.test.ts
test/unit/gen-mcp-client-config-script.test.ts
test/unit/governor-write-rate-limit.test.ts
test/unit/iterate-loop-load-test-script.test.ts
test/unit/knob-loosening-run.test.ts
test/unit/linked-issue-label-propagation-fetch.test.ts
test/unit/linked-issue-satisfaction-run.test.ts
test/unit/lint-composite-actions-script.test.ts
test/unit/maintainer-recap-wire.test.ts
test/unit/maintainer-recap.test.ts
test/unit/mcp-api-client.test.ts
test/unit/mcp-api-response-validation.test.ts
test/unit/mcp-check-issue-slop-description.test.ts
test/unit/mcp-cli-basics.test.ts
test/unit/mcp-cli-completion-spec.test.ts
test/unit/mcp-cli-dispatch-inprocess.test.ts
test/unit/mcp-cli-explain-gate-disposition.test.ts
test/unit/mcp-cli-improvement-potential-stdio.test.ts
test/unit/mcp-cli-response-validation.test.ts
test/unit/mcp-cli-tools.test.ts
test/unit/mcp-cli-validate-config.test.ts
test/unit/mcp-discovery-surfaces.test.ts
test/unit/mcp-dispatch-telemetry-sink.test.ts
test/unit/mcp-dispatch-telemetry.test.ts
test/unit/mcp-gateway-mount-inprocess.test.ts
test/unit/mcp-gateway.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-management-tools.test.ts
test/unit/mcp-pr-ai-review-findings.test.ts
test/unit/mcp-register-tool-shape-guard.test.ts
test/unit/mcp-tool-categories.test.ts
test/unit/mcp-validated-tools-inprocess.test.ts
test/unit/miner-ams-eligibility-backtest.test.ts
test/unit/miner-ams-policy.test.ts
test/unit/miner-attempt-cli.test.ts
test/unit/miner-attempt-input-builder.test.ts
test/unit/miner-attempt-runner.test.ts
test/unit/miner-benchmark-script.test.ts
test/unit/miner-chat-portfolio-actions.test.ts
test/unit/miner-ci-poller.test.ts
test/unit/miner-claim-ledger-cli.test.ts
test/unit/miner-cli.test.ts
test/unit/miner-coding-agent-construction.test.ts
test/unit/miner-concurrent-store-races.test.ts
test/unit/miner-cross-repo-evaluation.test.ts
test/unit/miner-deny-hooks-cli.test.ts
test/unit/miner-deployment-docs-audit.test.ts
test/unit/miner-discover-cli-eligibility-metadata.test.ts
test/unit/miner-discover-cli.test.ts
test/unit/miner-discovery-index-client.test.ts
test/unit/miner-docker-compose.test.ts
test/unit/miner-egress-allowlist.test.ts
test/unit/miner-env-reference-script.test.ts
test/unit/miner-extension-content.test.ts
test/unit/miner-extension-icons.test.ts
test/unit/miner-extension-live-fetch.test.ts
test/unit/miner-github-token-resolution.test.ts
test/unit/miner-governor-chokepoint-persisted.test.ts
test/unit/miner-governor-chokepoint.test.ts
test/unit/miner-governor-run-halt.test.ts
test/unit/miner-governor-state.test.ts
test/unit/miner-k8s-manifests.test.ts
test/unit/miner-local-store-readme.test.ts
test/unit/miner-loop-cli.test.ts
test/unit/miner-mcp-contract.test.ts
test/unit/miner-mcp-dispatch-telemetry.test.ts
test/unit/miner-mcp-governor-gating.test.ts
test/unit/miner-mcp-ops-tools.test.ts
test/unit/miner-mcp-scaffold.test.ts
test/unit/miner-mcp-telemetry-chokepoint.test.ts
test/unit/miner-mcp-tool-docs-parity.test.ts
test/unit/miner-metrics-cli.test.ts
test/unit/miner-migrate-cli.test.ts
test/unit/miner-opportunity-ranker.test.ts
test/unit/miner-ops-actions.test.ts
test/unit/miner-package-skeleton.test.ts
test/unit/miner-portfolio-queue-manager.test.ts
test/unit/miner-posthog.test.ts
test/unit/miner-rejection-signal.test.ts
test/unit/miner-self-review-context.test.ts
test/unit/miner-status.test.ts
test/unit/miner-target-repo-verification.test.ts
test/unit/miner-tenant.test.ts
test/unit/miner-toolbar-badge.test.ts
test/unit/miner-worktree-allocator-collisions.test.ts
test/unit/miner-worktree-allocator-lease-expiry.test.ts
test/unit/miner-worktree-allocator.test.ts
test/unit/openapi.test.ts
test/unit/opportunity-metadata-signals.test.ts
test/unit/ops-wire.test.ts
test/unit/orb-analytics.test.ts
test/unit/package-build-emits-outputs.test.ts
test/unit/parity-wire.test.ts
test/unit/patchless-secret-scan.test.ts
test/unit/portfolio-queue.test.ts
test/unit/pr-labeled-public-surface.test.ts
test/unit/predicted-gate-engine.test.ts
test/unit/public-eval-corpus.test.ts
test/unit/publish-mcp-registry-workflow.test.ts
test/unit/queue-2.test.ts
test/unit/queue-3.test.ts
test/unit/queue-4.test.ts
test/unit/queue-5.test.ts
test/unit/queue-lifecycle-guards.test.ts
test/unit/queue.test.ts
test/unit/reconcile-live-duplicate-siblings.test.ts
test/unit/repository-settings-copycat-gate-mode.test.ts
test/unit/retention.test.ts
test/unit/review-evasion-per-repo-admin.test.ts
test/unit/review-grounding.test.ts
test/unit/routes-issue-plan-draft.test.ts
test/unit/rules.test.ts
test/unit/salvageability.test.ts
test/unit/screenshot-evidence-summary-wiring.test.ts
test/unit/selfhost-ai.test.ts
test/unit/selfhost-infra-route-specs.test.ts
test/unit/selfhost-pg-queue.test.ts
test/unit/selfhost-pg-vectorize.test.ts
test/unit/selfhost-posthog-release.test.ts
test/unit/selfhost-posthog.test.ts
test/unit/selfhost-redis-response-cache.test.ts
test/unit/signal-tracking-wire.test.ts
test/unit/signals-edge-cases.test.ts
test/unit/signals.test.ts
test/unit/slop.test.ts
test/unit/support/mcp-cli-harness.ts
test/unit/support/miner-cli-harness.ts
test/unit/unified-comment-bridge.test.ts
test/unit/validate-mcp-helpers.test.ts
test/unit/validate-no-hand-written-js.test.ts
test/unit/webhook.test.ts
tsconfig.json
turbo.json
vitest.config.ts
Release-Prep Checklist
Summary
A @loopover/miner release appears due.
3.15.2miner-v3.14.13.14.13.15.250Unreleased Commits
e58d910build: delete both browser-extension packages and their shared build/CI/npm-script wiring (build: delete both browser-extension packages and their shared build/CI/npm-script wiring #8603)a9d9c0efeat(selfhost): PostHog AI observability across ORB and AMS (feat(selfhost): PostHog AI observability across ORB and AMS #8623)ee390f5fix(miner): resolve status.ts's monorepo-sibling paths at the compiled dist/lib depth (fix(miner): resolve status.ts's monorepo-sibling paths at the compiled dist/lib depth #8636)1cc2146fix(miner): delete the orphaned portfolio chat-action duplicate (fix(miner): delete the orphaned portfolio chat-action duplicate #8662)713145ffix(miner): include laptop-state in doctor integrity and migrate store lists (fix(miner): include laptop-state in doctor integrity and migrate store lists #8749)7b2104dfix(miner): drop stale ProcessEnv casts on resolveReplaySnapshotDbPath (fix(miner): drop stale ProcessEnv casts on resolveReplaySnapshotDbPath #8768)d5ec15afix(miner): refuse a duplicate attempt when this miner already has an open PR for the exact issue (fix(miner): pre-attempt idempotency check against the miner's own open PR for the same issue — stop crash-retry double-opens #8808) (fix(miner): refuse a duplicate attempt when this miner already has an open PR for the exact issue #8815)33bacdafeat(miner): wire deny-hook synthesis to a live consumer and give it an operator CLI (fix(miner): deny-hook synthesis has zero live consumers — approved guardrail rules never reach a coding agent #8806) (feat(miner): wire deny-hook synthesis to a live consumer and give it an operator CLI #8817)e10abf2feat(miner): run the target repo's own test/lint/build commands before opening a PR (feat(miner): run the target repo's own test/lint/build commands before opening a PR #8819)eab6ecffix(miner): reclaim orphaned worktree allocations on every acquire() (fix(miner): reclaim orphaned worktree allocations on every acquire() #8918)898cdcbams: reconcile README/DEPLOYMENT local-storage inventory -- two real SQLite stores are undocumented (ams: reconcile README/DEPLOYMENT local-storage inventory -- two real SQLite stores are undocumented #8923)1eeaae1fix(miner): printHelp() omits the working `deny-hooks` subcommand (fix(miner): printHelp() omits the workingdeny-hookssubcommand #8933)4dfe15dfix(miner): fall back to global config.apiUrl in loopoverApiUrl (fix(miner): fall back to global config.apiUrl in loopoverApiUrl #8937)32ee72efix(miner): reject a portfolio-queue identifier containing the '::' composite-id separator (fix(miner): reject a portfolio-queue identifier containing the '::' composite-id separator (#8857) #8925)6aaea39fix(engine): treat an Infinity WIP cap as uncapped, not collapsed to 0 (fix(engine): treat an Infinity WIP cap as uncapped, not collapsed to 0 (#8861) #8945)266b07dfix(miner): fail acquire() on an attempt_id/repo mismatch (fix(miner): fail acquire() on an attempt_id/repo mismatch #8964)987f7cefix(miner): self-review-context never supplies recent-merged-PR history, contradicting its own "same fidelity" claim (fix(miner): self-review-context never supplies recent-merged-PR history, contradicting its own "same fidelity" claim #8969)3369ebcfix(miner): AmsPolicySpec parse warnings are computed but never surfaced to the operator (fix(miner): AmsPolicySpec parse warnings are computed but never surfaced to the operator #8978)62e6d25fix(miner): governor reputation-history read-modify-write is unguarded, unlike sibling scalar-state writes (fix(miner): governor reputation-history read-modify-write is unguarded, unlike sibling scalar-state writes #8988)49a27c2fix(miner): governor-chokepoint-persisted's load-evaluate-save cycle isn't atomic (fix(miner): governor-chokepoint-persisted's load-evaluate-save cycle isn't atomic #8993)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)8444812fix(miner): compare-and-set the orphan reclaim so a stale probe cannot free a live re-acquired slot (fix(miner): compare-and-set the orphan reclaim so a stale probe cannot free a live re-acquired slot #8992)f2f32ccfix(miner): wire AMS policy resolver to the documented discovery order (fix(miner): wire AMS policy resolver to the documented discovery order #9106)6aacf08fix(review): auto-clear stale manual-review lock-contention hold; sync engine gate-decision twin (fix(review): auto-clear stale manual-review lock-contention hold; sync engine gate-decision twin #9107)e1ae2f0chore(main): release engine-and-dependents libraries (chore(main): release engine-and-dependents libraries #9171)b251912fix(review): default cross-issue copycat/reward-farming dedupe on for reward-eligible repos (fix(review): default cross-issue copycat/reward-farming dedupe on for reward-eligible repos #9226)6554a59chore(deps): update npm minor and patch dependencies (chore(deps): update npm minor and patch dependencies #9232)d2c8d27fix(orb): webhook redelivery, reputation cadence, DB retention, and gate severity fidelity (fix(orb): webhook redelivery, reputation cadence, DB retention, and gate severity fidelity #9237)b554957fix(miner): carry assignees through normalizeCandidate in opportunity-ranker (fix(miner): carry assignees through normalizeCandidate in opportunity-ranker #9343)ab6a44dfix(miner): log discovery-index query failures before failing open (fix(miner): log discovery-index query failures before failing open #9346)6c220b3fix(miner): make governor-run-halt's ledger recording a genuine transition detector (fix(miner): make governor-run-halt's ledger recording a genuine transition detector #9367)a58ce3dfix(miner): surface verification payload in attempt-cli JSON for verification_failed (fix(miner): surface verification payload in attempt-cli JSON for verification_failed #9372)42e1015fix(miner): add blocked_own_open_pr to the AttemptCliResult union (fix(miner): add blocked_own_open_pr to the AttemptCliResult union (#9331) #9384)6bb8588fix(miner): replace never-registered `run` with `loop` in fleet-mode manifests (fix(miner): replace never-registeredrunwithloopin fleet-mode manifests #9524)5312750build(typescript): eliminate hand-written JavaScript and lock it out with a CI gate (build(typescript): eliminate hand-written JavaScript and lock it out with a CI gate #9534)9713f26feat(ams): migrate the AMS miner MCP server to @loopover/contract (feat(ams): migrate the AMS miner MCP server to @loopover/contract #9542)d5a5a8ffeat(mcp): migrate the stdio MCP server's 102 tools to @loopover/contract (contract(stdio): migrate the stdio MCP server's 102 tools to @loopover/contract — typed handlers, no hand-mirrored shapes #9537) (feat(mcp): migrate the stdio MCP server's 102 tools to @loopover/contract (#9537) #9565)06a090ffeat(mcp): one registry-driven telemetry contract at all three dispatch chokepoints (mcp(observability): PostHog error tracking, tracing, and usage telemetry at every dispatch chokepoint — redacted, gated, registry-driven #9525) (feat(mcp): one registry-driven telemetry contract at all three dispatch chokepoints (#9525) #9579)1943d88build(typescript): enable noUnusedLocals/noUnusedParameters repo-wide (build(typescript): enable noUnusedLocals/noUnusedParameters repo-wide in the root tsconfig #9553, observability: sweepRepoBacklogConvergence drops requestedBy, so its audit events can't be attributed to schedule vs API #9570, test: the #9302 REST/MCP parity guard is anchored on two objects the MCP tools no longer register #9571, review: normalizeResolveFindingRef is implemented twice, leaving src/github/resolve-command.ts dead #9572) (build(typescript): enable noUnusedLocals/noUnusedParameters repo-wide (#9553, #9570, #9571, #9572) #9573)bd139a5feat(mcp): generate every tool, CLI, client, and docs surface from the contract (contract: generate every derived surface — typed stdio client, CLI from one spec table, tool-reference docs, miner dedup, UI z.infer types #9521) (feat(mcp): generate every tool, CLI, client, and docs surface from the contract (#9521) #9590)80827dffix(engine): surface discovery-index contract-version skew and actually send the version on the query wire (fix(engine): surface discovery-index contract-version skew and actually send the version on the query wire #9631)edf0883feat(miner): add a `claim reclaim` CLI to expire orphaned soft-claims (feat(miner): add aclaim reclaimCLI to expire orphaned soft-claims #9717)f36dc51ams(mcp): the AMS management tool family — governor-gated mutations, doctor, tenant health (ams(mcp): AMS management tool family — governor-gated mutations, doctor split, hosted tenant tools #9523) (ams(mcp): the AMS management tool family — governor-gated mutations, doctor, tenant health (#9523) #9607)983ea31feat(mcp): discovery surfaces, registry publish, and the stdio gateway (mcp(discovery): server.json + .well-known surfaces, MCP registry publish, and the stdio gateway front door #9526) (feat(mcp): discovery surfaces, registry publish, and the stdio gateway (#9526) #9735)5220a35feat(contract): give the request schemas, the control plane, and the self-host endpoints one contract (openapi(#9531 remainder): relocate the inline request schemas, spec the control plane, and spec the self-host infra endpoints #9750) (feat(contract): give the request schemas, the control plane, and the self-host endpoints one contract (#9750) #9757)122a283fix(packaging): ship the LICENSE @loopover/miner declares, and assert it everywhere (fix(packaging): ship the LICENSE @loopover/miner declares, and assert it everywhere #9787)bcdd2f8fix(eval): commit each published score to the corpus a reader can download (fix(eval): commit each published score to the corpus a reader can download #9811)4b1f5e2mcp: advertise the registry's projection on all three servers (mcp: advertise the contract's defaultedannotationsandtitleon all three servers #9655) (mcp: advertise the registry's projection on all three servers (#9655) #9812)f881645mcp(telemetry): one envelope, one code, and no registration outside the chokepoint (mcp(telemetry): resolve the error envelope's own code instead of reporting `unknown_error #9659) (mcp(telemetry): one envelope, one code, and no registration outside the chokepoint (#9659) #9815)c3b9a9bmcp: enforce that a server may only NARROW the contract, and pin the last four restatements (mcp(stdio): enforce that aregisterStdioToolinput override can only narrow the contract's #9662) (mcp: enforce that a server may only NARROW the contract, and pin the last four restatements (#9662) #9833)Changed Files
.claude/skills/contributing-to-loopover/reference.md.claude/skills/contributing-to-loopover/SKILL.md.claude/skills/contributor-pipeline-gardening/reference.md.github/actions/deploy-ui-preview/action.yml.github/workflows/ci.yml.github/workflows/publish-mcp-registry.yml.github/workflows/release-selfhost.yml.github/workflows/ui-deploy.yml.github/workflows/ui-preview.yml.gitignore.loopover.yml.example.release-please-manifest.jsonapps/loopover-extension/.gitignoreapps/loopover-extension/auth.jsapps/loopover-extension/background.jsapps/loopover-extension/content.jsapps/loopover-extension/manifest.jsonapps/loopover-extension/options.htmlapps/loopover-extension/options.jsapps/loopover-extension/package.jsonapps/loopover-extension/styles.cssapps/loopover-miner-extension/.gitignoreapps/loopover-miner-extension/background.jsapps/loopover-miner-extension/content.jsapps/loopover-miner-extension/icons/icon-128.pngapps/loopover-miner-extension/icons/icon-16.pngapps/loopover-miner-extension/icons/icon-32.pngapps/loopover-miner-extension/icons/icon-48.pngapps/loopover-miner-extension/manifest.jsonapps/loopover-miner-extension/opportunity-badge.jsapps/loopover-miner-extension/options.htmlapps/loopover-miner-extension/options.jsapps/loopover-miner-extension/package.jsonapps/loopover-miner-extension/README.mdapps/loopover-miner-extension/styles.cssapps/loopover-miner-extension/test/background.test.tsapps/loopover-miner-extension/test/content.test.tsapps/loopover-miner-extension/test/helpers.tsapps/loopover-miner-extension/test/opportunity-badge.test.tsapps/loopover-miner-extension/test/options.test.tsapps/loopover-miner-extension/test/toolbar-badge.test.tsapps/loopover-miner-extension/toolbar-badge.d.tsapps/loopover-miner-extension/toolbar-badge.jsapps/loopover-miner-extension/vitest.config.tsapps/loopover-miner-ui/eslint.config.jsapps/loopover-miner-ui/eslint.config.tsapps/loopover-miner-ui/package.jsonapps/loopover-miner-ui/README.mdapps/loopover-miner-ui/src/lib/chat-portfolio-queue-actions.test.tsxapps/loopover-miner-ui/src/lib/ranked-candidates.tsapps/loopover-miner-ui/src/routes/ranked-candidates.tsxapps/loopover-miner-ui/vite-ranked-candidates-api.tsapps/loopover-ui/.prettierignoreapps/loopover-ui/content/docs/maintainer-install-trust.mdxapps/loopover-ui/content/docs/mcp-clients.mdxapps/loopover-ui/content/docs/self-hosting-operations.mdxapps/loopover-ui/content/docs/verify-this-review.mdxapps/loopover-ui/eslint.config.jsapps/loopover-ui/eslint.config.tsapps/loopover-ui/package.jsonapps/loopover-ui/public/openapi.jsonapps/loopover-ui/src/components/site/fairness-report-page.test.tsxapps/loopover-ui/src/components/site/proof-of-power-stats-model.tsapps/loopover-ui/src/components/site/proof-of-power-stats.test.tsxapps/loopover-ui/src/lib/ams-env-reference.tsapps/loopover-ui/src/lib/mcp-tool-reference.tsapps/loopover-ui/src/lib/rees-analyzers.tsapps/loopover-ui/src/routeTree.gen.tsconfig/examples/loopover.full.ymlCONTRIBUTING.mdcontrol-plane/openapi.jsoncontrol-plane/package-lock.jsoncontrol-plane/package.jsoncontrol-plane/scripts/gen-cf-typegen.mjscontrol-plane/scripts/gen-cf-typegen.tscontrol-plane/src/generated/control-plane-contract.tscontrol-plane/src/http-app.tscontrol-plane/src/worker.tsdocs/decision-audit-rubric.mdk8s/miner-deployment.yamlmigrations/0191_retention_column_indexes.sqlmigrations/0192_purge_stuck_queued_webhook_events.sqlpackage-lock.jsonpackage.jsonpackages/discovery-index/package.jsonpackages/discovery-index/README.mdpackages/discovery-index/scripts/gen-cf-typegen.mjspackages/discovery-index/scripts/gen-cf-typegen.tspackages/discovery-index/scripts/validate-posthog-release.mjspackages/discovery-index/scripts/validate-posthog-release.tspackages/discovery-index/scripts/validate-sourcemaps.mjspackages/discovery-index/scripts/validate-sourcemaps.tspackages/discovery-index/src/upload-sourcemaps.tspackages/loopover-contract/package.jsonpackages/loopover-contract/src/api-requests.tspackages/loopover-contract/src/api-schemas.tspackages/loopover-contract/src/cli-config.tspackages/loopover-contract/src/client-config.tspackages/loopover-contract/src/control-plane.tspackages/loopover-contract/src/discovery.tspackages/loopover-contract/src/enums.tspackages/loopover-contract/src/index.tspackages/loopover-contract/src/limits.tspackages/loopover-contract/src/orb-broker.tspackages/loopover-contract/src/public-api.tspackages/loopover-contract/src/shared.tspackages/loopover-contract/src/telemetry.tspackages/loopover-contract/src/tool-definition.tspackages/loopover-contract/src/tools/agent.tspackages/loopover-contract/src/tools/ams-tenant.tspackages/loopover-contract/src/tools/branch.tspackages/loopover-contract/src/tools/discovery-utility.tspackages/loopover-contract/src/tools/index.tspackages/loopover-contract/src/tools/local-branch.tspackages/loopover-contract/src/tools/maintainer.tspackages/loopover-contract/src/tools/miner-ops.tspackages/loopover-contract/src/tools/miner.tspackages/loopover-contract/src/tools/review.tspackages/loopover-contract/tsconfig.jsonpackages/loopover-engine/CHANGELOG.mdpackages/loopover-engine/docs/iterate-loop-load-test.mdpackages/loopover-engine/package.jsonpackages/loopover-engine/scripts/load-test-iterate-loop.mjspackages/loopover-engine/scripts/load-test-iterate-loop.tspackages/loopover-engine/src/advisory/gate-advisory.tspackages/loopover-engine/src/ams-policy-spec.tspackages/loopover-engine/src/calibration/signal-tracking.tspackages/loopover-engine/src/config-lint.tspackages/loopover-engine/src/discovery-index-contract.tspackages/loopover-engine/src/focus-manifest.tspackages/loopover-engine/src/governor/chokepoint.tspackages/loopover-engine/src/index.tspackages/loopover-engine/src/miner-prediction-metrics.tspackages/loopover-engine/src/plan-dag.tspackages/loopover-engine/src/portfolio/queue.tspackages/loopover-engine/src/scoring/preview.tspackages/loopover-engine/src/signals/engine.tspackages/loopover-engine/src/signals/predicted-gate-engine.tspackages/loopover-engine/test/ams-policy-spec-discovery.test.tspackages/loopover-engine/test/chokepoint.test.tspackages/loopover-engine/test/discovery-index-contract-version.test.tspackages/loopover-engine/test/miner-prediction-metrics.test.tspackages/loopover-engine/test/plan-dag.test.tspackages/loopover-mcp/bin/loopover-mcp.tspackages/loopover-mcp/CHANGELOG.mdpackages/loopover-mcp/lib/gateway.tspackages/loopover-mcp/lib/telemetry.tspackages/loopover-mcp/package.jsonpackages/loopover-mcp/README.mdpackages/loopover-mcp/scripts/check-syntax.mjspackages/loopover-mcp/scripts/check-syntax.tspackages/loopover-mcp/scripts/strip-bin-sourcemap.mjspackages/loopover-mcp/scripts/strip-bin-sourcemap.tspackages/loopover-miner/benchmarks/cross-repo/manifest.jsonpackages/loopover-miner/bin/loopover-miner-mcp.tspackages/loopover-miner/bin/loopover-miner.tspackages/loopover-miner/CHANGELOG.mdpackages/loopover-miner/DEPLOYMENT.mdpackages/loopover-miner/docker-compose.miner.ymlpackages/loopover-miner/docs/cross-repo-evaluation.mdpackages/loopover-miner/docs/env-reference.mdpackages/loopover-miner/expected-engine.versionpackages/loopover-miner/lib/ams-policy.tspackages/loopover-miner/lib/attempt-cli.tspackages/loopover-miner/lib/attempt-runner.tspackages/loopover-miner/lib/chat-action-dispatch.tspackages/loopover-miner/lib/chat-action-registry.tspackages/loopover-miner/lib/chat-discover-attempt-actions.tspackages/loopover-miner/lib/chat-miner-ops-actions.tspackages/loopover-miner/lib/chat-portfolio-actions.tspackages/loopover-miner/lib/claim-ledger-cli.tspackages/loopover-miner/lib/cli.tspackages/loopover-miner/lib/coding-agent-construction.tspackages/loopover-miner/lib/cross-repo-evaluation.tspackages/loopover-miner/lib/deny-hooks-cli.tspackages/loopover-miner/lib/deployment-docs-audit.tspackages/loopover-miner/lib/discover-cli.tspackages/loopover-miner/lib/discovery-index-client.tspackages/loopover-miner/lib/egress-allowlist.tspackages/loopover-miner/lib/github-token-resolution.tspackages/loopover-miner/lib/governor-chokepoint-persisted.tspackages/loopover-miner/lib/governor-chokepoint.tspackages/loopover-miner/lib/governor-run-halt.tspackages/loopover-miner/lib/governor-state.tspackages/loopover-miner/lib/laptop-init.tspackages/loopover-miner/lib/local-store.tspackages/loopover-miner/lib/loop-cli.tspackages/loopover-miner/lib/mcp-dispatch-telemetry.tspackages/loopover-miner/lib/migrate-cli.tspackages/loopover-miner/lib/miner-ops-actions.tspackages/loopover-miner/lib/opportunity-ranker.tspackages/loopover-miner/lib/portfolio-dashboard.tspackages/loopover-miner/lib/portfolio-queue-cli.tspackages/loopover-miner/lib/portfolio-queue-manager.tspackages/loopover-miner/lib/portfolio-queue.tspackages/loopover-miner/lib/posthog.tspackages/loopover-miner/lib/purge-cli.tspackages/loopover-miner/lib/ranked-candidates.tspackages/loopover-miner/lib/rejection-signal.tspackages/loopover-miner/lib/run-state.tspackages/loopover-miner/lib/self-review-context.tspackages/loopover-miner/lib/signal-tracking-store.tspackages/loopover-miner/lib/status.tspackages/loopover-miner/lib/target-repo-verification.tspackages/loopover-miner/lib/tenant-cli.tspackages/loopover-miner/lib/tenant-client.tspackages/loopover-miner/lib/tenant-credential-resolution.tspackages/loopover-miner/lib/worktree-allocator.tspackages/loopover-miner/LICENSEpackages/loopover-miner/package.jsonpackages/loopover-miner/README.mdpackages/loopover-miner/scripts/benchmark.mjspackages/loopover-miner/scripts/benchmark.tspackages/loopover-miner/scripts/check-syntax.mjspackages/loopover-miner/scripts/check-syntax.tspackages/loopover-miner/scripts/cross-repo-evaluation.mjspackages/loopover-miner/scripts/cross-repo-evaluation.tspackages/loopover-miner/scripts/generate-env-reference.mjspackages/loopover-miner/scripts/generate-env-reference.tspackages/loopover-ui-kit/package.jsonreview-enrichment/package-lock.jsonreview-enrichment/package.jsonreview-enrichment/scripts/generate-analyzer-metadata.mjsreview-enrichment/scripts/generate-analyzer-metadata.tsreview-enrichment/scripts/validate-posthog-release.mjsreview-enrichment/scripts/validate-posthog-release.tsreview-enrichment/scripts/validate-sourcemaps.mjsreview-enrichment/scripts/validate-sourcemaps.tsreview-enrichment/src/upload-sourcemaps.tsreview-enrichment/test/posthog-release-validation.test.tsreview-enrichment/test/posthog-upload.test.tsscripts/actionlint.tsscripts/build-extension.tsscripts/build-miner-extension.tsscripts/check-docs-drift.tsscripts/check-engine-package.tsscripts/check-import-specifiers.tsscripts/check-mcp-package.tsscripts/check-miner-deployment-docs.tsscripts/check-miner-package.tsscripts/check-server-manifest.tsscripts/check-ui-derived-types.tsscripts/check-ui-kit-package.tsscripts/control-plane-coverage.mjsscripts/control-plane-coverage.tsscripts/engine-coverage.tsscripts/extension-zip-core.tsscripts/gen-contract-api-schemas.tsscripts/gen-control-plane-contract.tsscripts/gen-control-plane-openapi.tsscripts/gen-mcp-client-config.tsscripts/gen-mcp-tool-reference.tsscripts/lib/actionlint-download-attempts.mjsscripts/lib/actionlint-download-attempts.tsscripts/lib/validate-mcp/invariants.tsscripts/lib/validate-mcp/overrides.tsscripts/lib/validate-mcp/synthesize-input.tsscripts/mcp-package-allowlist.tsscripts/mcp-release-core.tsscripts/orb-release-core.tsscripts/replay-decision.tsscripts/smoke-production.tsscripts/smoke-ui-browser.tsscripts/validate-no-hand-written-js.tsscripts/verify-attested-run-der.tsserver.jsonsrc/api/routes.tssrc/auth/route-auth.tssrc/db/repositories.tssrc/db/retention.tssrc/db/schema.tssrc/github/app.tssrc/github/backfill.tssrc/github/client.tssrc/github/webhook.tssrc/mcp/discovery-routes.tssrc/mcp/dispatch-span-registry.tssrc/mcp/dispatch-telemetry-sink.tssrc/mcp/dispatch-telemetry.tssrc/mcp/server.tssrc/mcp/telemetry.tssrc/openapi/discovery-route-specs.tssrc/openapi/route-inventory.tssrc/openapi/schemas.tssrc/openapi/selfhost-infra-route-specs.tssrc/openapi/spec.tssrc/orb/broker-client.tssrc/orb/control-plane-client.tssrc/queue/copycat-detection.tssrc/queue/duplicate-detection.tssrc/queue/gate-checks.tssrc/queue/pr-command-prologue.tssrc/queue/processors.tssrc/review/decision-record.tssrc/review/eval-score-records.tssrc/review/parity-wire.tssrc/review/pr-reconciliation.tssrc/review/public-eval-corpus.tssrc/review/rag-index.tssrc/review/rag-wire.tssrc/review/review-memory-wire.tssrc/review/salvageability-wire.tssrc/review/salvageability.tssrc/review/signal-tracking-wire.tssrc/review/unified-comment-bridge.tssrc/rules/advisory.tssrc/selfhost/ai.tssrc/selfhost/pg-queue.tssrc/selfhost/posthog.tssrc/selfhost/sqlite-queue.tssrc/server.tssrc/services/agent-orchestrator.tssrc/services/decision-pack.tssrc/services/plan-dag.tssrc/settings/agent-actions.tssrc/settings/copycat-gate-mode.tssrc/settings/repository-settings.tssrc/signals/copycat-duplicate.tssrc/signals/focus-manifest.tssrc/types.tstest/contract/validate-mcp.test.tstest/fixtures/miner-concurrent-stores/chokepoint-child.mjstest/fixtures/miner-concurrent-stores/increment-reputation-child.mjstest/fixtures/miner-worktree-allocator/acquire-child.mjstest/integration/api.test.tstest/integration/mcp-discovery-routes.test.tstest/integration/public-eval-scores-route.test.tstest/unit/actionlint-download-attempts.test.tstest/unit/agent-actions.test.tstest/unit/agent-orchestrator.test.tstest/unit/ai-review.test.tstest/unit/backfill-2.test.tstest/unit/backfill-decision-labels-core.test.tstest/unit/backfill.test.tstest/unit/build-extension-zip-script.test.tstest/unit/check-docs-drift-script.test.tstest/unit/check-engine-package.test.tstest/unit/check-mcp-package.test.tstest/unit/check-miner-deployment-docs.test.tstest/unit/check-miner-package.test.tstest/unit/check-server-manifest-script.test.tstest/unit/check-ui-derived-types-script.test.tstest/unit/check-ui-kit-package.test.tstest/unit/ci-extension-packages.test.tstest/unit/ci-ui-build-openapi.test.tstest/unit/codecov-policy.test.tstest/unit/configured-gate-blocker-signals.test.tstest/unit/content-lane-netuid-verification.test.tstest/unit/content-lane-source-evidence.test.tstest/unit/contract-api-requests.test.tstest/unit/contract-cli-config.test.tstest/unit/contract-client-config.test.tstest/unit/contract-orb-broker.test.tstest/unit/contract-registry.test.tstest/unit/control-plane-contract.test.tstest/unit/copycat-detection.test.tstest/unit/copycat-duplicate.test.tstest/unit/copycat-gate-mode.test.tstest/unit/copycat-reward-farming-regression.test.tstest/unit/decision-record.test.tstest/unit/discovery-index-contract.test.tstest/unit/discovery-index/upload-sourcemaps.test.tstest/unit/discovery-index/validate-posthog-release.test.tstest/unit/docs-examples-schema.test.tstest/unit/duplicate-detection.test.tstest/unit/eval-score-records.test.tstest/unit/extension-auth.test.tstest/unit/extension-background.test.tstest/unit/extension-content.test.tstest/unit/extension-options.test.tstest/unit/federated-bundle.test.tstest/unit/focus-manifest-loader.test.tstest/unit/focus-manifest.test.tstest/unit/forbidden-content.test.tstest/unit/gate-check-policy.test.tstest/unit/gen-mcp-client-config-script.test.tstest/unit/governor-write-rate-limit.test.tstest/unit/iterate-loop-load-test-script.test.tstest/unit/knob-loosening-run.test.tstest/unit/linked-issue-label-propagation-fetch.test.tstest/unit/linked-issue-satisfaction-run.test.tstest/unit/lint-composite-actions-script.test.tstest/unit/maintainer-recap-wire.test.tstest/unit/maintainer-recap.test.tstest/unit/mcp-api-client.test.tstest/unit/mcp-api-response-validation.test.tstest/unit/mcp-check-issue-slop-description.test.tstest/unit/mcp-cli-basics.test.tstest/unit/mcp-cli-completion-spec.test.tstest/unit/mcp-cli-dispatch-inprocess.test.tstest/unit/mcp-cli-explain-gate-disposition.test.tstest/unit/mcp-cli-improvement-potential-stdio.test.tstest/unit/mcp-cli-response-validation.test.tstest/unit/mcp-cli-tools.test.tstest/unit/mcp-cli-validate-config.test.tstest/unit/mcp-discovery-surfaces.test.tstest/unit/mcp-dispatch-telemetry-sink.test.tstest/unit/mcp-dispatch-telemetry.test.tstest/unit/mcp-gateway-mount-inprocess.test.tstest/unit/mcp-gateway.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-management-tools.test.tstest/unit/mcp-pr-ai-review-findings.test.tstest/unit/mcp-register-tool-shape-guard.test.tstest/unit/mcp-tool-categories.test.tstest/unit/mcp-validated-tools-inprocess.test.tstest/unit/miner-ams-eligibility-backtest.test.tstest/unit/miner-ams-policy.test.tstest/unit/miner-attempt-cli.test.tstest/unit/miner-attempt-input-builder.test.tstest/unit/miner-attempt-runner.test.tstest/unit/miner-benchmark-script.test.tstest/unit/miner-chat-portfolio-actions.test.tstest/unit/miner-ci-poller.test.tstest/unit/miner-claim-ledger-cli.test.tstest/unit/miner-cli.test.tstest/unit/miner-coding-agent-construction.test.tstest/unit/miner-concurrent-store-races.test.tstest/unit/miner-cross-repo-evaluation.test.tstest/unit/miner-deny-hooks-cli.test.tstest/unit/miner-deployment-docs-audit.test.tstest/unit/miner-discover-cli-eligibility-metadata.test.tstest/unit/miner-discover-cli.test.tstest/unit/miner-discovery-index-client.test.tstest/unit/miner-docker-compose.test.tstest/unit/miner-egress-allowlist.test.tstest/unit/miner-env-reference-script.test.tstest/unit/miner-extension-content.test.tstest/unit/miner-extension-icons.test.tstest/unit/miner-extension-live-fetch.test.tstest/unit/miner-github-token-resolution.test.tstest/unit/miner-governor-chokepoint-persisted.test.tstest/unit/miner-governor-chokepoint.test.tstest/unit/miner-governor-run-halt.test.tstest/unit/miner-governor-state.test.tstest/unit/miner-k8s-manifests.test.tstest/unit/miner-local-store-readme.test.tstest/unit/miner-loop-cli.test.tstest/unit/miner-mcp-contract.test.tstest/unit/miner-mcp-dispatch-telemetry.test.tstest/unit/miner-mcp-governor-gating.test.tstest/unit/miner-mcp-ops-tools.test.tstest/unit/miner-mcp-scaffold.test.tstest/unit/miner-mcp-telemetry-chokepoint.test.tstest/unit/miner-mcp-tool-docs-parity.test.tstest/unit/miner-metrics-cli.test.tstest/unit/miner-migrate-cli.test.tstest/unit/miner-opportunity-ranker.test.tstest/unit/miner-ops-actions.test.tstest/unit/miner-package-skeleton.test.tstest/unit/miner-portfolio-queue-manager.test.tstest/unit/miner-posthog.test.tstest/unit/miner-rejection-signal.test.tstest/unit/miner-self-review-context.test.tstest/unit/miner-status.test.tstest/unit/miner-target-repo-verification.test.tstest/unit/miner-tenant.test.tstest/unit/miner-toolbar-badge.test.tstest/unit/miner-worktree-allocator-collisions.test.tstest/unit/miner-worktree-allocator-lease-expiry.test.tstest/unit/miner-worktree-allocator.test.tstest/unit/openapi.test.tstest/unit/opportunity-metadata-signals.test.tstest/unit/ops-wire.test.tstest/unit/orb-analytics.test.tstest/unit/package-build-emits-outputs.test.tstest/unit/parity-wire.test.tstest/unit/patchless-secret-scan.test.tstest/unit/portfolio-queue.test.tstest/unit/pr-labeled-public-surface.test.tstest/unit/predicted-gate-engine.test.tstest/unit/public-eval-corpus.test.tstest/unit/publish-mcp-registry-workflow.test.tstest/unit/queue-2.test.tstest/unit/queue-3.test.tstest/unit/queue-4.test.tstest/unit/queue-5.test.tstest/unit/queue-lifecycle-guards.test.tstest/unit/queue.test.tstest/unit/reconcile-live-duplicate-siblings.test.tstest/unit/repository-settings-copycat-gate-mode.test.tstest/unit/retention.test.tstest/unit/review-evasion-per-repo-admin.test.tstest/unit/review-grounding.test.tstest/unit/routes-issue-plan-draft.test.tstest/unit/rules.test.tstest/unit/salvageability.test.tstest/unit/screenshot-evidence-summary-wiring.test.tstest/unit/selfhost-ai.test.tstest/unit/selfhost-infra-route-specs.test.tstest/unit/selfhost-pg-queue.test.tstest/unit/selfhost-pg-vectorize.test.tstest/unit/selfhost-posthog-release.test.tstest/unit/selfhost-posthog.test.tstest/unit/selfhost-redis-response-cache.test.tstest/unit/signal-tracking-wire.test.tstest/unit/signals-edge-cases.test.tstest/unit/signals.test.tstest/unit/slop.test.tstest/unit/support/mcp-cli-harness.tstest/unit/support/miner-cli-harness.tstest/unit/unified-comment-bridge.test.tstest/unit/validate-mcp-helpers.test.tstest/unit/validate-no-hand-written-js.test.tstest/unit/webhook.test.tstsconfig.jsonturbo.jsonvitest.config.tsRelease-Prep Checklist
packages/loopover-miner/package.jsonto3.15.2npm run build --workspace @loopover/minernpm run test:miner-packnpm run actionlintminer-v3.15.2