From b84db6fe4f0293cab26d1cc8184cdf3cc3dfbd0e Mon Sep 17 00:00:00 2001 From: Yoav Mayer Date: Sat, 8 Aug 2026 22:22:30 +0300 Subject: [PATCH 1/2] fix(observer-dashboard): declare @testing-library/dom The test setup imports @testing-library/dom but the package never declared it. Locally it resolves anyway, because npm hoists it to the monorepo root where Node's resolution finds it. CI's `npm ci` does not reproduce that hoist, so the module is simply absent there. Consequence, observed on the #1413 merge to main (run 31163538088, commit ca6e2eaa): `Validate Observer And Compiler` failed with Error: Cannot find module '@testing-library/dom' across all 93 test files. `Prepare Publish` gates on that job together with seven others, so it was skipped -- and with it every `Publish Foundation` job. The run reported failure, nothing was published, and users still receive 6.0.0, an unrelated codebase: this dashboard has never reached npm. Declaring the dependency makes resolution independent of hoist layout. Verified by hiding the hoisted copy: vitest then fails with CI's exact error, and passes once declared. --- package-lock.json | 14 ++++---------- packages/observer-dashboard/package.json | 1 + 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 09347e1c5..10eafee83 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14262,7 +14262,6 @@ "version": "10.4.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -14378,8 +14377,7 @@ "node_modules/@types/aria-query": { "version": "5.0.4", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/aws-lambda": { "version": "8.10.161", @@ -20313,8 +20311,7 @@ "node_modules/dom-accessibility-api": { "version": "0.5.16", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/dom-converter": { "version": "0.2.0", @@ -26671,7 +26668,6 @@ "version": "1.5.0", "dev": true, "license": "MIT", - "peer": true, "bin": { "lz-string": "bin/bin.js" } @@ -33040,7 +33036,6 @@ "version": "27.5.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -33054,7 +33049,6 @@ "version": "5.2.0", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=10" }, @@ -33610,8 +33604,7 @@ "node_modules/react-is": { "version": "17.0.2", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/react-json-view-lite": { "version": "2.5.0", @@ -46552,6 +46545,7 @@ "devDependencies": { "@playwright/test": "^1.58.2", "@tailwindcss/postcss": "^4", + "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.5.2", diff --git a/packages/observer-dashboard/package.json b/packages/observer-dashboard/package.json index 48dbf9980..8dc80652c 100644 --- a/packages/observer-dashboard/package.json +++ b/packages/observer-dashboard/package.json @@ -90,6 +90,7 @@ "devDependencies": { "@playwright/test": "^1.58.2", "@tailwindcss/postcss": "^4", + "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.5.2", From ea5a1572ea67c3f7b58028230a605bbcd940308b Mon Sep 17 00:00:00 2001 From: Yoav Mayer Date: Sat, 8 Aug 2026 22:23:11 +0300 Subject: [PATCH 2/2] chore(release): 6.0.2 -> 6.0.3 The load-bearing line is the ROOT package.json. On main, publish.yml derives PUBLISH_VERSION from the root manifest (publish.yml:692) and then scripts/sync-workspace-versions.mjs rewrites every @a5c-ai/* workspace manifest and every internal dependency range to that exact version before the publish tarball is built. Workspace version fields are decorative at publish time; the observer bump here is kept only so the repo agrees with what actually ships. Publishing is therefore strictly lockstep: this bump releases all 39 @a5c-ai/* packages at 6.0.3 from current main. Verified free: `npm view @6.0.3` returns E404 for every one of the 39 (the ~38 6.0.3-staging. prereleases do not collide with the exact stable version). 35 of the 39 sit at latest=6.0.0 today; four (genty, kradle, hooks-adapter-antigravity, hooks-adapter-hermes) already drifted to latest=6.0.2 -- a successful 6.0.3 also repairs that split. Why 6.0.2 cannot be reused: npm has held 6.0.2 since 2026-07-01 with different content for all 39 packages -- the observer's carries an unrelated "Compendium Edition" dashboard whose stylesheet has 40 --ground-void/--tkc-* tokens found nowhere in this repo. npm forbids republishing a used number, and the unpublish window closed in July. Why this commit must never land without the dependency fix (and vice versa): scripts/publish-package-from-tag.mjs, on finding a version already published, skips `npm publish` and runs `npm dist-tag add @ latest`. A green pipeline at root 6.0.2 would publish nothing and silently move latest onto the unvetted July-1 builds across the ecosystem. The two commits of this PR are one atomic change. --- package-lock.json | 6 +++--- package.json | 2 +- packages/observer-dashboard/package.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 10eafee83..8acf6ac1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "babysitter", - "version": "6.0.2", + "version": "6.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "babysitter", - "version": "6.0.2", + "version": "6.0.3", "license": "MIT", "workspaces": [ "packages/genty/core", @@ -46518,7 +46518,7 @@ }, "packages/observer-dashboard": { "name": "@a5c-ai/babysitter-observer-dashboard", - "version": "6.0.2", + "version": "6.0.3", "license": "MIT", "dependencies": { "@a5c-ai/babysitter-sdk": "^6.0.0", diff --git a/package.json b/package.json index 0faa8d406..1344613ae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "babysitter", - "version": "6.0.2", + "version": "6.0.3", "license": "MIT", "private": true, "workspaces": [ diff --git a/packages/observer-dashboard/package.json b/packages/observer-dashboard/package.json index 8dc80652c..e9ee48731 100644 --- a/packages/observer-dashboard/package.json +++ b/packages/observer-dashboard/package.json @@ -1,6 +1,6 @@ { "name": "@a5c-ai/babysitter-observer-dashboard", - "version": "6.0.2", + "version": "6.0.3", "description": "Real-time observability dashboard for babysitter orchestration runs", "private": false, "publishConfig": {