From 316e10d48fe4ab3488b2938bb8a41e8886b3e3ac Mon Sep 17 00:00:00 2001 From: ghost <49853598+JSONbored@users.noreply.github.com> Date: Sun, 26 Jul 2026 23:42:21 -0700 Subject: [PATCH 1/2] chore(main): release engine-and-dependents libraries --- .release-please-manifest.json | 6 ++--- package-lock.json | 10 +++---- packages/loopover-engine/CHANGELOG.md | 9 +++++++ packages/loopover-engine/package.json | 2 +- packages/loopover-mcp/CHANGELOG.md | 37 ++++++++++++++++++++++++++ packages/loopover-mcp/package.json | 4 +-- packages/loopover-miner/CHANGELOG.md | 38 +++++++++++++++++++++++++++ packages/loopover-miner/package.json | 4 +-- 8 files changed, 97 insertions(+), 13 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 1d401be83f..32368beff6 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,6 +1,6 @@ { - "packages/loopover-mcp": "3.14.1", - "packages/loopover-engine": "3.15.1", - "packages/loopover-miner": "3.14.1", + "packages/loopover-mcp": "3.15.2", + "packages/loopover-engine": "3.15.2", + "packages/loopover-miner": "3.15.2", "packages/loopover-ui-kit": "1.2.0" } diff --git a/package-lock.json b/package-lock.json index f11413e6d2..4b1b2cceb5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21029,7 +21029,7 @@ }, "packages/loopover-engine": { "name": "@loopover/engine", - "version": "3.15.1", + "version": "3.15.2", "license": "AGPL-3.0-only", "dependencies": { "@anthropic-ai/claude-agent-sdk": "^0.3.205", @@ -21064,10 +21064,10 @@ }, "packages/loopover-mcp": { "name": "@loopover/mcp", - "version": "3.14.1", + "version": "3.15.2", "license": "AGPL-3.0-only", "dependencies": { - "@loopover/engine": "^3.14.1", + "@loopover/engine": "^3.15.2", "@modelcontextprotocol/sdk": "1.29.0", "posthog-node": "^5.44.0", "zod": "^4.4.3" @@ -21102,10 +21102,10 @@ }, "packages/loopover-miner": { "name": "@loopover/miner", - "version": "3.14.1", + "version": "3.15.2", "license": "AGPL-3.0-only", "dependencies": { - "@loopover/engine": "^3.14.1", + "@loopover/engine": "^3.15.2", "@modelcontextprotocol/sdk": "1.29.0", "@sentry/node": "^10.63.0", "zod": "^4.4.3" diff --git a/packages/loopover-engine/CHANGELOG.md b/packages/loopover-engine/CHANGELOG.md index bedbba4bca..165ad75e52 100644 --- a/packages/loopover-engine/CHANGELOG.md +++ b/packages/loopover-engine/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [3.15.2](https://github.com/JSONbored/loopover/compare/engine-v3.15.1...engine-v3.15.2) (2026-07-27) + + +### Fixes + +* **orb:** bind identity to credentials instead of renameable logins or trusted request bodies ([#9121](https://github.com/JSONbored/loopover/issues/9121), [#9125](https://github.com/JSONbored/loopover/issues/9125), [#9126](https://github.com/JSONbored/loopover/issues/9126), [#9131](https://github.com/JSONbored/loopover/issues/9131)) ([#9177](https://github.com/JSONbored/loopover/issues/9177)) ([6860b26](https://github.com/JSONbored/loopover/commit/6860b26baf2f8aa082e71f06dca3dd7a717aee54)) +* **security:** close a guardrail bypass, a repo-scope auth gap, and fail-open telemetry ingest ([#9112](https://github.com/JSONbored/loopover/issues/9112)) ([6dc0e3c](https://github.com/JSONbored/loopover/commit/6dc0e3c578a97deb9ed5d28a87932a9ec32e3c4c)) +* **trust:** commit the decision record to what actually decided, record the holdout draw, and fix the attestation envelope's width and freshness ([#9178](https://github.com/JSONbored/loopover/issues/9178)) ([0eadcbd](https://github.com/JSONbored/loopover/commit/0eadcbd7854fc683137f15cc3b475685336373c4)) + ## [3.14.1](https://github.com/JSONbored/loopover/compare/engine-v3.14.0...engine-v3.14.1) (2026-07-25) diff --git a/packages/loopover-engine/package.json b/packages/loopover-engine/package.json index c32af23df3..0293938872 100644 --- a/packages/loopover-engine/package.json +++ b/packages/loopover-engine/package.json @@ -1,6 +1,6 @@ { "name": "@loopover/engine", - "version": "3.15.1", + "version": "3.15.2", "license": "AGPL-3.0-only", "type": "module", "description": "Shared deterministic engine logic for the LoopOver review stack and loopover-miner.", diff --git a/packages/loopover-mcp/CHANGELOG.md b/packages/loopover-mcp/CHANGELOG.md index 1047ff4f68..7197f6f9c7 100644 --- a/packages/loopover-mcp/CHANGELOG.md +++ b/packages/loopover-mcp/CHANGELOG.md @@ -5,6 +5,43 @@ ### Fixes - Blunt slop-risk / issue-slop REST + CLI to match the MCP tools (#6990) (#7052) +## [3.15.2](https://github.com/JSONbored/loopover/compare/mcp-v3.14.1...mcp-v3.15.2) (2026-07-27) + + +### Features + +* **mcp:** add loopover-mcp agent start CLI subcommand ([#8443](https://github.com/JSONbored/loopover/issues/8443)) ([c2190cd](https://github.com/JSONbored/loopover/commit/c2190cdd55e940d1184498d96818e7de4e52fb34)) +* **mcp:** add remote + stdio + CLI surfaces for the selftune override audit ([#7997](https://github.com/JSONbored/loopover/issues/7997)) ([050f8cb](https://github.com/JSONbored/loopover/commit/050f8cb3ae7df3850147375b288e4b9762929c21)) +* **mcp:** register loopover_check_improvement_potential stdio tool ([#7963](https://github.com/JSONbored/loopover/issues/7963)) ([a4c15d6](https://github.com/JSONbored/loopover/commit/a4c15d6484a778d9bc86c0fee92f2e5f4fbb09b1)) +* **mcp:** register loopover_generate_contributor_issue_drafts as a local stdio tool ([#7989](https://github.com/JSONbored/loopover/issues/7989)) ([6a55b8d](https://github.com/JSONbored/loopover/commit/6a55b8d324a24279a42b8adde3314a45ce2a4d88)) +* **mcp:** register loopover_get_agent_audit_feed as a local stdio tool ([#7971](https://github.com/JSONbored/loopover/issues/7971)) ([84a7878](https://github.com/JSONbored/loopover/commit/84a7878c67e1c79dbec92a702617a65e54b6f6c9)) +* **mcp:** register loopover_get_automation_state as a local stdio tool ([#7966](https://github.com/JSONbored/loopover/issues/7966)) ([ca738de](https://github.com/JSONbored/loopover/commit/ca738dec7ce840cc9b1ae03a61c0067c58bcb450)) +* **mcp:** register loopover_get_contributor_profile as a local stdio tool ([#7760](https://github.com/JSONbored/loopover/issues/7760)) ([#7958](https://github.com/JSONbored/loopover/issues/7958)) ([3790ecd](https://github.com/JSONbored/loopover/commit/3790ecde79469af12309183ae22b04656e27d3c5)) +* **mcp:** register loopover_get_repo_onboarding_pack as a local ([#7977](https://github.com/JSONbored/loopover/issues/7977)) ([b9aa25f](https://github.com/JSONbored/loopover/commit/b9aa25f60d2cc63ba889dd2ef1ea619e1cb1ec81)) +* **mcp:** register loopover_list_notifications as a local stdio tool ([#7761](https://github.com/JSONbored/loopover/issues/7761)) ([#7965](https://github.com/JSONbored/loopover/issues/7965)) ([8c2950c](https://github.com/JSONbored/loopover/commit/8c2950c3f063785d6896030cc4dcf3d08697801c)) +* **mcp:** register loopover_mark_notifications_read as a local stdio tool ([#7950](https://github.com/JSONbored/loopover/issues/7950)) ([fa3581d](https://github.com/JSONbored/loopover/commit/fa3581dec91dddb9b6c94f5814a8ef354cd2b92e)), closes [#7762](https://github.com/JSONbored/loopover/issues/7762) +* **mcp:** register loopover_propose_action as a local stdio tool ([#7991](https://github.com/JSONbored/loopover/issues/7991)) ([7c1a21e](https://github.com/JSONbored/loopover/commit/7c1a21effb2e5725ec4d4ecdec41d42f990162f4)) +* **mcp:** register loopover_refresh_repo_docs as a local stdio tool ([#7974](https://github.com/JSONbored/loopover/issues/7974)) ([4dccaa6](https://github.com/JSONbored/loopover/commit/4dccaa6dde04064ea0a87583380ea6ef3de4fd92)), closes [#7754](https://github.com/JSONbored/loopover/issues/7754) +* **mcp:** register loopover_watch_issues as a local stdio tool ([#7961](https://github.com/JSONbored/loopover/issues/7961)) ([43099df](https://github.com/JSONbored/loopover/commit/43099df099a044db30d402601c7ffa84f72a55f5)), closes [#7763](https://github.com/JSONbored/loopover/issues/7763) + + +### Fixes + +* **build:** migrate loopover-miner/loopover-mcp to out-of-place dist/ emit ([#8590](https://github.com/JSONbored/loopover/issues/8590)) ([c896797](https://github.com/JSONbored/loopover/commit/c89679761d8392f267fd19b458574e0b6a9e49fa)) +* **deps:** resolve postcss + tar audit findings via overrides ([#8612](https://github.com/JSONbored/loopover/issues/8612)) ([bca96ff](https://github.com/JSONbored/loopover/commit/bca96ff0a2a5e930f1da592549d3f773c8e2b1da)) +* **mcp:** await PostHog flush via unit-tested stdio wrapper ([#8738](https://github.com/JSONbored/loopover/issues/8738)) ([7ee07cc](https://github.com/JSONbored/loopover/commit/7ee07cc7bf3a4f42ba82ab0ff9e5bad253c3ad03)), closes [#8690](https://github.com/JSONbored/loopover/issues/8690) +* **mcp:** correct loopover_check_issue_slop description and drop the dead issue-slop rubric ([#8959](https://github.com/JSONbored/loopover/issues/8959)) ([fcecf0c](https://github.com/JSONbored/loopover/commit/fcecf0c8f18e06041ff72f2b8b1eea47367f25c3)), closes [#8907](https://github.com/JSONbored/loopover/issues/8907) +* **mcp:** exit the CLI cleanly on a broken-pipe stdout/stderr error ([#8731](https://github.com/JSONbored/loopover/issues/8731)) ([2fc27bc](https://github.com/JSONbored/loopover/commit/2fc27bc053613860cb2db8e7bb0c12e2d22721b7)), closes [#8691](https://github.com/JSONbored/loopover/issues/8691) +* **mcp:** print usage help for bare loopover-mcp invocation instead of starting stdio server ([#8486](https://github.com/JSONbored/loopover/issues/8486)) ([c096106](https://github.com/JSONbored/loopover/commit/c096106120ea7e1106db0f9a9cf7893fe84b8930)), closes [#8313](https://github.com/JSONbored/loopover/issues/8313) +* **mcp:** stop --json=false and --exit-code=false enabling the flag they disable ([#8725](https://github.com/JSONbored/loopover/issues/8725)) ([60f9f8f](https://github.com/JSONbored/loopover/commit/60f9f8f5decffe71eb7208918ebc154c86ee79e4)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @loopover/engine bumped from ^3.14.1 to ^3.15.2 + ## [3.14.1](https://github.com/JSONbored/loopover/compare/mcp-v3.14.0...mcp-v3.14.1) (2026-07-25) diff --git a/packages/loopover-mcp/package.json b/packages/loopover-mcp/package.json index d9a7614ff5..1ed5bd7f32 100644 --- a/packages/loopover-mcp/package.json +++ b/packages/loopover-mcp/package.json @@ -1,6 +1,6 @@ { "name": "@loopover/mcp", - "version": "3.14.1", + "version": "3.15.2", "license": "AGPL-3.0-only", "type": "module", "description": "Local stdio MCP wrapper for the LoopOver Gittensor base-agent.", @@ -45,7 +45,7 @@ "build:verify": "node scripts/check-syntax.mjs" }, "dependencies": { - "@loopover/engine": "^3.14.1", + "@loopover/engine": "^3.15.2", "@modelcontextprotocol/sdk": "1.29.0", "posthog-node": "^5.44.0", "zod": "^4.4.3" diff --git a/packages/loopover-miner/CHANGELOG.md b/packages/loopover-miner/CHANGELOG.md index 7d003a84db..6ff6405c15 100644 --- a/packages/loopover-miner/CHANGELOG.md +++ b/packages/loopover-miner/CHANGELOG.md @@ -1,5 +1,43 @@ # Changelog +## [3.15.2](https://github.com/JSONbored/loopover/compare/miner-v3.14.1...miner-v3.15.2) (2026-07-27) + + +### Features + +* **miner:** run the target repo's own test/lint/build commands before opening a PR ([#8819](https://github.com/JSONbored/loopover/issues/8819)) ([e10abf2](https://github.com/JSONbored/loopover/commit/e10abf2f048b3c9c47ff40b4044acceea80efde1)) +* **miner:** wire deny-hook synthesis to a live consumer and give it an operator CLI ([#8806](https://github.com/JSONbored/loopover/issues/8806)) ([#8817](https://github.com/JSONbored/loopover/issues/8817)) ([33bacda](https://github.com/JSONbored/loopover/commit/33bacdab9dacc56a11dd26fabd1481fd9d99af36)) +* **orb:** salvageability axis — hold fixable, well-authored PRs instead of one-shot-closing ([#8986](https://github.com/JSONbored/loopover/issues/8986)) ([7fd84ff](https://github.com/JSONbored/loopover/commit/7fd84ffa37fc940d83c52eb265d5c4b8e6b8798a)) +* **selfhost:** PostHog AI observability across ORB and AMS ([#8623](https://github.com/JSONbored/loopover/issues/8623)) ([a9d9c0e](https://github.com/JSONbored/loopover/commit/a9d9c0e29e5a7ca480192ec21b5e1e72c7e33bb8)) + + +### Fixes + +* **engine:** treat an Infinity WIP cap as uncapped, not collapsed to 0 ([#8945](https://github.com/JSONbored/loopover/issues/8945)) ([6aaea39](https://github.com/JSONbored/loopover/commit/6aaea393908631dbd0639d6d182c35c209ce6d40)) +* **miner:** AmsPolicySpec parse warnings are computed but never surfaced to the operator ([#8978](https://github.com/JSONbored/loopover/issues/8978)) ([3369ebc](https://github.com/JSONbored/loopover/commit/3369ebc0d11ab28fd90e4668e5999b61ca8cc864)), closes [#8853](https://github.com/JSONbored/loopover/issues/8853) +* **miner:** compare-and-set the orphan reclaim so a stale probe cannot free a live re-acquired slot ([#8992](https://github.com/JSONbored/loopover/issues/8992)) ([8444812](https://github.com/JSONbored/loopover/commit/8444812e52f909aca383ee8785d891bc3364aeab)) +* **miner:** delete the orphaned portfolio chat-action duplicate ([#8662](https://github.com/JSONbored/loopover/issues/8662)) ([1cc2146](https://github.com/JSONbored/loopover/commit/1cc2146da4cc4232935c6274da5f85716d10b6fa)) +* **miner:** drop stale ProcessEnv casts on resolveReplaySnapshotDbPath ([#8768](https://github.com/JSONbored/loopover/issues/8768)) ([7b2104d](https://github.com/JSONbored/loopover/commit/7b2104df7caf64f30954c8d39e043c57cd8b53f4)), closes [#8642](https://github.com/JSONbored/loopover/issues/8642) +* **miner:** fail acquire() on an attempt_id/repo mismatch ([#8964](https://github.com/JSONbored/loopover/issues/8964)) ([266b07d](https://github.com/JSONbored/loopover/commit/266b07d1a408d4af656ae16fabce2c6e6aabfb69)) +* **miner:** fall back to global config.apiUrl in loopoverApiUrl ([#8937](https://github.com/JSONbored/loopover/issues/8937)) ([4dfe15d](https://github.com/JSONbored/loopover/commit/4dfe15d12e2b433e75cc75a909422bd21d708776)) +* **miner:** governor reputation-history read-modify-write is unguarded, unlike sibling scalar-state writes ([#8988](https://github.com/JSONbored/loopover/issues/8988)) ([62e6d25](https://github.com/JSONbored/loopover/commit/62e6d2541a9f6f38ed9ed952788db3b928b81e26)), closes [#8855](https://github.com/JSONbored/loopover/issues/8855) +* **miner:** governor-chokepoint-persisted's load-evaluate-save cycle isn't atomic ([#8993](https://github.com/JSONbored/loopover/issues/8993)) ([49a27c2](https://github.com/JSONbored/loopover/commit/49a27c2fb217ef75de329cafe8ab13ef3a11740e)), closes [#8856](https://github.com/JSONbored/loopover/issues/8856) +* **miner:** include laptop-state in doctor integrity and migrate store lists ([#8749](https://github.com/JSONbored/loopover/issues/8749)) ([713145f](https://github.com/JSONbored/loopover/commit/713145f467105685d3fd07042cb1fa5bbf570913)), closes [#8641](https://github.com/JSONbored/loopover/issues/8641) +* **miner:** printHelp() omits the working `deny-hooks` subcommand ([#8933](https://github.com/JSONbored/loopover/issues/8933)) ([1eeaae1](https://github.com/JSONbored/loopover/commit/1eeaae18c16d36e7e4805a887440006688f18377)), closes [#8851](https://github.com/JSONbored/loopover/issues/8851) +* **miner:** reclaim orphaned worktree allocations on every acquire() ([#8918](https://github.com/JSONbored/loopover/issues/8918)) ([eab6ecf](https://github.com/JSONbored/loopover/commit/eab6ecf8e9eaa6d36f06f4c7bfbc78c64633a349)) +* **miner:** refuse a duplicate attempt when this miner already has an open PR for the exact issue ([#8808](https://github.com/JSONbored/loopover/issues/8808)) ([#8815](https://github.com/JSONbored/loopover/issues/8815)) ([d5ec15a](https://github.com/JSONbored/loopover/commit/d5ec15a4465c4e268682532e245a0cbb45f91ff5)) +* **miner:** reject a portfolio-queue identifier containing the '::' composite-id separator ([#8925](https://github.com/JSONbored/loopover/issues/8925)) ([32ee72e](https://github.com/JSONbored/loopover/commit/32ee72e560117300a242993403a92af4219f2df3)) +* **miner:** self-review-context never supplies recent-merged-PR history, contradicting its own "same fidelity" claim ([#8969](https://github.com/JSONbored/loopover/issues/8969)) ([987f7ce](https://github.com/JSONbored/loopover/commit/987f7ce7f5c5c0810e4d56c2e0279783fe021c55)), closes [#8852](https://github.com/JSONbored/loopover/issues/8852) +* **miner:** wire AMS policy resolver to the documented discovery order ([#9106](https://github.com/JSONbored/loopover/issues/9106)) ([f2f32cc](https://github.com/JSONbored/loopover/commit/f2f32cc7634dfda63af5bb2e9a8baf792ff153a5)), closes [#8863](https://github.com/JSONbored/loopover/issues/8863) +* **review:** auto-clear stale manual-review lock-contention hold; sync engine gate-decision twin ([#9107](https://github.com/JSONbored/loopover/issues/9107)) ([6aacf08](https://github.com/JSONbored/loopover/commit/6aacf087b6fe487b9dd3131f7957d54041baa933)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @loopover/engine bumped from ^3.14.1 to ^3.15.2 + ## [3.14.1](https://github.com/JSONbored/loopover/compare/miner-v3.14.0...miner-v3.14.1) (2026-07-25) diff --git a/packages/loopover-miner/package.json b/packages/loopover-miner/package.json index b3f5344718..7660fef627 100644 --- a/packages/loopover-miner/package.json +++ b/packages/loopover-miner/package.json @@ -1,6 +1,6 @@ { "name": "@loopover/miner", - "version": "3.14.1", + "version": "3.15.2", "license": "AGPL-3.0-only", "type": "module", "description": "Foundation CLI for the local LoopOver miner runtime.", @@ -47,7 +47,7 @@ "build:verify": "node scripts/check-syntax.mjs" }, "dependencies": { - "@loopover/engine": "^3.14.1", + "@loopover/engine": "^3.15.2", "@modelcontextprotocol/sdk": "1.29.0", "@sentry/node": "^10.63.0", "zod": "^4.4.3" From 5d37ab811191d738e5e7b92a655953c0cfbc392b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 06:42:25 +0000 Subject: [PATCH 2/2] chore(release): sync miner engine-version pin --- packages/loopover-miner/expected-engine.version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/loopover-miner/expected-engine.version b/packages/loopover-miner/expected-engine.version index c3df54c9b8..861845e450 100644 --- a/packages/loopover-miner/expected-engine.version +++ b/packages/loopover-miner/expected-engine.version @@ -1 +1 @@ -3.15.1 +3.15.2