Skip to content

chore(release): cut engine v3.2.1 - #7119

Closed
JSONbored wants to merge 3 commits into
mainfrom
release-please--branches--main--components--engine
Closed

chore(release): cut engine v3.2.1#7119
JSONbored wants to merge 3 commits into
mainfrom
release-please--branches--main--components--engine

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

🤖 I have created a release beep boop

3.2.1 (2026-07-17)

Fixes

  • config: recognize federatedIntelligence manifest block in lint and preview (95ba59a)
  • config: recognize federatedIntelligence manifest block in lint and preview (1c80fb8)

This PR was generated with Release Please. See documentation.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
🔵 In progress
View logs
loopover-ui 804e9fd Jul 17 2026, 10:05 PM

@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@JSONbored

Copy link
Copy Markdown
Owner Author

Superseded -- node-workspace's own merge:true (#7114) wasn't sufficient on its own; separate-pull-requests also needs to be false for release-please's cross-component Merge plugin to actually combine these. Closing to verify the follow-up fix.

@JSONbored JSONbored closed this Jul 17, 2026
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 17, 2026
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Bundle Report

Bundle size has no change ✅

Affected Assets, Files, and Routes:

view changes for bundle: loopover-ui

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/add-scalar-classes-A1KrqqYf.js (New) 2.17MB 2.17MB 100.0% 🚀
assets/tanstack-vendor-CNQacYI9.js (New) 804.04kB 804.04kB 100.0% 🚀
assets/docs.fumadocs-spike-api-reference-CQi69oP_.js (New) 442.94kB 442.94kB 100.0% 🚀
assets/AgentScalarChatInterface.vue-BSX1Eqt8.js (New) 201.71kB 201.71kB 100.0% 🚀
assets/modal-CP9Lj8WN.js (New) 184.28kB 184.28kB 100.0% 🚀
assets/client-B_UBfBbM.js (New) 146.06kB 146.06kB 100.0% 🚀
assets/maintainer-panel-D8Be68tk.js (New) 76.45kB 76.45kB 100.0% 🚀
assets/ui-vendor-BGfSJS_P.js (New) 57.05kB 57.05kB 100.0% 🚀
assets/routes-BgD3QW6Z.js (New) 34.29kB 34.29kB 100.0% 🚀
assets/owner-panel-DpctbRAR.js (New) 26.89kB 26.89kB 100.0% 🚀
assets/app-VDKpx-B-.js (New) 25.65kB 25.65kB 100.0% 🚀
assets/app.runs-D6kOiRbk.js (New) 23.55kB 23.55kB 100.0% 🚀
assets/miner-panel-DebHkALQ.js (New) 20.25kB 20.25kB 100.0% 🚀
assets/docs-source-D9dCa5Hy.js (New) 19.3kB 19.3kB 100.0% 🚀
assets/api._op-ddMVVkLB.js (New) 17.82kB 17.82kB 100.0% 🚀
assets/self-hosting-docs-audit-DburdoFY.js (New) 16.73kB 16.73kB 100.0% 🚀
assets/app.index-y1zMp9z0.js (New) 15.62kB 15.62kB 100.0% 🚀
assets/playground-panel-D6Pbkzne.js (New) 14.35kB 14.35kB 100.0% 🚀
assets/extension-heqcjPkL.js (New) 10.04kB 10.04kB 100.0% 🚀
assets/app.config-generator-Rfei5pvo.js (New) 9.86kB 9.86kB 100.0% 🚀
assets/app.audit-BsBGGIpZ.js (New) 9.54kB 9.54kB 100.0% 🚀
assets/maintainers-Cu5Cf2zy.js (New) 8.06kB 8.06kB 100.0% 🚀
assets/miners-4h-a9kOI.js (New) 7.89kB 7.89kB 100.0% 🚀
assets/agents-B_PJ6iMl.js (New) 7.76kB 7.76kB 100.0% 🚀
assets/commands-panel-Bi88NaRg.js (New) 6.63kB 6.63kB 100.0% 🚀
assets/roadmap-BCvuYqZ4.js (New) 6.33kB 6.33kB 100.0% 🚀
assets/repos._owner._repo.quality-RvThq980.js (New) 6.14kB 6.14kB 100.0% 🚀
assets/digest-panel-D8XPVgfR.js (New) 6.14kB 6.14kB 100.0% 🚀
assets/docs.index-N6h_rIxP.js (New) 5.42kB 5.42kB 100.0% 🚀
assets/api.index-C6qviEEx.js (New) 4.74kB 4.74kB 100.0% 🚀
assets/api-BLg22Tgf.js (New) 2.69kB 2.69kB 100.0% 🚀
assets/docs-CFqALPcj.js (New) 2.67kB 2.67kB 100.0% 🚀
assets/app.workbench-BxduLUqc.js (New) 1.58kB 1.58kB 100.0% 🚀
assets/tooltip-9imuZbUK.js (New) 1.45kB 1.45kB 100.0% 🚀
assets/session-BGUN1vef.js (New) 1.44kB 1.44kB 100.0% 🚀
assets/tabs-DrQGutW-.js (New) 1.39kB 1.39kB 100.0% 🚀
assets/app.repos-B9e4pZTj.js (New) 1.07kB 1.07kB 100.0% 🚀
assets/input-DDw4oCoE.js (New) 796 bytes 796 bytes 100.0% 🚀
assets/file-cog-BHwhEyq-.js (New) 758 bytes 758 bytes 100.0% 🚀
assets/docs.ai-summaries-B7LZUJsV.js (New) 569 bytes 569 bytes 100.0% 🚀
assets/docs.branch-analysis-X5cNXOI4.js (New) 562 bytes 562 bytes 100.0% 🚀
assets/docs.scoreability-QAjGjvv2.js (New) 562 bytes 562 bytes 100.0% 🚀
assets/docs.upstream-drift-cPiJzDd7.js (New) 562 bytes 562 bytes 100.0% 🚀
assets/docs.federated-fleet-intelligence-BVFgGoD_.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.maintainer-install-trust-DU3KSN67.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-ai-providers-BgOsmL7G.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-backup-scaling-DMtmHecj.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-configuration-DH7FR9Yb.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-docs-audit-BjWFrcW5.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-github-app-D_sSYn77.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-quickstart-rcyx0fL6.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-rag-CdhPyo9-.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-rees-BkLvU99s.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-rees-analyzers-DfKCW8zY.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-release-checklist-DIoZIwxg.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-releases-BJA5X9bt.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-security-DOM1VqKR.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-troubleshooting-g2-TQ1Ab.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.self-hosting-unified-ams-orb-DnzF4mu-.js (New) 561 bytes 561 bytes 100.0% 🚀
assets/docs.ams-config-precedence-W73vUVO-.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.ams-deployment-BTEjwrzQ.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.ams-discovery-plane-B7M6rmQF.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.ams-env-reference-B6hOZMtd.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.ams-fleet-manifest-KkylZSBX.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.ams-goal-spec-vuJqzjCU.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.ams-observability-DJJ3GWT4.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.ams-operations-runbook-TTalPdpL.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.ams-sizing-7IUSF6M5.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.ams-unattended-scheduling-CRQEbfKX.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.beta-onboarding-DiqDR8_K.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.maintainer-self-hosting-CNfqxGaC.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.mcp-clients-BXN_WBfs.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.owner-checklist-Dnn66o4I.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.quickstart-D8-Alkbn.js (New) 560 bytes 560 bytes 100.0% 🚀
assets/docs.github-app-BKefc_k5.js (New) 558 bytes 558 bytes 100.0% 🚀
assets/docs.maintainer-workflow-Bqh-M3md.js (New) 558 bytes 558 bytes 100.0% 🚀
assets/docs.privacy-security-cf7pTWib.js (New) 558 bytes 558 bytes 100.0% 🚀
assets/docs.troubleshooting-PHor2eo9.js (New) 558 bytes 558 bytes 100.0% 🚀
assets/docs.tuning-CRir1dmS.js (New) 558 bytes 558 bytes 100.0% 🚀
assets/docs.loopover-commands-CQ9lDf3p.js (New) 557 bytes 557 bytes 100.0% 🚀
assets/docs.how-reviews-work-Sr6d3cjn.js (New) 556 bytes 556 bytes 100.0% 🚀
assets/app.maintainer-C-S-0KKu.js (New) 502 bytes 502 bytes 100.0% 🚀
assets/sparkles-CcPPPdCK.js (New) 494 bytes 494 bytes 100.0% 🚀
assets/app.owner-BfZqXnhd.js (New) 474 bytes 474 bytes 100.0% 🚀
assets/app.commands-NGQcUlnw.js (New) 455 bytes 455 bytes 100.0% 🚀
assets/app.playground-CR-euHVs.js (New) 442 bytes 442 bytes 100.0% 🚀
assets/reveal-BqlwNrAw.js (New) 442 bytes 442 bytes 100.0% 🚀
assets/index-Wd94PNnG.js (New) 438 bytes 438 bytes 100.0% 🚀
assets/app.digest-Bd1s1lr6.js (New) 430 bytes 430 bytes 100.0% 🚀
assets/eye-off-DUk1vVq3.js (New) 430 bytes 430 bytes 100.0% 🚀
assets/app.miner-BigWzxN4.js (New) 422 bytes 422 bytes 100.0% 🚀
assets/key-round-BBJV26Tp.js (New) 355 bytes 355 bytes 100.0% 🚀
assets/bot-DnM-PexO.js (New) 328 bytes 328 bytes 100.0% 🚀
assets/trash-2-8KtDgSIs.js (New) 328 bytes 328 bytes 100.0% 🚀
assets/save-B3P4wpqN.js (New) 327 bytes 327 bytes 100.0% 🚀
assets/git-pull-request-arrow-WYV_MHBE.js (New) 321 bytes 321 bytes 100.0% 🚀
assets/shield-check-DlOLUEns.js (New) 320 bytes 320 bytes 100.0% 🚀
assets/wrench-DhhnXb5K.js (New) 303 bytes 303 bytes 100.0% 🚀
assets/list-checks-DAOoJjOF.js (New) 279 bytes 279 bytes 100.0% 🚀
assets/shield-DsKfZDT2.js (New) 272 bytes 272 bytes 100.0% 🚀
assets/workflow-CEcWS6JH.js (New) 265 bytes 265 bytes 100.0% 🚀
assets/compass-s0ux1LzD.js (New) 251 bytes 251 bytes 100.0% 🚀
assets/history-DitZVgqa.js (New) 237 bytes 237 bytes 100.0% 🚀
assets/activity-B6OSl9_H.js (New) 234 bytes 234 bytes 100.0% 🚀
assets/message-square-SgQ3msfA.js (New) 233 bytes 233 bytes 100.0% 🚀
assets/lock-ISPFK0hm.js (New) 206 bytes 206 bytes 100.0% 🚀
assets/rotate-cw-DWBNWlbY.js (New) 201 bytes 201 bytes 100.0% 🚀
assets/play-DBXDwNf2.js (New) 190 bytes 190 bytes 100.0% 🚀
assets/circle-check-CAJ7K812.js (New) 178 bytes 178 bytes 100.0% 🚀
assets/search-iBFBQpjM.js (New) 174 bytes 174 bytes 100.0% 🚀
assets/self-hosting-docs-audit-DzuYx4zq.js (New) 141 bytes 141 bytes 100.0% 🚀
assets/circle-C1FqSWfh.js (New) 130 bytes 130 bytes 100.0% 🚀
assets/modal-DIuKYTO3.js (New) 115 bytes 115 bytes 100.0% 🚀
assets/add-scalar-classes-Bdf40fno.js (Deleted) -2.17MB 0 bytes -100.0% 🗑️
assets/tanstack-vendor-BB0xM_5Z.js (Deleted) -804.04kB 0 bytes -100.0% 🗑️
assets/docs.fumadocs-spike-api-reference-CgYlqMWG.js (Deleted) -442.94kB 0 bytes -100.0% 🗑️
assets/AgentScalarChatInterface.vue-B4dIAGC3.js (Deleted) -201.71kB 0 bytes -100.0% 🗑️
assets/modal-DeFNL96s.js (Deleted) -184.28kB 0 bytes -100.0% 🗑️
assets/client-DiPXfC5N.js (Deleted) -146.06kB 0 bytes -100.0% 🗑️
assets/maintainer-panel-Cd9qGtA2.js (Deleted) -76.45kB 0 bytes -100.0% 🗑️
assets/ui-vendor-XWVpMGdQ.js (Deleted) -57.05kB 0 bytes -100.0% 🗑️
assets/routes-B3YpaB2n.js (Deleted) -34.29kB 0 bytes -100.0% 🗑️
assets/owner-panel-BxjRRgVc.js (Deleted) -26.89kB 0 bytes -100.0% 🗑️
assets/app-Cd9rf0wL.js (Deleted) -25.65kB 0 bytes -100.0% 🗑️
assets/app.runs-BITnDoOT.js (Deleted) -23.55kB 0 bytes -100.0% 🗑️
assets/miner-panel-CkJRHzvX.js (Deleted) -20.25kB 0 bytes -100.0% 🗑️
assets/docs-source-BaUQO17H.js (Deleted) -19.3kB 0 bytes -100.0% 🗑️
assets/api._op-B_JSfL3h.js (Deleted) -17.82kB 0 bytes -100.0% 🗑️
assets/self-hosting-docs-audit-D_6Dp1QM.js (Deleted) -16.73kB 0 bytes -100.0% 🗑️
assets/app.index-D0knBw8S.js (Deleted) -15.62kB 0 bytes -100.0% 🗑️
assets/playground-panel-DILtIrmA.js (Deleted) -14.35kB 0 bytes -100.0% 🗑️
assets/extension-COimtfdW.js (Deleted) -10.04kB 0 bytes -100.0% 🗑️
assets/app.config-generator-CavnC-k6.js (Deleted) -9.86kB 0 bytes -100.0% 🗑️
assets/app.audit-4lT6roJW.js (Deleted) -9.54kB 0 bytes -100.0% 🗑️
assets/maintainers-BIN3mv8m.js (Deleted) -8.06kB 0 bytes -100.0% 🗑️
assets/miners-Crp3yHoF.js (Deleted) -7.89kB 0 bytes -100.0% 🗑️
assets/agents-B7Dm9SJT.js (Deleted) -7.76kB 0 bytes -100.0% 🗑️
assets/commands-panel-C5T0L315.js (Deleted) -6.63kB 0 bytes -100.0% 🗑️
assets/roadmap-CcEgwUFc.js (Deleted) -6.33kB 0 bytes -100.0% 🗑️
assets/repos._owner._repo.quality-Dyb08luG.js (Deleted) -6.14kB 0 bytes -100.0% 🗑️
assets/digest-panel-E47uGOz4.js (Deleted) -6.14kB 0 bytes -100.0% 🗑️
assets/docs.index-BlAu1tbL.js (Deleted) -5.42kB 0 bytes -100.0% 🗑️
assets/api.index-z80nVIiJ.js (Deleted) -4.74kB 0 bytes -100.0% 🗑️
assets/api-DXCDZmC-.js (Deleted) -2.69kB 0 bytes -100.0% 🗑️
assets/docs-5AQTP9I-.js (Deleted) -2.67kB 0 bytes -100.0% 🗑️
assets/app.workbench-AaI04Z5V.js (Deleted) -1.58kB 0 bytes -100.0% 🗑️
assets/tooltip-C-Td0OH2.js (Deleted) -1.45kB 0 bytes -100.0% 🗑️
assets/session-KNU4dmAH.js (Deleted) -1.44kB 0 bytes -100.0% 🗑️
assets/tabs-DAFpI8SI.js (Deleted) -1.39kB 0 bytes -100.0% 🗑️
assets/app.repos-C7MDhRn2.js (Deleted) -1.07kB 0 bytes -100.0% 🗑️
assets/input-DjrPQgeU.js (Deleted) -796 bytes 0 bytes -100.0% 🗑️
assets/file-cog-CdjHZ9Lq.js (Deleted) -758 bytes 0 bytes -100.0% 🗑️
assets/docs.ai-summaries-BcaCyCx6.js (Deleted) -569 bytes 0 bytes -100.0% 🗑️
assets/docs.branch-analysis-DeRrCJ_y.js (Deleted) -562 bytes 0 bytes -100.0% 🗑️
assets/docs.scoreability-BGNPCt3w.js (Deleted) -562 bytes 0 bytes -100.0% 🗑️
assets/docs.upstream-drift-Cp2BMU19.js (Deleted) -562 bytes 0 bytes -100.0% 🗑️
assets/docs.federated-fleet-intelligence-DbI9MZfk.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.maintainer-install-trust-B612LwAm.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-ai-providers-DGn5Ipr1.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-backup-scaling-Bst9MUsJ.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-configuration-jcNaxicQ.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-docs-audit-CtKC8-1_.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-github-app-Cef3SWTB.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-quickstart-B6colDaT.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-rag-tneXrO-C.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-rees-analyzers-DQWF3TaF.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-rees-rgMSz9z0.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-release-checklist-i-n4PsYs.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-releases-D72nhaIO.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-security-BEJPOV53.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-troubleshooting-CMYpopig.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.self-hosting-unified-ams-orb-Ck71R2il.js (Deleted) -561 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-config-precedence-7zXtFkXI.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-deployment-KNxOlPCS.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-discovery-plane-B-qWKYJw.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-env-reference-DBmfpVkQ.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-fleet-manifest-POBRuGRP.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-goal-spec-DnCmWK7q.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-observability-CxYEfdTh.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-operations-runbook-BjVOyntb.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-sizing-DUxGUWCF.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.ams-unattended-scheduling-Ba0tz7PD.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.beta-onboarding-D5DC1rkQ.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.maintainer-self-hosting-BmNhUiAY.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.mcp-clients-BikAftM-.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.owner-checklist-BpLuNRRp.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.quickstart-GKDr_38B.js (Deleted) -560 bytes 0 bytes -100.0% 🗑️
assets/docs.github-app-CBMtKF0C.js (Deleted) -558 bytes 0 bytes -100.0% 🗑️
assets/docs.maintainer-workflow-D5rqD4hb.js (Deleted) -558 bytes 0 bytes -100.0% 🗑️
assets/docs.privacy-security-Dc0wUPmK.js (Deleted) -558 bytes 0 bytes -100.0% 🗑️
assets/docs.troubleshooting-CcsiWTXm.js (Deleted) -558 bytes 0 bytes -100.0% 🗑️
assets/docs.tuning-rFyAWCHe.js (Deleted) -558 bytes 0 bytes -100.0% 🗑️
assets/docs.loopover-commands-DjU-1yQ7.js (Deleted) -557 bytes 0 bytes -100.0% 🗑️
assets/docs.how-reviews-work-S5TOA00p.js (Deleted) -556 bytes 0 bytes -100.0% 🗑️
assets/app.maintainer-BlkySeTm.js (Deleted) -502 bytes 0 bytes -100.0% 🗑️
assets/sparkles-B7MqW5YW.js (Deleted) -494 bytes 0 bytes -100.0% 🗑️
assets/app.owner-UY_mTLdW.js (Deleted) -474 bytes 0 bytes -100.0% 🗑️
assets/app.commands-Yyh29cEf.js (Deleted) -455 bytes 0 bytes -100.0% 🗑️
assets/app.playground-D7r8_xSe.js (Deleted) -442 bytes 0 bytes -100.0% 🗑️
assets/reveal-Dv37GvK3.js (Deleted) -442 bytes 0 bytes -100.0% 🗑️
assets/index-Cj91IJ6h.js (Deleted) -438 bytes 0 bytes -100.0% 🗑️
assets/app.digest-L-rUC6Pe.js (Deleted) -430 bytes 0 bytes -100.0% 🗑️
assets/eye-off-CDfXt7Cv.js (Deleted) -430 bytes 0 bytes -100.0% 🗑️
assets/app.miner--d7nzaYc.js (Deleted) -422 bytes 0 bytes -100.0% 🗑️
assets/key-round-CPPC1MWP.js (Deleted) -355 bytes 0 bytes -100.0% 🗑️
assets/bot-N4_8m37-.js (Deleted) -328 bytes 0 bytes -100.0% 🗑️
assets/trash-2-BMoYBwZM.js (Deleted) -328 bytes 0 bytes -100.0% 🗑️
assets/save-Dm1BPlrp.js (Deleted) -327 bytes 0 bytes -100.0% 🗑️
assets/git-pull-request-arrow-CKMuwG8p.js (Deleted) -321 bytes 0 bytes -100.0% 🗑️
assets/shield-check-DBii1V6H.js (Deleted) -320 bytes 0 bytes -100.0% 🗑️
assets/wrench-BhfHVimw.js (Deleted) -303 bytes 0 bytes -100.0% 🗑️
assets/list-checks-DkqCD2a-.js (Deleted) -279 bytes 0 bytes -100.0% 🗑️
assets/shield-CiPmMAUM.js (Deleted) -272 bytes 0 bytes -100.0% 🗑️
assets/workflow-BnZtgcT1.js (Deleted) -265 bytes 0 bytes -100.0% 🗑️
assets/compass-B9ZTpxZK.js (Deleted) -251 bytes 0 bytes -100.0% 🗑️
assets/history-CN4sSWxv.js (Deleted) -237 bytes 0 bytes -100.0% 🗑️
assets/activity-B4N0JqLj.js (Deleted) -234 bytes 0 bytes -100.0% 🗑️
assets/message-square-BJBOV3CW.js (Deleted) -233 bytes 0 bytes -100.0% 🗑️
assets/lock-4QfnOhXR.js (Deleted) -206 bytes 0 bytes -100.0% 🗑️
assets/rotate-cw-CzB3AAbV.js (Deleted) -201 bytes 0 bytes -100.0% 🗑️
assets/play-CiLO7f5R.js (Deleted) -190 bytes 0 bytes -100.0% 🗑️
assets/circle-check-Dzmq3Ld-.js (Deleted) -178 bytes 0 bytes -100.0% 🗑️
assets/search-DPgYsEDd.js (Deleted) -174 bytes 0 bytes -100.0% 🗑️
assets/self-hosting-docs-audit-BywE4kfM.js (Deleted) -141 bytes 0 bytes -100.0% 🗑️
assets/circle-Bqq9MpPC.js (Deleted) -130 bytes 0 bytes -100.0% 🗑️
assets/modal-pd6X9MV6.js (Deleted) -115 bytes 0 bytes -100.0% 🗑️

