Skip to content

Releases: JSONbored/loopover

@loopover/mcp v3.2.1

Choose a tag to compare

@github-actions github-actions released this 17 Jul 23:30
Immutable release. Only release title and notes can be modified.
097ac2f

Published @loopover/mcp v3.2.1 to npm with provenance.

Install:

npm install -g @loopover/mcp@3.2.1

@loopover/mcp v3.1.1

Choose a tag to compare

@github-actions github-actions released this 17 Jul 20:48
Immutable release. Only release title and notes can be modified.
0a2484f

Published @loopover/mcp v3.1.1 to npm with provenance.

Install:

npm install -g @loopover/mcp@3.1.1

mcp: v3.1.0

Choose a tag to compare

@JSONbored JSONbored released this 17 Jul 20:05
Immutable release. Only release title and notes can be modified.
8ab3a4d

3.1.0 (2026-07-17)

Features

  • api: add a REST route + CLI mirror for loopover_check_test_evidence (#6810) (d45d8fd), closes #6749
  • api: add a REST route + CLI mirror for loopover_evaluate_escalation (#6805) (f8d1628), closes #6754
  • api: add a REST route + CLI mirror for loopover_get_pr_ai_review_findings (#6676) (885336a), closes #6619
  • api: add a REST route + CLI mirror for loopover_simulate_open_pr_pressure (#6915) (68b8694), closes #6751
  • api: add a REST route + CLI mirror for loopover_suggest_boundary_tests (80869bd)
  • api: add a REST route + CLI mirror for loopover_suggest_boundary_tests (4d5212e), closes #6750
  • api: add GET /v1/repos/:owner/:repo/automation-state + CLI mirror (#6742) (#6964) (c566906)
  • api: add POST /v1/repos/:owner/:repo/repo-docs/refresh + CLI mirror (#6973) (f1e9632)
  • api: mirror loopover_propose_action to REST and the CLI (#6744) (#7030) (a752b8f)
  • api: REST + CLI mirror for contributor notifications (#6745) (#7018) (447ee82)
  • api: REST + CLI mirror for loopover_build_results_payload (#6904) (7f7ea50), closes #6752
  • api: REST + CLI mirror for loopover_check_improvement_potential (#6955) (27c7c59)
  • api: REST + CLI mirror for loopover_explain_review_risk (#6980) (#7026) (15715dc)
  • api: REST + CLI mirror for loopover_intake_idea (#6916) (f1fb812), closes #6755
  • api: REST + CLI mirror for loopover_pr_outcome (#6747) (748acee)
  • api: REST + CLI mirror for loopover_pr_outcome (#6747) (efbe09c)
  • api: REST + stdio mirror for loopover_build_progress_snapshot (#6943) (d6cf892)
  • api: REST + stdio mirror for loopover_plan_idea_claims (#6952) (8fa47d1), closes #6756
  • mcp: add a contributor-profile CLI command (#6961) (484c9c8)
  • mcp: add a loopover_get_bounty_advisory CLI mirror (#6954) (7733371)
  • mcp: add a loopover_get_maintainer_lane CLI mirror (#6942) (71bc183)
  • mcp: add a maintain audit-feed CLI mirror for loopover_get_agent_audit_feed (#6733) (#6933) (5347291)
  • mcp: add a maintain outcome-calibration CLI mirror (#6960) (a4310f1)
  • mcp: add a typed PostHog wrapper module for packages/loopover-mcp (7152db6)
  • mcp: add maintain onboarding-pack CLI mirror (#6913) (96ee9c4)
  • mcp: CLI mirror for loopover_draft_pr_body (#6974) (13bd48b)
  • mcp: CLI mirror for loopover_explain_gate_disposition (#6966) (4966070)
  • mcp: CLI stdio mirror for loopover_get_repo_outcome_patterns (#6962) (244988b)
  • mcp: mirror contributor-issue-draft generation to an MCP tool + maintain CLI (#7019) (bd4c172), closes #6757
  • mcp: mirror loopover_monitor_open_prs to the stdio wrapper and CLI (#6789) (544cb31)
  • mcp: record local stdio tool calls at the dispatch chokepoint (#6432) (45fe399), closes #6238
  • mcp: register loopover_close_pr write-tool in both MCP surfaces (#6615) (#6715) (3f6591d)
  • mcp: register plan-DAG tools + local scorer in packages/loopover-mcp (1aa6603)
  • mcp: register plan-DAG tools + local scorer in packages/loopover-mcp (f096969), closes #6150
  • mcp: register the 8 miner write-tools on the local stdio server (#6390) (9197680), closes #6149
  • mcp: register the maintain REST surface as local stdio tools (#6382) (aa83a48), closes #6152
  • mcp: REST route + CLI mirror for loopover_get_eligibility_plan (#6692) (bb028ec), closes #6621
  • mcp: REST routes + CLI resource mirrors for finding-taxonomy and enrichment-analyzers (#6709) (b0677cd), closes #6620
  • mcp: validate .loopover.yml offline by extracting buildFocusManifestValidation into @loopover/engine (#6425) ([22faecf](http...
Read more

@loopover/engine v3.2.1

Choose a tag to compare

@github-actions github-actions released this 17 Jul 23:28
Immutable release. Only release title and notes can be modified.
097ac2f

Published @loopover/engine v3.2.1 to npm with provenance.

Install:

npm install @loopover/engine@3.2.1

engine: v3.2.0

Choose a tag to compare

@JSONbored JSONbored released this 17 Jul 19:25
Immutable release. Only release title and notes can be modified.
1695b57

3.2.0 (2026-07-17)

Features

  • api: add a REST route + CLI mirror for loopover_check_test_evidence (#6810) (d45d8fd), closes #6749
  • config: make sweepWatchdog staleness threshold configurable (#6594) (#6639) (0e313c8)
  • engine: add a stable, versioned getTrackRecordSummary read API (2958302)
  • engine: add selfLoopAutonomy to AmsPolicySpec (bd614bf)
  • engine: add selfLoopAutonomy to AmsPolicySpec (880b973), closes #6559
  • engine: define a shared TrustSignal type for ORB/AMS reputation bridging (7ee0670)
  • engine: define a shared TrustSignal type for ORB/AMS reputation bridging (145a279)
  • mcp: CLI mirror for loopover_draft_pr_body (#6974) (13bd48b)
  • mcp: CLI mirror for loopover_explain_gate_disposition (#6966) (4966070)
  • mcp: validate .loopover.yml offline by extracting buildFocusManifestValidation into @loopover/engine (#6425) (22faecf), closes #6269
  • miner: add read-only chat grounding over the existing miner MCP tools (#6570) (ed16fef), closes #6517
  • miner: consult selfLoopAutonomy in decideNextAction's pass-to-handoff step (#6581) (7a275c7), closes #6560
  • orb: add the opt-in federated collector transport client (push/pull) (#6537) (8ab3472), closes #6479
  • orb: export a signed, anonymized federated calibration bundle (opt-in) (#6505) (53ce7b2), closes #6478
  • orb: trust-gate inbound federated bundles per the #6477 key-trust design (#6649) (729254a)
  • review: bridge a submitter's AMS track record into ORB reputation, upgrade-only (#6566) (97a1938), closes #6485
  • review: give LOOPOVER_REVIEW_PLANNER a per-repo config override (b429292)
  • review: give LOOPOVER_REVIEW_PLANNER a per-repo config override (73eb87d)
  • selfhost: make LOOPOVER_REVIEW_DRAFT and LOOPOVER_AUTO_FILE_DRIFT_ISSUES .loopover.yml-controllable (85e8301)
  • selfhost: make LOOPOVER_REVIEW_DRAFT and LOOPOVER_AUTO_FILE_DRIFT_ISSUES .loopover.yml-controllable (0d3f4cb)
  • selfhost: make LOOPOVER_REVIEW_OPS and LOOPOVER_PUBLIC_STATS .loopover.yml-controllable (87c3e6b)
  • selfhost: make LOOPOVER_REVIEW_OPS and LOOPOVER_PUBLIC_STATS .loopover.yml-controllable (bc2f899)
  • selfhost: make LOOPOVER_SWEEP_WATCHDOG and LOOPOVER_PR_RECONCILIATION .loopover.yml-controllable (3ac9501)
  • selfhost: make LOOPOVER_SWEEP_WATCHDOG and LOOPOVER_PR_RECONCILIATION .loopover.yml-controllable (7ca394a), closes #6558

Fixes

  • config: scrub remaining pre-rename gittensory references (23152da)
  • config: scrub remaining pre-rename gittensory references (e4b0f8c)
  • correct four stale 'improvementSignal not wired yet' comments (#6691) (2d493cd)
  • discovery-index: cap the untrusted response candidate list (#6774) (ff46459)
  • discovery-index: cap the untrusted response candidate list (#6774) (ca5c81a)
  • engine: align predicted-gate collision risk with live-gate twin (#6671) (2df475c), closes #6629
  • engine: cap predicted-gate's local linked-issue extractor at the canonical 50 (#6771) (fcf41bc)
  • engine: cap predicted-gate's local linked-issue extractor at the canonical 50 (#6771) (0fe3e99)
  • engine: exclude inline code spans in predicted-gate extractLinkedIssueNumbers (e6ef456)
  • engine: exclude inline code spans in predicted-gate extractLinkedIssueNumbers (#6630) (6ac8c1f)
  • engine: exclude lockfiles and dependency manifests from trivial-churn detection (ed882b7)
  • engine: exclude lockfiles and dependency manifests from trivial-churn detection (a2d8306)
  • engine: exempt generated/vendored/minified files from missing-test-evidence signal (2c59771)
  • engine: exempt generated/vendored/minified files from the missing-test-evidence signal (203e7c7)
  • engine: filter maintainer-authored manifest fields out of public findings (99aeead)
  • engine: filter maintainer-authored manifest fields out of public findings (5f5a6fc), closes #6770
  • engine: floor percentComplete at 0 so it stays in its documented 0-100 range (#6773) (ab9cb63)
  • engine: floor percentComplete at 0 so it stays in its documented 0-100 range (#6773) (84543ed)
  • engine: honor no-issue rationale in predicted preflight (#6645) (8b20ad6), closes #6628
  • engine: stop the collision rep...
Read more

loopover-orb orb-v2.1.0-beta.8

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Jul 05:05
Immutable release. Only release title and notes can be modified.
9f77ee9

LoopOver Orb container image:

docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v2.1.0-beta.8

Multi-arch (linux/amd64 + linux/arm64). See https://loopover.ai/docs/maintainer-self-hosting for setup.
Includes the Claude Code / Codex subscription CLIs by default; credentials stay runtime-only.
Sentry release id baked into the image: gittensory-orb@2.1.0-beta.8.

What's Changed

🚀 Features

  • feat(api): add a REST route + CLI mirror for loopover_get_pr_ai_review_findings by @davion-knight in #6676
  • refactor(settings): drop 19 contributor-cap/review-nag/rate-limit config-as-code-only DB columns by @JSONbored in #6699
  • feat(mcp): REST route + CLI mirror for loopover_get_eligibility_plan by @dhgoal in #6692
  • feat(api): add REST mirrors for the finding-taxonomy and enrichment-analyzers MCP resources by @davion-knight in #6706
  • feat(mcp): REST routes + CLI resource mirrors for finding-taxonomy and enrichment-analyzers by @dhgoal in #6709
  • refactor(gate): delete the dead firstTimeContributorGrace surface end-to-end by @JSONbored in #6714

🐛 Fixes

Full Changelog: orb-v2.1.0-beta.7...orb-v2.1.0-beta.8

loopover-orb orb-v2.1.0-beta.7

Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Jul 18:55
Immutable release. Only release title and notes can be modified.
d912992

LoopOver Orb container image:

docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v2.1.0-beta.7

Multi-arch (linux/amd64 + linux/arm64). See https://loopover.ai/docs/maintainer-self-hosting for setup.
Includes the Claude Code / Codex subscription CLIs by default; credentials stay runtime-only.
Sentry release id baked into the image: gittensory-orb@2.1.0-beta.7.

What's Changed

🚀 Features

🐛 Fixes

  • feat(ci): auto-sync the MCP known-latest constant, never a manual bump by @JSONbored in #6638
  • fix(config): migrate badgeEnabled/publicQualityMetrics off the DB by @JSONbored in #6647
  • test(ui): guard the Cloudflare build's self-heal step against regression by @JSONbored in #6648
  • fix(github): reject a malformed three-segment repoFullName in comments.ts by @ultrahighsuper in #6640
  • docs(selfhost): document the GPU-reservation force-recreate gotcha for ollama by @JSONbored in #6652
  • test(settings): inject Batch C gate/AI-review fields via the manifest (queue core) by @JSONbored in #6653
  • test(settings): inject Batch C gate/AI-review fields via the manifest (small files) by @JSONbored in #6656
  • fix(auth): send the canonical PRODUCT_USER_AGENT from github-oauth.ts by @galuis116 in #6637
  • test(settings): inject Batch C gate/AI-review fields via the manifest (queue rest) by @JSONbored in #6654
  • fix(review): trim whitespace on three truthy env flag checks by @RealDiligent in #6641
  • refactor(signals): reuse slop.ts's canonical clamp in improvement.ts by @galuis116 in #6643
  • fix(engine): harden applyContributorCalibration against NaN inputs by @RealDiligent in #6651
  • fix(engine): honor no-issue rationale in predicted preflight by @jsdevninja in #6645
  • fix(mcp): honor free-text tests evidence in loopover_check_test_evidence by @ultrahighsuper in #6657
  • fix(agent-actions): cancel in-flight CI on a blacklist close too (#6659) by @JSONbored in #6669
  • fix(github): resolve GraphQL cache TTL per cache class by @claytonlin1110 in #6655
  • fix(engine): exclude inline code spans in predicted-gate extractLinkedIssueNumbers by @ultrahighsuper in #6658
  • fix(github): compare the bot login case-insensitively when dismissing its approval by @luciferlive112116 in #6662
  • fix(review): align lockfile-tamper finding text with lockfile-entry check by @RealDiligent in #6663
  • fix(github): reject per-segment whitespace in splitRepo by @RealDiligent in #6664
  • fix(miner): route the governor/prediction/plan local stores through openLocalStoreDb by @lourincedaging0-commits in #6667
  • fix(review): guard fix-handoff suggestion blocks against an embedded code fence by @ultrahighsuper in #6668
  • fix(engine): align predicted-gate collision risk with live gate by @RealDiligent in #6671
  • fix(ci): stop draft PRs from wasting CI/review-pipeline resources (#6670) by @JSONbored in #6679

Full Changelog: orb-v2.1.0-beta.6...orb-v2.1.0-beta.7

loopover-orb orb-v2.1.0-beta.6

Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Jul 16:57
Immutable release. Only release title and notes can be modified.
42805e0

LoopOver Orb container image:

docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v2.1.0-beta.6

Multi-arch (linux/amd64 + linux/arm64). See https://loopover.ai/docs/maintainer-self-hosting for setup.
Includes the Claude Code / Codex subscription CLIs by default; credentials stay runtime-only.
Sentry release id baked into the image: gittensory-orb@2.1.0-beta.6.

What's Changed

🚀 Features

🐛 Fixes

  • chore(ui): remove dead Breadcrumbs and ScrollFlow components by @luciferlive112116 in #6450
  • fix(miner-ui): render oldestQueuedAgeMs in the overview portfolio card (#6185) by @shin-core in #6451
  • fix(ui): content-shaped loading skeletons for dead-letter/maintainer/miner panels (#6178) by @nghetienhiep in #6452
  • fix(ui): adopt TableScroll + caption + scope=col a11y pattern across 8 tables by @nghetienhiep in #6453
  • fix(review): linked-issue claim priority theft, unscoped PR-mention pollution, hard-rule stickiness, and draft-cycling double-count by @JSONbored in #6455
  • fix(miner-ui): render the events-by-type breakdown ledgers already fetches by @luciferlive112116 in #6456
  • fix(review): thread commitMessages to the live slop gate, wire screenshot-gate advisory mode, and scope rate limits per-repo by @JSONbored in #6457
  • fix(review): freshness-gate shadow-override promotion, audit-before-write ordering, and clear_at preservation by @JSONbored in #6458
  • fix(review): defang prompt-injection payloads in RAG-retrieved reference context by @JSONbored in #6459
  • fix(review): redact cohort/miner-originated/human-originated/raw-trust and bare score in public sanitizers by @JSONbored in #6460
  • fix(review): include the PR body in the AI-review cache fingerprint by @JSONbored in #6463
  • fix(review): honor selftune opt-out and revoked autonomy in override read-back by @JSONbored in #6464
  • fix(review): pin expectedHeadSha on the contributor_cap close action by @JSONbored in #6466
  • fix(review): correlate screenshot-table presence-mode evidence to the PR head SHA by @JSONbored in #6467
  • fix(settings): give loopover its own autonomy config-as-code by @JSONbored in #6468
  • fix(engine): exempt generated/vendored/minified files from the missing-test-evidence signal by @JSONbored in #6469
  • fix(engine): stop the collision report using unscoped issue.linkedPrs for risk escalation by @JSONbored in #6470
  • fix(review): give score-breakdown.ts its own vocabulary instead of the public sanitizer by @JSONbored in #6473
  • fix(ui): forward errorKind so dashboards show connectivity-aware errors by @luciferlive112116 in #6476
  • fix(db): renumber colliding migration 0156 to 0157 by @JSONbored in #6484
  • fix(ui): render generatedAt on GateOutcomeCard and ActivationPreview by @galuis116 in #6492
  • fix(test): stop createTestEnv() default leaking the bundled self-repo manifest by @JSONbored in #6493
  • fix(ui): rename remaining user-visible gittensory branding to LoopOver by @JSONbored in #6499
  • fix(db): grandfather the 0156 migration-number collision by @JSONbored in #6494
  • fix(settings): restore draftPrClosePolicy after it was dropped by the autonomy config-as-code PR by @JSONbored in #6496
  • fix(ci): repair two functional breaks left by the gittensory->loopover rename by @JSONbored in #6497
  • fix(config): scrub remaining pre-rename gittensory references by @JSONbored in #6532
  • refactor(test): move queue-4.test.ts's Batch A fields to manifest injection by @JSONbored in #6528
  • docs(config): fix remaining gittensory residue in shipped config examples by @JSONbored in #6502
  • fix(ui): wire StateBoundary's errorLabel at the six real dashboard call sites by @galuis116 in #6523
  • chore: rename npm package metadata from gittensory to loopover by @JSONbored in #6500
  • fix(miner): wire DEPLOYMENT.md audit into real CI execution by @RealDiligent in #6524
  • feat(mcp): register plan-DAG tools + local scorer in packages/loopover-mcp by @galuis116 in #6526
  • fix(ci): capture review-enrichment node:test coverage for Codecov by @RealDiligent in #6527
  • refactor(test): move queue-2.test.ts's Batch A fields to manifest injection by @JSONbored in #6531
  • refactor(test): move queue.test.ts/queue-5.test.ts's Batch A fields to manifest injection by @JSONbored in #6533
  • refactor(test): move queue-3/queue-lifecycle-guards Batch A fields to manifest injection...
Read more

gittensory-orb orb-v2.1.0-beta.5

Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Jul 08:42
Immutable release. Only release title and notes can be modified.
fada218

LoopOver Orb container image:

docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v2.1.0-beta.5

Multi-arch (linux/amd64 + linux/arm64). See https://loopover.ai/docs/maintainer-self-hosting for setup.
Includes the Claude Code / Codex subscription CLIs by default; credentials stay runtime-only.
Sentry release id baked into the image: gittensory-orb@2.1.0-beta.5.

What's Changed

🚀 Features

  • feat(engine): add a stable, versioned getTrackRecordSummary read API by @lourincedaging0-commits in #6316
  • feat(mcp): add a typed PostHog wrapper module for packages/loopover-mcp by @claytonlin1110 in #6368
  • feat(mcp): register the maintain REST surface as local stdio tools by @luciferlive112116 in #6382
  • docs(ams): port docs/env-reference.md to a generated website docs page (docs.ams-env-reference.tsx) by @oktofeesh1 in #6385
  • feat(ui): adopt RefreshMeta on owner, miner, and digest panels by @jsdevninja in #6387
  • feat(mcp): register the 8 miner write-tools on the local stdio server by @davion-knight in #6390
  • feat(engine): define a shared TrustSignal type for ORB/AMS reputation bridging by @lourincedaging0-commits in #6379
  • docs(ams): port docs/discovery-plane-operator-guide.md to a website docs page (docs.ams-discovery-plane.tsx) by @oktofeesh1 in #6391
  • docs(ams): port docs/miner-goal-spec.md to a website docs page (docs.ams-goal-spec.tsx) by @oktofeesh1 in #6397
  • docs: cover MCP tool-call telemetry in the privacy boundary by @luciferlive112116 in #6422
  • docs(ams): port docs/fleet-run-manifest.md to a website docs page (docs.ams-fleet-manifest.tsx) by @oktofeesh1 in #6433
  • feat(mcp): validate .loopover.yml offline by extracting buildFocusManifestValidation into @loopover/engine by @davion-knight in #6425
  • feat(mcp): record local stdio tool calls at the dispatch chokepoint by @luciferlive112116 in #6432

🐛 Fixes

  • fix(mcp): honor --help for analyze-branch and preflight by @bohdansolovie in #6326
  • feat(review): downscale desktop Visual-preview thumbnails in self-host mode by @JSONbored in #6347
  • docs(selfhost): .env.example documents the current Orb collector/broker defaults by @dhgoal in #6352
  • fix(ci): check-orb-release-due picks the true latest orb tag, not a stale beta by @dhgoal in #6353
  • fix(mcp): treat a bare help positional as --help in parseOptions (#6257) by @nickmopen in #6362
  • fix(selfhost): fail open with a metric on a token-cache Redis error by @galuis116 in #6364
  • docs(selfhost): describe what the starters actually ship for critical secrets by @luciferlive112116 in #6365
  • docs(selfhost): document CONFIG_DIR_EMPTY_ACKNOWLEDGED in .env.example by @galuis116 in #6367
  • fix(ui): mount ConfigGeneratorYamlPreview in the config generator panel by @jsdevninja in #6371
  • fix(ci): regenerate fumadocs collections unconditionally in validate-code by @JSONbored in #6375
  • fix(mcp): drop autonomy levels the server removed in #4620 from the CLI by @luciferlive112116 in #6378
  • fix(mcp): print unknown API compatibility in status (#6263) by @thomasalvaedison7777-lgtm in #6363
  • fix(mcp): redact a parenthesis/bracket/colon-prefixed local path in redactLocalPath by @joaovictor91123 in #6369
  • fix(ci): wait for all 6 test shards before Codecov posts a patch status by @JSONbored in #6386
  • feat(review): give LOOPOVER_REVIEW_PLANNER a per-repo config override by @JSONbored in #6321
  • feat(selfhost): make LOOPOVER_REVIEW_OPS and LOOPOVER_PUBLIC_STATS .loopover.yml-controllable by @JSONbored in #6372
  • feat(loopover)!: full production cutover to loopover.ai, retire gittensory.aethereal.dev routes by @JSONbored in #6380
  • docs: update remaining links/prose from gittensory.aethereal.dev to loopover.ai by @JSONbored in #6381
  • fix(selfhost): guard pg-adapter's rollback so it can't mask the original batch error by @galuis116 in #6392
  • feat(selfhost): make LOOPOVER_REVIEW_DRAFT and LOOPOVER_AUTO_FILE_DRIFT_ISSUES .loopover.yml-controllable by @JSONbored in #6373
  • fix(ci): resolve wrangler via require.resolve, never PATH, for cf-typegen by @JSONbored in #6384
  • chore(rees): remove dead captureError export in review-enrichment/src/sentry.ts by @galuis116 in #6393
  • fix(selfhost): raise ollama's default batch size to match bge-m3's context window by @JSONbored in #6394
  • docs(rees): README analyzer table lists all 57 registered analyzers by @dhgoal in #6395
  • fix(ci): derive version-copy floor from single source of truth by @nghetienhiep in #6374
  • fix(db): order pull-request list queries deterministically by @JSONbored in #6388
  • fix(mcp): sanitize every terminal path that prints API-controlled text by @luciferlive112116 in #6396
  • test(ci): give check-mcp-package.mjs an injectable, unit-testable seam by @nghetienhiep in #6389
  • chore(miner): remove dead config-precedence.js wrapper module (#6159) by @shin-core in #6400
  • docs: document OLLAMA_NUM_BATCH in .env.example by @JSONbored in #6423
  • fix(api): open the public no-credential routes to any CORS origin by @JSONbored in #6401
  • chore(mcp): remove dead referenceScorePreviewCommand export in local-branch.js by @galuis116 in #6402
  • chore(ci): add .github/superagent.yml, exempt established repeat contributors by @JSONbored in #6435
  • fix(engine): exclude lockfiles and dependency manifests from trivial-churn detection by @JSONbored in #6429
  • chore(signals): converge change-guardrail.ts and preflight-limits.ts onto their @loopover/engine shims by @galuis116 in #6403
  • fix(extension): handle a rejected sendMessage in loadOpportunityBadge by @dhgoal in #6430
  • chore(miner-ui): move 3 test-only fixture factories out of the lib's public API into their test files by @real-venus in #6438
  • chore(review): converge 9 hand-duplicated src/review/ files onto their @loopover/engine shims by @galuis116 in #6437
  • fix(miner): expire claims orphaned by a dead process at claim time by @luciferlive112116 in #6441
  • fix(ci): check-mcp-package imports the shared secret-shape detector by @dhgoal in #6447
  • fix(ci): skip the heavy job fan-out for draft pull requests by @JSONbored in #6448
  • chore(engine): remove dead isDuplicateClusterWinner (#6172) by @shin-core in #6434

New Contributors

Full Changelog: orb-v2.1.0-beta.4...orb-v2.1.0-beta.5

gittensory-orb orb-v2.1.0-beta.4

Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Jul 05:09
Immutable release. Only release title and notes can be modified.
b7e1bec

LoopOver Orb container image:

docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v2.1.0-beta.4

Multi-arch (linux/amd64 + linux/arm64). See https://loopover.ai/docs/maintainer-self-hosting for setup.
Includes the Claude Code / Codex subscription CLIs by default; credentials stay runtime-only.
Sentry release id baked into the image: gittensory-orb@2.1.0-beta.4.

What's Changed

🚀 Features

  • feat(miner): export buildIssueQualityReport for self-review (#6057) by @bohdansolovie in #6142
  • feat(mcp): register 4 maintainer/repo-owner intake tools in packages/loopover-mcp by @jaytbarimbao-collab in #6199
  • refactor(settings): converge 4 duplicated settings files onto their loopover-engine shims by @nghetienhiep in #6201
  • feat(miner-ui): add a pause-reason input to the governor control (#6186) by @nghetienhiep in #6207
  • feat(api): expose self-tune override audit and clear routes (#6168) by @nghetienhiep in #6215
  • feat(api): wire internal decision/calibration routes, drop duplicate handleParity by @nghetienhiep in #6216
  • feat(miner): wire the leakage-safe replay harness into the calibration flow (#3011) by @nghetienhiep in #6219
  • feat(mcp): add loopover_get_pr_reviewability tool on both MCP servers by @lourincedaging0-commits in #6222
  • feat(docs): migrate loopover-ui docs pages to fumadocs-mdx content pipeline by @oktofeesh1 in #6271
  • docs(mcp): clarify ambiguous loopover-mcp stdio tool descriptions for LLM selection by @nghetienhiep in #6270
  • feat(review): expose a repo's effective self-tuned gate thresholds via a read-only endpoint by @lourincedaging0-commits in #6307
  • feat(mcp): compute loopover_lint_pr_text in-process from the shared engine by @nghetienhiep in #6308
  • docs(ams): port DEPLOYMENT.md to a website docs page (docs.ams-deployment.tsx) by @oktofeesh1 in #6312
  • docs(ams): port docs/operations-runbook.md to a website docs page (docs.ams-operations-runbook.tsx) by @oktofeesh1 in #6318
  • feat(mcp): add tools search <query> for fuzzy tool discovery by @nghetienhiep in #6317
  • feat(mcp): compute loopover_check_slop_risk in-process from the shared engine by @nghetienhiep in #6329
  • docs(ams): port docs/observability.md to a website docs page (docs.ams-observability.tsx) by @oktofeesh1 in #6331
  • feat(registry): add subnet-funded pool association to the repo model (#6320) by @nghetienhiep in #6333
  • feat(mcp): categorize and group loopover-mcp tools output (#6301) by @nghetienhiep in #6336
  • docs(ams): port docs/unattended-scheduling.md to a website docs page (docs.ams-unattended-scheduling.tsx) by @oktofeesh1 in #6338
  • feat(miner): add tenant-scoping columns to all four local ledger schemas by @JSONbored in #6340
  • feat(review): add a visible caption under each Visual/Scroll preview thumbnail by @JSONbored in #6341
  • feat(mcp): add telemetry enable/disable CLI command with persisted opt-in by @nghetienhiep in #6348
  • docs(ams): port docs/sizing.md to a website docs page (docs.ams-sizing.tsx) by @oktofeesh1 in #6351
  • feat(mcp): add a typed posthog telemetry wrapper for the remote server by @nghetienhiep in #6355
  • feat(mcp): instrument the remote tool-dispatch chokepoint with PostHog events by @claytonlin1110 in #6358
  • docs(ams): port docs/config-precedence.md to a website docs page (docs.ams-config-precedence.tsx) by @oktofeesh1 in #6360

🐛 Fixes

  • feat(grafana): add additive maintainer review event panels by @james3773 in #6138
  • fix(settings): parse PROTECTED_AUTOCLOSE_AUTHORS_EXTRA via the shared login-list parser (#audit-3.13) by @real-venus in #6214
  • fix(queue): honor autoCloseExemptLogins in the repeated-draft-cycling review-evasion guard by @real-venus in #6217
  • fix(engine): detect activity changes once the progress tail is full by @luciferlive112116 in #6218
  • chore(signals): remove dead deriveContributionLanes superseded by onboarding-pack's contribution-lane model by @real-venus in #6220
  • chore(miner): remove dead parseJsonFlag from portfolio-queue-cli by @dhgoal in #6198
  • docs(miner): fix stale header comment in submission-freshness-check by @dhgoal in #6200
  • fix(github): only swallow 404 in removePullRequestLabel (#6192) by @bohdansolovie in #6211
  • chore(review): remove dead isIgnoredReviewAuthor wrapper (zero callers, thinly wraps decideReviewEligibility) by @real-venus in #6223
  • fix(miner): expose the freeform idea feasibility gate via a CLI command by @nghetienhiep in #6224
  • fix(engine): normalize classifyPortfolioConvergence's numeric inputs by @luciferlive112116 in #6225
  • docs(review): stop claiming the self-improve D1 tables don't exist by @luciferlive112116 in #6232
  • fix(settings): accept [bot]-suffixed logins in contributorBlacklist by @jaytbarimbao-collab in #6233
  • docs(miner-ui): README no longer claims the data views are unshipped by @dhgoal in #6242
  • fix(miner): exit 2, not 1, on a secret-mount failure by @dhgoal in #6248
  • fix(miner): wrap pr-disposition-poller GitHub calls in fetchWithRetry (#4829) by @jaytbarimbao-collab in #6265
  • fix(engine): converge gate-verdict + finding-severity calibration onto reviewer-consensus's zero-weight + malformed-repo handling by @real-venus in #6251
  • chore(miner): remove 3 dead pre-unification governor gates superseded by the chokepoint ladder by @real-venus in #6278
  • test(github): verify installation-token isolation under multi-tenant concurrency by @JSONbored in #6277
  • test(queue): verify concurrent cross-tenant execution isolation by @JSONbored in #6299
  • fix(ui): generate fumadocs-mdx collections/* via postinstall by @oktofeesh1 in #6310
  • fix(security): redact Linear and session GitHub ciphertext in D1 export by @RealDiligent in #6309
  • fix(mcp): complete tab-completion for cache list by @luciferlive112116 in #6298
  • fix(github): retry label and assignee writes on stale installation tokens by @bohdansolovie in #6306
  • docs(selfhost): document Sentry once, matching the code's own default by @luciferlive112116 in #6315
  • docs(db): guardrail listInstallations/listRepositories against tenant-facing misuse by @JSONbored in #6328
  • fix(review): exclude bare .ts app-source files from isVisualPath by @JSONbored in #6330
  • feat(selfhost): give sweep-watchdog and PR-reconciliation a per-repo opt-out by @JSONbored in #6319
  • fix(ci): derive production-smoke MCP versions from package.json by @RealDiligent in #6334
  • fix(review): make the visual-preview poll budget durable per head SHA by @JSONbored in #6335
  • fix(selfhost): fail fast when a configured _FILE secret is unreadable by @RealDiligent in #6337
  • refactor(mcp): consolidate local-path redaction into one shared module by @nghetienhiep in #6339
  • fix(mcp): align env token precedence with the documented order by @nghetienhiep in #6342
  • fix(selfhost): log blob-store path-traversal gets distinctly from misses by @RealDiligent in #6343
  • fix(ci): exit non-zero when lockfile workspace sync misses by @RealDiligent in #6344
  • fix(ci): share MCP tarball allowlist including shipped lib files by @RealDiligent in #6346
  • fix(rees): reconstruct trailing-newline patches instead of failing closed (#6254) by @nickmopen in #6354
  • fix(rees): use the shared diff-file-header predicate in api-break/caller-impact (#6255) by @nickm...
Read more