loopover-orb orb-v2.1.0-beta.6
Pre-release
Pre-release
Immutable
release. Only release title and notes can be modified.
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 by @JSONbored in #6534
- chore(test): remove now-redundant self-repo-bleed workaround overrides by @JSONbored in #6536
- refactor(test): move remaining Batch A fields to manifest injection by @JSONbored in #6535
- fix(ui): adopt AnalyticsCardShell in 5 analytics cards that hand-roll their own chrome by @galuis116 in #6543
- docs: fix stale gittensory references in contributor-facing docs by @JSONbored in #6501
- feat(miner-ui): active-route nav highlighting + fix stale tab title by @jaytbarimbao-collab in #6540
- refactor(settings): drop Batch A's 9 config-as-code-only DB columns by @JSONbored in #6557
- test(settings): inject Batch B config-as-code fields via the manifest by @JSONbored in #6571
- fix(db): un-renumber migration 0156, close the gap at 0157 by @JSONbored in #6582
- docs(config): note settings.* as a legacy alias for 11 gate/AI-review fields by @JSONbored in #6589
- fix(ui): self-heal the Cloudflare Pages build's incomplete workspace install by @JSONbored in #6624
Full Changelog: orb-v2.1.0-beta.5...orb-v2.1.0-beta.6