@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.98%. Comparing base (8e31375) to head (6b6cd0c).
⚠️ Report is 12 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7119      +/-   ##
==========================================
+ Coverage   93.75%   95.98%   +2.22%     
==========================================
  Files         692      609      -83     
  Lines       68809    48153   -20656     
  Branches    18781    15133    -3648     
==========================================
- Hits        64512    46218   -18294     
+ Misses       3302     1118    -2184     
+ Partials      995      817     -178     
Flag Coverage Δ
rees ?
shard-1 43.78% <ø> (-0.01%) ⬇️
shard-2 36.84% <ø> (+<0.01%) ⬆️
shard-3 33.14% <ø> (+<0.01%) ⬆️
shard-4 34.48% <ø> (+<0.01%) ⬆️
shard-5 32.29% <ø> (-0.01%) ⬇️
shard-6 45.84% <ø> (+0.08%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 83 files with indirect coverage changes

@JSONbored
JSONbored deleted the release-please--branches--main--components--engine branch July 17, 2026 22:45
galuis116 pushed a commit to galuis116/gittensory that referenced this pull request Jul 18, 2026
JSONbored#7114's node-workspace merge:true was insufficient -- verified against
release-please's own manifest.ts and docs/manifest-releaser.md that
separate-pull-requests: true is enforced as the final PR-splitting
decision regardless of what a plugin like node-workspace attempts
internally, so mcp/miner's Release PRs kept landing separately from
engine's even with that flag set (confirmed live: JSONbored#7119/JSONbored#7120/JSONbored#7121 still
required an unpublished @loopover/engine version each).

