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", () => {