Releases: JSONbored/loopover
Release list
ui-kit: v1.1.0
@loopover/miner v3.1.1
Published @loopover/miner v3.1.1 to npm with provenance.
Install:
npm install -g @loopover/miner@3.1.1miner: v3.1.0
3.1.0 (2026-07-17)
Features
- miner-ui: add discover and attempt HTTP action routes (#6574) (5c34c3a), closes #6522
- miner: add config-gated chat action-dispatch scaffolding (#6542) (c9984c1), closes #6519
- miner: add the ContributionProfile local cache store + doctor/migrate integration (#6797) (#7001) (9171769)
- miner: consult selfLoopAutonomy in decideNextAction's pass-to-handoff step (#6581) (7a275c7), closes #6560
- miner: consume ORB live gate thresholds in self-review-context (1cb09e4)
- miner: design the ContributionProfile schema + caching shape (#6795) (#6970) (ad8536e)
- miner: exclude discover candidates assigned to the repo owner (7a7f90a)
- miner: exclude discover candidates assigned to the repo owner (995686f)
- miner: implement generic ContributionProfile extraction (#6796) (#6979) (018e261)
- miner: probe ORB live-gate-thresholds in self-review-context (087a0e3)
- miner: register governor pause/resume chat actions (#6521) (#6587) (ad4486f)
- miner: wire chat action-dispatch to the existing discover/attempt routes (#6837) (#6855) (a4c76a6)
- miner: wire chat action-dispatch to the existing portfolio release/requeue routes (#6838) (#6850) (61202e3)
- miner: wire ContributionProfile eligibility filtering into discover (08e56fb)
- miner: wire ContributionProfile eligibility filtering into discover (#6798) (324490b)
- purge: add purgeByRepo method to portfolio queue and run state stores (#6694) (11a6dac)
Fixes
- config: scrub remaining pre-rename gittensory references (23152da)
- config: scrub remaining pre-rename gittensory references (e4b0f8c)
- miner: add the tenant_id column to governor-ledger and plan-store (#6707) (28f7f05), closes #6597
- miner: cover four omitted stores in doctor and migrate (#6928) (e1df4aa)
- miner: enforce maxConcurrentClaims atomically across sibling processes (#6912) (b1a2bbd), closes #6758
- miner: expire claims orphaned by a dead process at claim time (#6441) (4d326e4), closes #6156
- miner: fail fast instead of hanging when init --interactive has no TTY (#6907) (fa52680), closes #6846
- miner: flag real LOOPOVER_MINER_* env vars missing from DEPLOYMENT.md (#6601) (2e12f63)
- miner: flag real LOOPOVER_MINER_* env vars missing from DEPLOYMENT.md (#6601) (b586810)
- miner: forward HOME and the real coding-agent credential to CLI subprocesses (4a852de)
- miner: open doctor's laptop-state check read-only (camelCase readOnly) (#6866) (81a3a03)
- miner: open the worktree allocator through local-store's openLocalStoreDb (#6600) (#6704) (4e9aa2d)
- miner: reject blank acceptance hints as an objective success signal (#6766) (25792fd)
- miner: reject blank acceptance hints as an objective success signal (#6766) (fd730f1)
- miner: release the primed portfolio claim when --max-cycles is exhausted (d2244e9)
- miner: release the primed portfolio claim when --max-cycles is exhausted (c976ca3)
- miner: report the real post-failure schema version for a partially-applied migration (#6860) (4b786b1)
- miner: require a closing keyword in self-review's linked-PR extractor (#6769) (6f5520d)
- miner: require a closing keyword in self-review's linked-PR extractor (#6769) (5192411)
- miner: retain a crashed attempt's worktree for post-mortem (#6867) (8ef43a4)
- miner: retry GitHub rate-limit responses in http-retry instead of aborting the poll (#6761) (#6878) (58cd901)
- miner: route the governor/prediction/plan local stores through openLocalStoreDb (#6667) (0591ffc)
- miner: scope the managed-PR queue row to the polled forge host (de1c473)
- miner: scope the managed-PR queue row to the polled forge host (492aef3)
- miner: serialize per-repo base clone to prevent concurrent git races (#6917) (2e2f588), closes #6762
...
@loopover/mcp v3.1.1
mcp: v3.1.0
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...
engine: v3.2.0
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...
loopover-orb orb-v2.1.0-beta.8
LoopOver Orb container image:
docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v2.1.0-beta.8Multi-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
- refactor(engine): consolidate plan step readiness helpers by @claytonlin1110 in #6672
- test(review): cover extractReviewSummary suggestions-merge and sole-reviewer-consensus branches by @ultrahighsuper in #6673
- fix(queue): re-verify write permission before the reopen re-close, like its 4 siblings by @luciferlive112116 in #6677
- refactor(signals): share resolveIssuePolicy between readiness reports (#6606) by @thomasalvaedison7777-lgtm in #6681
- fix(github): tighten ConfigurationCommandRequest.reason to a literal union by @ultrahighsuper in #6678
- fix(signals): advertise the real 99% patch coverage gate by @RealDiligent in #6683
- fix(review): wire resolveDispositionReason into the action-executor notification (#6636) by @nickmopen in #6686
- feat(openapi): document GET /v1/repos/:owner/:repo/gate-config/effective by @ultrahighsuper in #6687
- docs(review): correct grounding activation comment for features.grounding (#6623) by @thomasalvaedison7777-lgtm in #6688
- fix: correct four stale 'improvementSignal not wired yet' comments by @lourincedaging0-commits in #6691
- fix(miner): include portfolio-queue and run-state in purge-by-repo (#6599) by @thomasalvaedison7777-lgtm in #6694
- fix(miner): stamp prediction-ledger schema version and add tenant_id column by @e11734937-beep in #6702
- fix(miner): open the worktree allocator through local-store's openLocalStoreDb by @luciferlive112116 in #6704
- fix(miner): add the tenant_id column to governor-ledger and plan-store by @galuis116 in #6707
- feat(mcp): register loopover_close_pr write-tool in both MCP surfaces (#6615) by @jaytbarimbao-collab in #6715
- fix(queue): audit draft-dodge stand-down when paused or frozen by @RealDiligent in #6693
- docs(mcp): fix stale 'NOT WIRED YET' comment in telemetry.ts (#6617) by @shin-core in #6700
- fix(review): stop redundant republishing for a draft fork PR's repeat CI-completion triggers by @JSONbored in #6710
- fix(api): remove duplicate finding-taxonomy/enrichment-analyzers imports by @JSONbored in #6722
- refactor(settings): drop 11 gate/quality/AI-review config-as-code-only DB columns by @JSONbored in #6711
- fix(miner): flag real LOOPOVER_MINER_* env vars missing from DEPLOYMENT.md (#6601) by @shin-core in #6726
- refactor: consolidate duplicate bounded-concurrency helpers onto mapWithConcurrency (#6602) by @jaytbarimbao-collab in #6727
- fix(review): strip NUL bytes from RAG chunk text before the storage INSERT by @JSONbored in #6728
Full Changelog: orb-v2.1.0-beta.7...orb-v2.1.0-beta.8
loopover-orb orb-v2.1.0-beta.7
LoopOver Orb container image:
docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v2.1.0-beta.7Multi-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
- docs(ui): federated fleet intelligence operator-consent page by @RealDiligent in #6631
- feat(miner-ui): redesign ledgers route with StateBoundary + skeletons (#6512) by @jaytbarimbao-collab in #6646
- feat(orb): trust-gate inbound federated bundles per the #6477 key-trust design by @luciferlive112116 in #6649
- feat(config): make sweepWatchdog staleness threshold configurable (#6594) by @andriypolanski in #6639
- feat(miner-ui): wire the chat rail to the read-only streaming backend (#6518) by @jaytbarimbao-collab in #6661
🐛 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
LoopOver Orb container image:
docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v2.1.0-beta.6Multi-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
- feat(review): add an opt-in draft-PR close policy to stop bot-review farming by @JSONbored in #6454
- feat(ui): add CSV export to the operator dashboard by @luciferlive112116 in #6471
- docs(ui): audit ui-kit for existing chat-adjacent UI primitives by @galuis116 in #6474
- feat(orb): export a signed, anonymized federated calibration bundle (opt-in) by @reyanthony062001-ops in #6505
- feat(miner-ui): add a light/dark theme toggle to miner-ui by @jaytbarimbao-collab in #6529
- feat(ui-kit): port state-views.tsx primitives into @loopover/ui-kit by @galuis116 in #6539
- feat(orb): add the opt-in federated collector transport client (push/pull) by @reyanthony062001-ops in #6537
- feat(miner): add config-gated chat action-dispatch scaffolding by @nghetienhiep in #6542
- feat(miner-ui): add the chat rail's message composer by @luciferlive112116 in #6549
- feat(ui): maintainer dashboard panel for per-tool MCP usage counts by @galuis116 in #6548
- feat(review): add AMS live-gate-thresholds read endpoint by @RealDiligent in #6553
- feat(miner-ui): add the persistent collapsible chat rail shell by @ultrahighsuper in #6564
- feat(miner): add read-only chat grounding over the existing miner MCP tools by @davion-knight in #6570
- feat(review): bridge a submitter's AMS track record into ORB reputation, upgrade-only by @davion-knight in #6566
- feat(miner-ui): chat message list, bubble, and typing indicator components by @jaytbarimbao-collab in #6563
- feat(miner): consume ORB live gate thresholds in self-review-context by @RealDiligent in #6565
- feat(engine): add selfLoopAutonomy to AmsPolicySpec by @luciferlive112116 in #6568
- feat(miner-ui): add discover and attempt HTTP action routes by @boskodev790 in #6574
- feat(miner-ui): adopt StateBoundary + skeletons on the Overview route by @dhgoal in #6576
- feat(selfhost): make LOOPOVER_SWEEP_WATCHDOG and LOOPOVER_PR_RECONCILIATION .loopover.yml-controllable by @bohdansolovie in #6575
- feat(miner): consult selfLoopAutonomy in decideNextAction's pass-to-handoff step by @davion-knight in #6581
- feat(miner-ui): useStreamingText hook + StreamingText renderer by @jaytbarimbao-collab in #6583
- feat(miner-ui): register portfolio release/requeue chat actions by @jsdevninja in #6586
- refactor(miner-ui): adopt shared StateBoundary in the portfolio route by @luciferlive112116 in #6588
- feat(review): schedule fleet escalation sweep with Discord notify by @RealDiligent in #6584
- feat(ui): add AMS-vs-human contributor-mix maintainer dashboard panel by @galuis116 in #6590
- feat(miner): register governor pause/resume chat actions (#6521) by @andriypolanski in #6587
- refactor(settings): drop Batch B's 15 config-as-code-only DB columns by @JSONbored in #6622
- feat(miner-ui): redesign run-history route with StateBoundary, skeleton, and pagination by @jaytbarimbao-collab in #6591
🐛 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...
gittensory-orb orb-v2.1.0-beta.5
LoopOver Orb container image:
docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v2.1.0-beta.5Multi-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
helppositional 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
- @thomasalvaedison7777-lgtm made their first contribution in #6363
Full Changelog: orb-v2.1.0-beta.4...orb-v2.1.0-beta.5