linked-versions is release-please's actual mechanism for overriding
per-component isolation for a named subset: {engine, mcp, miner} now
release as one PR/commit whenever any of them needs a release, since mcp
and miner both carry a real runtime dependency on engine. ui-kit has no
dependency edge to any of them and is not in the group, so it keeps its
fully independent cadence.
JSONbored added a commit that referenced this pull request Jul 29, 2026
…t's independent cadence

Review catch on #9753: contract was left out of the "engine-and-dependents"
linked-versions group on the reasoning that it should version independently
"like ui-kit". That reasoning was wrong, and this repo has already paid for the
bug it reintroduces.

mcp-release-please.yml's own header is explicit about what the group is for:
mcp/miner carry a REAL runtime `dependencies` entry, so node-workspace bumps
their range the moment the prerequisite's version changes -- and under
separate-pull-requests: true that bump lands on the dependent's OWN branch,
leaving its package.json requiring a version that exists nowhere (not locally,
since the prerequisite's bump is on a different unmerged branch; not on npm,
since it hasn't published). `npm ci` then fails ETARGET. That was confirmed
live across several release cycles (#7086/#7087/#7107/#7108/#7119/#7120/#7121),
and node-workspace's own `merge` option was already tried and does NOT override
separate-pull-requests.

ui-kit is outside the group because it has NO dependency edge to anything here
-- not because independent versioning is the default. contract has exactly the
edge engine has, so it belongs in the group for exactly the same reason.
Membership tracks the dependency edge, not release cadence; the header now says
so, since "publish it like ui-kit" is the trap that produced this.

The reconciliation ordering added in this PR stays: the group fixes the
release-PR stage (ranges and versions land in one commit), reconciliation fixes
the publish stage (registry propagation and dispatch ordering). Engine needs
both today and contract needs both for the same reasons.

Cost of the fix, stated plainly: contract joins the group's version train
rather than staying at 0.1.0, so its next release will not be 0.2.0. That is a
worse version story than independence and a better correctness story, and
0.1.0 is already published either way.
JSONbored added a commit that referenced this pull request Jul 29, 2026
…omation (#9753)

* ci(release): wire @loopover/contract into the release and publish automation

@loopover/contract is a runtime `dependencies` entry of both @loopover/mcp and
@loopover/miner, but it had no publish path — no publish workflow, and no entry
in release-please's config or manifest. It was the only workspace package shaped
for publishing (no `private: true`, `publishConfig.access: public`, a `files`
allowlist) with no automation behind it.

Left alone, the next mcp/miner release ships uninstallable: both are at 3.15.2
locally against 3.14.x on npm, so the pending publish already carries
`"@loopover/contract": "^0.1.0"` against a package that did not exist.
0.1.0 has now been bootstrap-published by hand (npm's OIDC trusted publishing
cannot create a brand-new package, the same bootstrap @loopover/engine needed),
and a Trusted Publisher is configured against publish-contract.yml — so renaming
that file breaks the connection and every publish with it.

publish-contract.yml mirrors publish-engine.yml/publish-ui-kit.yml: unprivileged
validate resolves the version, verifies the commit is on main, resolves the
release commit from the version string rather than tagging HEAD (#8525), builds,
packs, and smoke-tests; privileged publish tags and pushes the exact tested
tarball via OIDC behind environment `release`. No separate typecheck step —
this package's `build` IS `tsc -p tsconfig.json`.

The secret scan needed one deliberate change. Unlike its siblings, this package
SHIPS the redaction logic: dist/telemetry.js defines SECRET_VALUE_PATTERN, whose
source text contains a literal PEM `PRIVATE KEY` header (plus a doc comment
quoting a full one, describing the bug that alternative fixes). The siblings'
verbatim pattern is a guaranteed false positive on every release — verified
against the 0.1.0 tarball. Excluding that one module keeps the check meaningful
for the other 92 files, and a second, narrower scan still runs across everything
including the excluded module, so a real token-shaped leak there still fails.

mcp/miner depend on contract exactly as they depend on engine, so the
reconciliation job now treats both as prerequisites: contract and engine publish
first, and mcp/miner are skipped entirely if either fails, rather than resolving
a dependency version that exists nowhere and failing ETARGET.

Contract stays independently versioned (like ui-kit) rather than joining the
engine-and-dependents linked-versions group: it has only just shipped 0.1.0, and
renumbering it into the 3.x train before it has any consumers costs more than it
buys. Revisit at its next major.

Also adds the LICENSE file the package declares (AGPL-3.0-only) but never
shipped — engine, mcp and ui-kit all carry one.

Closes #9749

* fix(release): put contract in the linked-versions group, not on ui-kit's independent cadence

Review catch on #9753: contract was left out of the "engine-and-dependents"
linked-versions group on the reasoning that it should version independently
"like ui-kit". That reasoning was wrong, and this repo has already paid for the
bug it reintroduces.

mcp-release-please.yml's own header is explicit about what the group is for:
mcp/miner carry a REAL runtime `dependencies` entry, so node-workspace bumps
their range the moment the prerequisite's version changes -- and under
separate-pull-requests: true that bump lands on the dependent's OWN branch,
leaving its package.json requiring a version that exists nowhere (not locally,
since the prerequisite's bump is on a different unmerged branch; not on npm,
since it hasn't published). `npm ci` then fails ETARGET. That was confirmed
live across several release cycles (#7086/#7087/#7107/#7108/#7119/#7120/#7121),
and node-workspace's own `merge` option was already tried and does NOT override
separate-pull-requests.

ui-kit is outside the group because it has NO dependency edge to anything here
-- not because independent versioning is the default. contract has exactly the
edge engine has, so it belongs in the group for exactly the same reason.
Membership tracks the dependency edge, not release cadence; the header now says
so, since "publish it like ui-kit" is the trap that produced this.

The reconciliation ordering added in this PR stays: the group fixes the
release-PR stage (ranges and versions land in one commit), reconciliation fixes
the publish stage (registry propagation and dispatch ordering). Engine needs
both today and contract needs both for the same reasons.

Cost of the fix, stated plainly: contract joins the group's version train
rather than staying at 0.1.0, so its next release will not be 0.2.0. That is a
worse version story than independence and a better correctness story, and
0.1.0 is already published either way.

* ci(release): derive linked-versions membership from the real dependency graph

Adding contract to the group fixed today's instance. It did not fix the class:
group membership is a function of the dependency graph, nothing enforced that,
and the last time an edge was added the config was not updated. #9521 made
@loopover/contract a runtime dependency of both @loopover/mcp and
@loopover/miner without touching linked-versions, and that sat unnoticed until
#9749 -- by which point the package was not even published, so the next
mcp/miner release would have shipped uninstallable.

check-release-linked-versions.ts derives the requirement instead of trusting
memory. It reads the real package.json edges between release-please-tracked
packages and fails when two are joined by a shipping dependency but not by a
linked-versions group -- the exact ETARGET race mcp-release-please.yml's header
documents, and which node-workspace's own `merge` option provably does not fix.

It also closes a second silent gap found while wiring this: sync-release-manifest
builds its work list from the MANIFEST's own keys (`if (!(workspacePath in
manifest)) continue`), so a package added to release-please-config.json but not
to the manifest is silently exempt from the staleness check that stops
release-please re-proposing an already-published version. Adding a package to one
file and not the other had no feedback at all; now it fails.

Deliberately scoped to dependencies/peerDependencies/optionalDependencies.
devDependencies are excluded because they never reach a consumer, and forcing two
packages into permanent version lockstep over a build-time-only edge costs more
than the failure it prevents -- which surfaces immediately in CI on the branch
that introduced it rather than in a published artifact. That tradeoff is written
down at the constant, so the next person hitting it can revisit deliberately.

ui-kit is the case that proves the check is not merely "group everything": it has
no dependency edge, stays ungrouped, and there is an invariant test asserting it
is never reported -- otherwise the check would drag unrelated packages into
lockstep, which is the opposite of the goal.

Verified both ways: removing contract from the group reproduces the #9521 gap and
exits 1 naming both offending edges; removing its manifest entry exits 1 naming
the consequence; the real config exits 0.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autorelease: pending gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant