Skip to content

Releases: JSONbored/loopover

engine: v3.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 21:05
Immutable release. Only release title and notes can be modified.
c7f5451

3.1.0 (2026-07-14)

Features

  • engine: add a load-testing harness for iterate-loop under concurrent load (#5781) (4b6b5c6), closes #5224
  • engine: extract content-lane's pure leaf modules to loopover-engine (#5775) (60ed3cd), closes #4880
  • engine: extract settings leaf modules to loopover-engine (#5779) (b570c11), closes #4879
  • engine: per-tenant configuration layer (#5804) (1fd8519), closes #4787
  • engine: per-tenant resource quota evaluation (#5801) (db74aa3), closes #4796
  • mcp: add the idea-intake bridge and loopover_intake_idea tool (#5792) (d60481e), closes #4798
  • mcp: deliver a completed loop iteration as a customer results payload (#5797) (9b3f4b2), closes #4801
  • mcp: evaluate when a rented loop should escalate to a human (#5806) (90f477e)
  • mcp: route ideas through intake into a loop claim plan (#5795) (48d2a39), closes #4799
  • mcp: stream loop progress to the customer via a progress snapshot (#5798) (96b8c42), closes #4800
  • miner: honor kill-switch mid-attempt during iterate-loop (#5799) (3525e95)

Fixes

  • engine: clamp rate-limit retryAfterMs to at most one window on a backward clock (#5855) (f35e354), closes #5829
  • rebrand: full-cutover rename miner/AMS per-repo and operator config filenames (#5765) (c93569d)
  • rebrand: full-cutover rename remaining internal gittensory runtime identifiers (#5761) (75450f1)
  • signals: require a code file before manifest_missing_tests fires (#5852) (ad011d3)

engine: v3.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 19:07
Immutable release. Only release title and notes can be modified.
58f7d5d

3.0.0 (2026-07-14)

⚠ BREAKING CHANGES

  • build: every gittensory-prefixed directory under apps/ and packages/ is now loopover-prefixed, and the two extension packages' npm names changed from @jsonbored/gittensory-* to @loopover/*. No dual-path/alias, per the epic's full-cutover mandate.

Features

  • build: Phase 5 - full-cutover rename all gittensory-* directories to loopover-* (#5743) (81e4ac3)

engine: v2.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 08:59
Immutable release. Only release title and notes can be modified.
1cf033b

2.0.0 (2026-07-14)

⚠ BREAKING CHANGES

  • miner: the miner's default config directory and every gittensory_miner_* Prometheus metric name changed; no dual-read/alias, per the epic's full-cutover mandate (#5705). A self-hoster's existing ~/.config/gittensory-miner state does not migrate automatically.
  • github: the bot no longer recognizes @gittensory as a command trigger anywhere -- only @Loopover works. Any saved PR-comment template, bookmark, or muscle-memory referencing @gittensory must be updated to @Loopover .
  • miner: every GITTENSORY_MINER_/GITTENSORY_API_TOKEN_FILE/ GITTENSORY_MCP_TOKEN_FILE/GITTENSORY_MEM_LIMIT/GITTENSORY_REPORTING_ env var an existing self-hosted AMS/miner deployment sets must be renamed to its LOOPOVER_ equivalent -- the old names are no longer read.
  • remove gittensory-engine's settings.gateCheckMode yml back-compat parsing (#5373) (#5463)

Features

  • commands: add @gittensory chat <question> — grounded LLM Q&A via local Ollama (#4985) (a086033), closes #4595
  • commands: intent-classification router for unrecognized @gittensory mentions (#5036) (f8f281b)
  • commands: let a PR's own author use chat when rate limiting is active (#5087) (9b307d8), closes #5084
  • commands: make @gittensory chat's frontier fallback configurable (#4595 follow-up) (#5015) (9429030)
  • github: rename the @gittensory bot mention command to @loopover (#5715) (40e6cdf)
  • miner-governor: build a real production runSlopAssessment implementation (#5133) (#5140) (e7d95a9)
  • miner-governor: closed-loop discovery re-entry trigger (#2338) (#5051) (d7e38d6)
  • miner-governor: dry-run-by-default enforcement + fail-closed chokepoint (#2342, #2340) (#5014) (4719f2c)
  • miner-governor: enforce non-convergence + budget/turn/termination halts (#2347) (#4989) (51208ce)
  • miner-governor: gated-submission trigger requiring predicted-gate PASS + slop-under-threshold (#5045) (e6efe87)
  • miner-governor: global + per-repo kill-switch (#2341) (#5012) (dcc1601)
  • miner-governor: iterate-loop stop/abandon/handoff policy (#5040) (e446f0c)
  • miner-governor: kill-switch propagation into the manage/loop subsystem (#2339) (#5057) (a21a8ad)
  • miner-governor: local create->score->self-review->decide iterate-loop orchestrator (#2333) (#5044) (c51fe41)
  • miner-governor: self-plagiarism throttle across the miner's own repos (#4972) (f0fa765)
  • miner-governor: self-reputation throttle from own outcome history (#4983) (7bbf529), closes #2346
  • miner-governor: self-review adapter wiring diffs through predicted-gate + slop (#2334) (#5034) (214b4c3)
  • miner-governor: wire rate-limit + jittered backoff into live write enforcement (#2344) (#4984) (f175e0c)
  • miner-hands: parse Claude Code's JSON error envelope in the CLI-subprocess driver (#5168) (#5256) (45a3741)
  • miner-hands: parse Codex's JSONL stdout for its real error object in the CLI-subprocess driver (#5169) (#5262) (183e655)
  • miner-hands: two-tier stalled-output fast-fail timeout for the CLI-subprocess driver (#5167) (#5251) (cae277e)
  • miner-hands: wire real self-plagiarism data into the Governor chokepoint (#5706) (40ce138), closes #5676
  • miner: add .gittensory-ams.yml operator execution-policy config (#5249) (f92b298)
  • miner: build a real SelfReviewContext fetcher (#5145) (#5235) (7a423be)
  • miner: extract and persist real coding-agent token usage (#5658) (1e0ac6c)
  • miner: persist coding-agent provider + real cost on the attempt log (#5637) (941c300)
  • miner: rename GITTENSORY_MINER_/GITTENSORY_ env vars to LOOPOVER_MINER_/LOOPOVER_ (#5707) (6714f0c), closes #5705
  • miner: wire attempt-metering.ts into the iterate loop for a real mid-attempt budget abort (#5437) (30a6ffb)
  • miner: wire claim-conflict resolution end-to-end (#5480) (7109bf2)
  • miner: wire the real runMinerAttempt call into attempt-cli.js (#5261) (f3f1f2b)
  • rees: add real before/after complexity-delta analyzer (#4758) ([6af9d77](https://github.com/JSONbored/g...
Read more

gittensory-orb orb-v0.6.0-beta.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Jul 11:57
Immutable release. Only release title and notes can be modified.
b51220e

Gittensory Orb container image:

docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v0.6.0-beta.3

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@0.6.0-beta.3.

#4770: ghcr.io/jsonbored/gittensory-selfhost:orb-v0.6.0-beta.3 (the pre-rename name)
still resolves to this identical build/digest during the deprecation window -- no action needed if
you're already pinned to it. Track eventual removal via #4777.

What's Changed

🚀 Features

  • feat(miner): add a committed benchmark suite for discovery ranking and the local-store path by @galuis116 in #5615
  • feat(miner-extension): add a standard icon set to the manifest by @davion-knight in #5617
  • feat(miner-extension): live-fetch ranked candidates from the local miner UI by @JSONbored in #5622

🐛 Fixes

  • feat(loopover): flip PUBLIC_API_ORIGIN to api.loopover.ai by @JSONbored in #5618
  • feat(miner): persist ranked-candidates snapshots and serve them locally by @JSONbored in #5619

Full Changelog: orb-v0.6.0-beta.2...orb-v0.6.0-beta.3

gittensory-orb orb-v0.6.0-beta.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Jul 09:56
Immutable release. Only release title and notes can be modified.
8106063

Gittensory Orb container image:

docker pull ghcr.io/jsonbored/loopover-selfhost:orb-v0.6.0-beta.2

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@0.6.0-beta.2.

#4770: ghcr.io/jsonbored/gittensory-selfhost:orb-v0.6.0-beta.2 (the pre-rename name)
still resolves to this identical build/digest during the deprecation window -- no action needed if
you're already pinned to it. Track eventual removal via #4777.

What's Changed

🚀 Features

  • docs(miner): add an 'Observing your miner' Grafana/ledger observability guide by @davion-knight in #5424
  • feat(miner): retry a transient 5xx in the discovery fanout by @real-venus in #5425
  • feat(miner): wire per-repo kill switch, real claim-ledger, and CI-status observation by @JSONbored in #5429
  • feat(miner): paginate discovery fetches via the GitHub Link header (#4831) by @cleanjunc in #5442
  • feat(miner-extension): dynamic toolbar badge for local cache state by @davion-knight in #5449
  • docs(miner): add coding-agent credential troubleshooting table (#5175) by @andriypolanski in #5451
  • docs(miner): add coding-agent docs page by @luckydicer in #5444
  • feat(observability): add a Grafana Sentry datasource for in-Grafana issue visualization by @JSONbored in #5453
  • feat(miner): wire attempt-metering.ts into the iterate loop for a real mid-attempt budget abort by @JSONbored in #5437
  • feat(miner): surface rate-limit telemetry in discover output (#4837) by @cleanjunc in #5461
  • feat(miner-selfimprove): wire the historical-replay scorer into the Phase 7 calibration loop (#4248) by @andriypolanski in #5462
  • test(miner): add real concurrent-process races test for claim-ledger and portfolio-queue by @galuis116 in #5464
  • feat(miner): throttle discovery concurrency as rate-limit budget drops by @real-venus in #5467
  • test(miner): add real crash-recovery test for portfolio-queue stuck items by @galuis116 in #5469
  • feat(miner): add a calibration-report CLI command by @real-venus in #5460
  • feat(miner): add a metrics command that renders prediction-calibration Prometheus text (#4838) by @cleanjunc in #5470
  • feat(miner): de-hardcode discovery from gittensory's own conventions (#4784) by @andriypolanski in #5472
  • feat(miner): add repo stack auto-detection (#4785) by @andriypolanski in #5477
  • feat(miner): wire claim-conflict resolution end-to-end by @JSONbored in #5480
  • feat(miner): add a ledger metrics command that renders event-ledger Prometheus text (#4841) by @cleanjunc in #5486
  • feat(miner): add signal and crash handling to the CLI (#4826) by @andriypolanski in #5484
  • feat(miner): cache policy docs with conditional-GET revalidation by @JSONbored in #5508
  • feat(miner-extension): show a last-synced label on the opportunity badge by @galuis116 in #5518
  • feat(miner): add queue release/requeue escape-hatch subcommands (#4828) by @carlh7777 in #5520
  • feat(miner-extension): reject oversized pasted ranked-candidates JSON before saving by @galuis116 in #5530
  • feat(miner): add a gittensory-miner migrate command for the local stores by @galuis116 in #5538
  • feat(miner): add --dry-run to attempt and loop by @JSONbored in #5527
  • test(miner): shared contract suite across the read-only AMS MCP tools by @jaytbarimbao-collab in #5521
  • docs(miner): document all sixteen local SQLite stores in DEPLOYMENT.md (#4870) by @carlh7777 in #5524
  • feat(miner): publish operational files (DEPLOYMENT.md, docs, Dockerfile, schema) in the npm package (#4874) by @carlh7777 in #5528
  • feat(miner): add --dry-run to the remaining local-mutating CLI commands by @JSONbored in #5532
  • feat(miner): add a fleet-mode AMS host Terraform starter module by @davion-knight in #5549
  • feat(miner): add a level-aware logging abstraction for the CLI (#4835) by @cleanjunc in #5550
  • feat(miner): add --dry-run to governor pause/resume by @JSONbored in #5553
  • feat(observability): add a prediction-calibration-drift alert rule for the miner by @milosde111 in #5557
  • feat(miner): add GITHUB_TOKEN_FILE secret-mount indirection for fleet mode by @galuis116 in #5560
  • test(miner): add true CLI end-to-end integration tests by @jsdevninja in #5565
  • feat(miner): add a right-to-be-forgotten purge command across the local ledgers by @JSONbored in #5568
  • feat(miner-ui): add live refresh to run-history and portfolio views by @galuis116 in #5570
  • feat(miner-ui): surface claim, event, and governor ledger data by @davion-knight in #5574
  • feat(miner-extension): add workspace package and CI wiring by @jsdevninja in #5567
  • test(miner): add regression coverage for the two-tier stalled-output timeout by @nickmopen in #5575
  • feat(miner-extension): grant loopback host permissions for local miner-ui access (#4860) by @andriypolanski in #5578
  • feat(miner-ui): rebuild the Overview page from live miner state by @davion-knight in #5577
  • docs(miner): add unattended scheduling & failure-alerting guidance by @nickmopen in #5592
  • feat(miner): add portfolio-queue Prometheus metrics + stuck/backlog alerts by @JSONbored in #5603
  • feat(miner): add governor rate-limit/budget Prometheus metrics + pressure alerts by @JSONbored in #5604
  • feat(miner-ui): require a same-origin session cookie on the local API by @JSONbored in #5605
  • docs(miner): document opt-in Prometheus textfile-collector export by @JSONbored in #5608
  • feat(miner-ui): add a systemd unit for running miner-ui as a persistent service by @joaovictor91123 in #5610
  • feat(miner-ui): add governor pause/resume controls by @JSONbored in #5611

🐛 Fixes

  • fix(scripts): build gittensory-engine before typecheck in test:ci/validate by @JSONbored in #5408
  • feat(ui): dual-read browser localStorage keys during the rebrand by @JSONbored in #5405
  • docs: rename AI-contributor tooling and meta-docs for LoopOver by @JSONbored in #5431
  • fix(miner): close two blind spots in the DEPLOYMENT.md docs-accuracy audit by @JSONbored in #5435
  • chore(types): mark gateCheckMode @deprecated at every declaration site by @JSONbored in #5430
  • feat(observability): translate browserless's JSON metrics into Prometheus text by @JSONbored in #5436
  • chore(types): widen gateCheckMode to optional, drop internal-only passthroughs by @JSONbored in #5440
  • feat(db): drop the dead gate_check_mode column by @JSONbored in #5446
  • refactor(rebrand): consolidate and rename hardcoded User-Agent literals by @JSONbored in #5445
  • fix(miner): status --json reports the real installed engine version by @JSONbored in #5447
  • test: drop inert gateCheckMode fixture noise (#5373) by @JSONbored in #5448
  • chore(api): drop gateCheckMode from registration-readiness and settings-preview responses by @JSONbored in #5454
  • chore(activation): replace gateCheckMode with reviewCheckMode on the maintainer-activation surface by @JSONbored in #5455
  • chore(ci): remove dead self-hosted-runner label, rename release-notes brand prose by @JSONbored in https://github.com/J...
Read more

gittensory-orb orb-v0.6.0-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Jul 19:13
Immutable release. Only release title and notes can be modified.
e58f00c

Gittensory Orb container image:

docker pull ghcr.io/jsonbored/gittensory-selfhost:orb-v0.6.0-beta.1

Multi-arch (linux/amd64 + linux/arm64). See https://gittensory.aethereal.dev/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@0.6.0-beta.1.

What's Changed

🚀 Features

🐛 Fixes

Read more

gittensory-orb orb-v0.4.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 12:33
Immutable release. Only release title and notes can be modified.
8d94cc8

Gittensory Orb container image:

docker pull ghcr.io/jsonbored/gittensory-selfhost:orb-v0.4.0

Multi-arch (linux/amd64 + linux/arm64). See https://gittensory.aethereal.dev/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@0.4.0.

What's Changed

🐛 Fixes

  • fix(selfhost): widen GitHub-native id columns to bigint on Postgres by @JSONbored in #5060
  • feat(review): scope the live auto-tune breaker to miner-originated PRs independently (#2352) by @JSONbored in #5061

🧹 Other Changes

  • feat(release): automate the ORB stable-release channel with a standing Release PR by @JSONbored in #5063
  • fix(observability): name captured errors so Sentry titles describe the failure by @JSONbored in #5064
  • test(settings): fix a spy call-count flake in selftune-readback.test.ts by @JSONbored in #5068
  • feat(review): personalize predicted-gate readiness by contributor calibration history (#2349) by @JSONbored in #5069
  • fix(release): allow an empty commit when cutting the ORB stable Release PR by @JSONbored in #5067

Full Changelog: orb-v0.4.0-beta.28...orb-v0.4.0

gittensory-orb orb-v0.4.1-beta.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Jul 14:55
Immutable release. Only release title and notes can be modified.
eb3d641

Gittensory Orb container image:

docker pull ghcr.io/jsonbored/gittensory-selfhost:orb-v0.4.1-beta.3

Multi-arch (linux/amd64 + linux/arm64). See https://gittensory.aethereal.dev/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@0.4.1-beta.3.

What's Changed

🐛 Fixes

  • feat(miner-governor): shape the gated open-pr submission payload from a handoff (#2337) by @JSONbored in #5091
  • fix(miner-governor): wire buildHouseRulesPreToolUseHook into a real driver-construction call site by @JSONbored in #5082
  • fix(commands): require an open, non-draft PR for chat's pr_author grant by @JSONbored in #5094

🧹 Other Changes

  • fix(review): gate the auto-tune breaker on reversal-weighted precision (#2348) by @JSONbored in #5088
  • fix(selfhost): retry the container health-status check, not just /ready by @JSONbored in #5090

Full Changelog: orb-v0.4.1-beta.2...orb-v0.4.1-beta.3

gittensory-orb orb-v0.4.1-beta.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Jul 14:20
Immutable release. Only release title and notes can be modified.
9b307d8

Gittensory Orb container image:

docker pull ghcr.io/jsonbored/gittensory-selfhost:orb-v0.4.1-beta.2

Multi-arch (linux/amd64 + linux/arm64). See https://gittensory.aethereal.dev/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@0.4.1-beta.2.

What's Changed

🐛 Fixes

  • fix(linear): stop fuzzy matching workspace milestones by @JSONbored in #4977
  • feat(miner-governor): kill-switch propagation into the manage/loop subsystem (#2339) by @JSONbored in #5057
  • fix(commands): give ask/chat their own fresh reply comment by @JSONbored in #5077
  • feat(miner-governor): dry-run-by-default enforcement + fail-closed chokepoint (#2342, #2340) by @JSONbored in #5014
  • fix(stats): scope reuse trend to public repos by @JSONbored in #4991
  • feat(commands): let a PR's own author use chat when rate limiting is active by @JSONbored in #5087

🧹 Other Changes

  • fix(selfhost): stop claude-code from treating its own review call as an interactive plan or a prompt injection by @JSONbored in #5080
  • feat(review): add a [BETA] chat usage collapsible to the PR comment by @JSONbored in #5081
  • feat(review): fleet-wide gaming-pattern detector for the self-host orb fleet (#2350) by @JSONbored in #5083
  • fix(selfhost): retry the /ready probe in selfhost-post-update-check.sh instead of a single attempt by @JSONbored in #5086

Full Changelog: orb-v0.4.1-beta.1...orb-v0.4.1-beta.2

gittensory-orb orb-v0.4.1-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Jul 12:57
Immutable release. Only release title and notes can be modified.
ba4d450

Gittensory Orb container image:

docker pull ghcr.io/jsonbored/gittensory-selfhost:orb-v0.4.1-beta.1

Multi-arch (linux/amd64 + linux/arm64). See https://gittensory.aethereal.dev/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@0.4.1-beta.1.

What's Changed

🐛 Fixes

  • fix(selfhost): widen 2 more GitHub-id columns found via a live-schema sweep by @JSONbored in #5062
  • feat(miner-governor): closed-loop discovery re-entry trigger (#2338) by @JSONbored in #5051

🧹 Other Changes

  • fix(review): log a bounded response snippet on unparseable AI output by @JSONbored in #5073
  • fix(review): stop one oversized RAG chunk from failing its whole embedding batch by @JSONbored in #5074
  • chore(orb): bump manifest target version to 0.4.1 by @JSONbored in #5075

Full Changelog: orb-v0.4.0...orb-v0.4.1-beta.1