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: 33
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 )
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/ui-deploy.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/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/content/docs/maintainer-install-trust.mdx
apps/loopover-ui/content/docs/self-hosting-operations.mdx
apps/loopover-ui/package.json
apps/loopover-ui/public/openapi.json
apps/loopover-ui/src/lib/ams-env-reference.ts
config/examples/loopover.full.yml
CONTRIBUTING.md
control-plane/package-lock.json
control-plane/package.json
docs/decision-audit-rubric.md
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/loopover-engine/CHANGELOG.md
packages/loopover-engine/package.json
packages/loopover-engine/src/advisory/gate-advisory.ts
packages/loopover-engine/src/ams-policy-spec.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/portfolio/queue.ts
packages/loopover-engine/test/ams-policy-spec-discovery.test.ts
packages/loopover-engine/test/chokepoint.test.ts
packages/loopover-mcp/CHANGELOG.md
packages/loopover-mcp/package.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/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-registry.ts
packages/loopover-miner/lib/chat-discover-attempt-actions.ts
packages/loopover-miner/lib/chat-portfolio-actions.ts
packages/loopover-miner/lib/cli.ts
packages/loopover-miner/lib/coding-agent-construction.ts
packages/loopover-miner/lib/deny-hooks-cli.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/migrate-cli.ts
packages/loopover-miner/lib/opportunity-ranker.ts
packages/loopover-miner/lib/portfolio-dashboard.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/ranked-candidates.ts
packages/loopover-miner/lib/rejection-signal.ts
packages/loopover-miner/lib/self-review-context.ts
packages/loopover-miner/lib/status.ts
packages/loopover-miner/lib/target-repo-verification.ts
packages/loopover-miner/lib/worktree-allocator.ts
packages/loopover-miner/package.json
packages/loopover-miner/README.md
packages/loopover-ui-kit/package.json
review-enrichment/package-lock.json
review-enrichment/package.json
scripts/build-extension.ts
scripts/build-miner-extension.ts
scripts/check-docs-drift.ts
scripts/extension-zip-core.ts
scripts/mcp-release-core.ts
scripts/orb-release-core.ts
scripts/smoke-production.ts
scripts/smoke-ui-browser.ts
src/db/repositories.ts
src/db/retention.ts
src/db/schema.ts
src/github/app.ts
src/github/webhook.ts
src/openapi/schemas.ts
src/queue/copycat-detection.ts
src/queue/duplicate-detection.ts
src/queue/gate-checks.ts
src/queue/processors.ts
src/review/decision-record.ts
src/review/parity-wire.ts
src/review/salvageability-wire.ts
src/review/salvageability.ts
src/review/unified-comment-bridge.ts
src/rules/advisory.ts
src/selfhost/ai.ts
src/selfhost/posthog.ts
src/server.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/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/unit/agent-actions.test.ts
test/unit/backfill-decision-labels-core.test.ts
test/unit/build-extension-zip-script.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/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/duplicate-detection.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/focus-manifest.test.ts
test/unit/gate-check-policy.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-chat-portfolio-actions.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-deny-hooks-cli.test.ts
test/unit/miner-discovery-index-client.test.ts
test/unit/miner-egress-allowlist.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-local-store-readme.test.ts
test/unit/miner-loop-cli.test.ts
test/unit/miner-migrate-cli.test.ts
test/unit/miner-opportunity-ranker.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-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/parity-wire.test.ts
test/unit/portfolio-queue.test.ts
test/unit/predicted-gate-engine.test.ts
test/unit/queue-2.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/rules.test.ts
test/unit/salvageability.test.ts
test/unit/selfhost-ai.test.ts
test/unit/selfhost-posthog.test.ts
test/unit/slop.test.ts
test/unit/unified-comment-bridge.test.ts
test/unit/webhook.test.ts
turbo.json
Release-Prep Checklist
Summary
A @loopover/miner release appears due.
3.15.2miner-v3.14.13.14.13.15.233Unreleased 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)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/ui-deploy.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/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/content/docs/maintainer-install-trust.mdxapps/loopover-ui/content/docs/self-hosting-operations.mdxapps/loopover-ui/package.jsonapps/loopover-ui/public/openapi.jsonapps/loopover-ui/src/lib/ams-env-reference.tsconfig/examples/loopover.full.ymlCONTRIBUTING.mdcontrol-plane/package-lock.jsoncontrol-plane/package.jsondocs/decision-audit-rubric.mdmigrations/0191_retention_column_indexes.sqlmigrations/0192_purge_stuck_queued_webhook_events.sqlpackage-lock.jsonpackage.jsonpackages/discovery-index/package.jsonpackages/loopover-engine/CHANGELOG.mdpackages/loopover-engine/package.jsonpackages/loopover-engine/src/advisory/gate-advisory.tspackages/loopover-engine/src/ams-policy-spec.tspackages/loopover-engine/src/focus-manifest.tspackages/loopover-engine/src/governor/chokepoint.tspackages/loopover-engine/src/index.tspackages/loopover-engine/src/portfolio/queue.tspackages/loopover-engine/test/ams-policy-spec-discovery.test.tspackages/loopover-engine/test/chokepoint.test.tspackages/loopover-mcp/CHANGELOG.mdpackages/loopover-mcp/package.jsonpackages/loopover-miner/bin/loopover-miner-mcp.tspackages/loopover-miner/bin/loopover-miner.tspackages/loopover-miner/CHANGELOG.mdpackages/loopover-miner/DEPLOYMENT.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-registry.tspackages/loopover-miner/lib/chat-discover-attempt-actions.tspackages/loopover-miner/lib/chat-portfolio-actions.tspackages/loopover-miner/lib/cli.tspackages/loopover-miner/lib/coding-agent-construction.tspackages/loopover-miner/lib/deny-hooks-cli.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/migrate-cli.tspackages/loopover-miner/lib/opportunity-ranker.tspackages/loopover-miner/lib/portfolio-dashboard.tspackages/loopover-miner/lib/portfolio-queue-manager.tspackages/loopover-miner/lib/portfolio-queue.tspackages/loopover-miner/lib/posthog.tspackages/loopover-miner/lib/ranked-candidates.tspackages/loopover-miner/lib/rejection-signal.tspackages/loopover-miner/lib/self-review-context.tspackages/loopover-miner/lib/status.tspackages/loopover-miner/lib/target-repo-verification.tspackages/loopover-miner/lib/worktree-allocator.tspackages/loopover-miner/package.jsonpackages/loopover-miner/README.mdpackages/loopover-ui-kit/package.jsonreview-enrichment/package-lock.jsonreview-enrichment/package.jsonscripts/build-extension.tsscripts/build-miner-extension.tsscripts/check-docs-drift.tsscripts/extension-zip-core.tsscripts/mcp-release-core.tsscripts/orb-release-core.tsscripts/smoke-production.tsscripts/smoke-ui-browser.tssrc/db/repositories.tssrc/db/retention.tssrc/db/schema.tssrc/github/app.tssrc/github/webhook.tssrc/openapi/schemas.tssrc/queue/copycat-detection.tssrc/queue/duplicate-detection.tssrc/queue/gate-checks.tssrc/queue/processors.tssrc/review/decision-record.tssrc/review/parity-wire.tssrc/review/salvageability-wire.tssrc/review/salvageability.tssrc/review/unified-comment-bridge.tssrc/rules/advisory.tssrc/selfhost/ai.tssrc/selfhost/posthog.tssrc/server.tssrc/settings/agent-actions.tssrc/settings/copycat-gate-mode.tssrc/settings/repository-settings.tssrc/signals/copycat-duplicate.tssrc/signals/focus-manifest.tssrc/types.tstest/fixtures/miner-concurrent-stores/chokepoint-child.mjstest/fixtures/miner-concurrent-stores/increment-reputation-child.mjstest/fixtures/miner-worktree-allocator/acquire-child.mjstest/unit/agent-actions.test.tstest/unit/backfill-decision-labels-core.test.tstest/unit/build-extension-zip-script.test.tstest/unit/ci-extension-packages.test.tstest/unit/ci-ui-build-openapi.test.tstest/unit/codecov-policy.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/duplicate-detection.test.tstest/unit/extension-auth.test.tstest/unit/extension-background.test.tstest/unit/extension-content.test.tstest/unit/extension-options.test.tstest/unit/focus-manifest.test.tstest/unit/gate-check-policy.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-chat-portfolio-actions.test.tstest/unit/miner-cli.test.tstest/unit/miner-coding-agent-construction.test.tstest/unit/miner-concurrent-store-races.test.tstest/unit/miner-deny-hooks-cli.test.tstest/unit/miner-discovery-index-client.test.tstest/unit/miner-egress-allowlist.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-local-store-readme.test.tstest/unit/miner-loop-cli.test.tstest/unit/miner-migrate-cli.test.tstest/unit/miner-opportunity-ranker.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-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/parity-wire.test.tstest/unit/portfolio-queue.test.tstest/unit/predicted-gate-engine.test.tstest/unit/queue-2.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/rules.test.tstest/unit/salvageability.test.tstest/unit/selfhost-ai.test.tstest/unit/selfhost-posthog.test.tstest/unit/slop.test.tstest/unit/unified-comment-bridge.test.tstest/unit/webhook.test.tsturbo.jsonRelease-Prep Checklist
packages/loopover-miner/package.jsonto3.15.2npm run build --workspace @loopover/minernpm run test:miner-packnpm run actionlintminer-v3.15.2