From 7b68c2cf1b716cc52f8b307dc01adc3cd6d9a9e8 Mon Sep 17 00:00:00 2001 From: Gustavo Madeira Santana Date: Tue, 14 Apr 2026 14:46:22 -0400 Subject: [PATCH] qa: keep qa-matrix source-only Keep qa-matrix aligned with the repo-private QA policy instead of treating it as a packaged or published plugin surface. This restores qa-lab to the non-packaged bundle set and removes qa-matrix publish metadata. Also tighten the QA packaging docs/example, add a changelog entry for the split, and lock the non-packaged expectation in the bundled-plugin build-entry test. --- CHANGELOG.md | 1 + docs/cli/plugins.md | 2 +- extensions/qa-matrix/package.json | 4 ---- scripts/lib/bundled-plugin-build-entries.mjs | 2 +- test/scripts/bundled-plugin-build-entries.test.ts | 3 +++ 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5fd66d0f7c..28816334d5a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ Docs: https://docs.openclaw.ai - Docs/showcase: add a scannable hero, complete section jump links, and a responsive video grid for community examples. (#48493) Thanks @jchopard69. - Agents/local models: add `agents.defaults.localModelMode: "lean"` to drop heavyweight default tools like `browser`, `cron`, and `message`, reducing prompt size for weaker local-model setups without changing the normal path. Thanks @ImLukeF. +- QA/Matrix: split Matrix live QA into a source-linked `qa-matrix` runner and keep repo-private `qa-*` surfaces out of packaged and published builds. (#66723) Thanks @gumadeiras. ### Fixes diff --git a/docs/cli/plugins.md b/docs/cli/plugins.md index b6ccda80c40..9f86c75422c 100644 --- a/docs/cli/plugins.md +++ b/docs/cli/plugins.md @@ -197,7 +197,7 @@ Use `--link` to avoid copying a local directory (adds to `plugins.load.paths`): openclaw plugins install -l ./my-plugin ``` -Repo QA example: +Repo QA example (source-linked dev surface; not shipped in packaged installs): ```bash openclaw plugins install -l ./extensions/qa-matrix diff --git a/extensions/qa-matrix/package.json b/extensions/qa-matrix/package.json index a36f1f12a3b..624ce3cdd59 100644 --- a/extensions/qa-matrix/package.json +++ b/extensions/qa-matrix/package.json @@ -29,10 +29,6 @@ }, "build": { "openclawVersion": "2026.4.12" - }, - "release": { - "publishToClawHub": true, - "publishToNpm": true } } } diff --git a/scripts/lib/bundled-plugin-build-entries.mjs b/scripts/lib/bundled-plugin-build-entries.mjs index 5d931b88954..836170713d4 100644 --- a/scripts/lib/bundled-plugin-build-entries.mjs +++ b/scripts/lib/bundled-plugin-build-entries.mjs @@ -8,7 +8,7 @@ import { import { shouldBuildBundledCluster } from "./optional-bundled-clusters.mjs"; const TOP_LEVEL_PUBLIC_SURFACE_EXTENSIONS = new Set([".ts", ".js", ".mts", ".cts", ".mjs", ".cjs"]); -const NON_PACKAGED_BUNDLED_PLUGIN_DIRS = new Set(["qa-channel", "qa-matrix"]); +const NON_PACKAGED_BUNDLED_PLUGIN_DIRS = new Set(["qa-channel", "qa-lab", "qa-matrix"]); const toPosixPath = (value) => value.replaceAll("\\", "/"); function readBundledPluginPackageJson(packageJsonPath) { diff --git a/test/scripts/bundled-plugin-build-entries.test.ts b/test/scripts/bundled-plugin-build-entries.test.ts index 03b015b7862..f60bbe23ce0 100644 --- a/test/scripts/bundled-plugin-build-entries.test.ts +++ b/test/scripts/bundled-plugin-build-entries.test.ts @@ -82,6 +82,9 @@ describe("bundled plugin build entries", () => { expect(artifacts.some((artifact) => artifact.startsWith("dist/extensions/qa-lab/"))).toBe( false, ); + expect(artifacts.some((artifact) => artifact.startsWith("dist/extensions/qa-matrix/"))).toBe( + false, + ); }); it("keeps bundled channel secret contracts on packed top-level sidecars", () => {