Skip to content

DO NOT MERGE — verification run for #25697: PR A + the ui/ subtree import of objectui main cd70b7818d #50045

DO NOT MERGE — verification run for #25697: PR A + the ui/ subtree import of objectui main cd70b7818d

DO NOT MERGE — verification run for #25697: PR A + the ui/ subtree import of objectui main cd70b7818d #50045

Triggered via pull request October 25, 2026 07:06
Status Failure
Total duration 33m 35s
Artifacts 1

ci.yml

on: pull_request
Matrix: dogfood
Matrix: test
Dogfood Verify CLI
Dogfood Verify CLI
Temporal Conformance (live PG + MySQL)
Temporal Conformance (live PG + MySQL)
Build Core
12m 20s
Build Core
Build Docs
5m 5s
Build Docs
Console Pin Gate
Console Pin Gate
Type Check UI
19m 6s
Type Check UI
Lint UI
8m 11s
Lint UI
Build & E2E UI
7m 30s
Build & E2E UI
Matrix: test-ui
Test Core
36s
Test Core
Dogfood Regression Gate
11s
Dogfood Regression Gate
Fit to window
Zoom out
Zoom in

Annotations

36 errors, 30 warnings, and 44 notices
Build Core
Process completed with exit code 1.
Test UI (1/16)
Process completed with exit code 1.
[unit] scripts/__tests__/ci-cd-pipeline-doc.test.ts > ci-cd-pipeline.md — live-e2e backend pin (#7689) > resolves exactly one @objectstack/spec version to compare against: ui/scripts/__tests__/ci-cd-pipeline-doc.test.ts#L1871
AssertionError: Nothing in ../pnpm-lock.yaml matched either reading of an `@objectstack/spec` resolution. That is a green this test must never report: the comparison below would run against an empty set and pass no matter what `e2e/live/ci/backend.env` says. Either the dependency is genuinely gone — in which case the live lane has nothing to pin and this block should go — or the lockfile format moved and the two regexes above need updating.: expected 0 to be greater than 0 ❯ scripts/__tests__/ci-cd-pipeline-doc.test.ts:1871:7
Test UI (2/16)
Process completed with exit code 1.
[unit] scripts/__tests__/objectstack-pin.test.ts > the real tree (objectui#12957) > commits a manifest for every override, under the name it overrides (objectui#13008): ui/scripts/objectstack-pin.mjs#L212
Error: the root package.json declares no @objectstack/* override, so nothing would resolve to the pinned build. ❯ readOverrides scripts/objectstack-pin.mjs:212:11 ❯ scripts/__tests__/objectstack-pin.test.ts:404:23
[unit] scripts/__tests__/objectstack-pin.test.ts > the real tree (objectui#12957) > overrides every @objectstack/* package the workspace declares, so none resolves from npm: ui/scripts/objectstack-pin.mjs#L212
Error: the root package.json declares no @objectstack/* override, so nothing would resolve to the pinned build. ❯ readOverrides scripts/objectstack-pin.mjs:212:11 ❯ scripts/__tests__/objectstack-pin.test.ts:393:23
Test Core (7/8)
Process completed with exit code 1.
Test Core (7/8)
command (/home/runner/work/objectstack/objectstack/packages/client) /opt/hostedtoolcache/node/22.23.3/x64/bin/pnpm run test exited (1)
Test Core (8/8)
Process completed with exit code 1.
Test Core (8/8)
command (/home/runner/work/objectstack/objectstack/packages/plugins/plugin-pinyin-search) /opt/hostedtoolcache/node/22.23.3/x64/bin/pnpm run test exited (1)
Test UI (13/16)
Process completed with exit code 1.
[unit] scripts/__tests__/quick-reference-commands-4149.test.ts > QUICK_REFERENCE.md — every documented `pnpm` command exists > names only scripts the root `package.json` declares: ui/scripts/__tests__/quick-reference-commands-4149.test.ts#L205
AssertionError: QUICK_REFERENCE.md documents ["pnpm build (no root script \"build\")","pnpm type-check (no root script \"type-check\")","pnpm lint (no root script \"lint\")"]. Each is a copy-pasteable line that fails: the root `package.json` `scripts` block is the anchor, and `pnpm typecheck` (objectui#4149) is what happens when nothing checks it. Declared scripts: ["build:console","census:body-dialect","census:body-dialect-producers","census:changeset-polarity","census:cross-file-line-citations","census:dollar-dialect-aliases","census:page-key-reads","census:tsconfig-test-parity","changeset","changeset:check","changeset:publish","changeset:version","check","check:action-forward-parity","check:action-ref-convention","check:bash32-floor","check:changeset-claims","check:comment-mask-corpus","check:component-surface-parity","check:control-bytes","check:designer-field-key-parity","check:dist-completeness","check:doc-example-ids","check:doc-example-readers","check:doc-examples","check:doc-fences","check:doc-json","check:doc-snippets","check:doc-types","check:docs-route-closure","check:eager-closure","check:eager-locale-catalogues","check:element-data-source-declaration","check:entry-guard","check:esm-specifiers","check:governed-queue-guard","check:handler-key-reads","check:i18n-dead-keys","check:i18n-designer-parity","check:i18n-drift","check:i18n-keys","check:icon-record-names","check:installed-pin-claims","check:lint-rule-coverage","check:lockfile-dedupe","check:lockfile-integrity","check:merge-queue-head","check:metadata-write-doors","check:new-line-citations","check:node-esm-load","check:pending-changeset-literals","check:phantom-deps","check:pre-install-import-graph","check:prompt-keys","check:published-dist","check:published-tsconfig-exclude","check:readme-exports","check:registry-bare-names","check:required-check-set","check:sdui-registration-pins","check:self-import","check:shell-escape-residue","check:side-effects-array","check:skill-eval-tokens","check:skill-examples","check:skills-paths","check:spec-floors","check:spec-symbols","check:test-path-roots","check:ui-root-lookups","check:unreferenced-sources","check:unused-deps","check:vi-mock-inherit","check:vi-mock-override-shape","check:vi-mock-specifiers","cli","create-plugin","dev","docs:api","docs:check-links","doctor","g","generate","governed","lint:coverage","lint:root","merge-queue-head","objectstack:build","objectstack:status","objectui","quick-reference:check","quick-reference:sync","setup","shadcn:analyze","shadcn:check","shadcn:diff","shadcn:list","shadcn:update","shadcn:update-all","site:dev","site:start","start","studio","test","test:coverage","test:e2e","test:e2e:import-console","test:e2e:import-harness","test:e2e:live","test:e2e:live:ci","test:e2e:ui","test:integration","test:ui","test:unit","test:watch","type-check:coverage","type-check:e2e","type-check:scripts","type-check:vitest-config","type-check:vitest-setup"].: expected [ …(3) ] to deeply equal [] - Expected + Received - [] + [ + "pnpm build (no root script \"build\")", + "pnpm type-check (no root script \"type-check\")", + "pnpm lint (no root script \"lint\")", + ] ❯ scripts/__tests__/quick-reference-commands-4149.test.ts:205:7
[unit] scripts/__tests__/check-installed-spec-pin-claims.test.ts > this repository, right now > resolves one pin per anchor package from both faces: ui/scripts/__tests__/check-installed-spec-pin-claims.test.ts#L337
AssertionError: expected [ { …(3) }, { …(3) }, { …(3) } ] to deeply equal [] - Expected + Received - [] + [ + { + "lock": [], + "package": "@objectstack/spec", + "tree": [ + "18.1.0", + ], + }, + { + "lock": [], + "package": "@objectstack/client", + "tree": [ + "18.1.0", + ], + }, + { + "lock": [], + "package": "@objectstack/formula", + "tree": [ + "18.1.0", + ], + }, + ] ❯ scripts/__tests__/check-installed-spec-pin-claims.test.ts:337:30
[unit] scripts/__tests__/check-installed-spec-pin-claims.test.ts > this repository, right now > has no unledgered drift and no rotted ledger entry: ui/scripts/__tests__/check-installed-spec-pin-claims.test.ts#L333
AssertionError: expected [ …(142) ] to deeply equal [] - Expected + Received - [] + [ + "apps/console/src/__tests__/registry-inputs-spec-parity.test.ts: claims @objectstack/spec 17.0.0-rc.6, but the two faces of the pin disagree — nothing is judgeable until they do not", + "apps/console/src/__tests__/registry-inputs-spec-parity.test.ts: claims @objectstack/spec 17.1.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "apps/console/src/__tests__/registry-inputs-spec-parity.test.ts: claims @objectstack/spec 17.5.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "apps/console/src/__tests__/registry-inputs-spec-parity.test.ts: claims @objectstack/spec 17.0.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "apps/console/src/__tests__/registry-inputs-spec-parity.test.ts: claims @objectstack/spec 17.3.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "apps/console/src/__tests__/registry-inputs-spec-parity.test.ts: claims @objectstack/spec 18.1.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "apps/console/src/__tests__/registry-inputs-spec-parity.test.ts: claims @objectstack/spec 17.6.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "apps/console/src/__tests__/registry-inputs-spec-parity.test.ts: claims @objectstack/spec 17.7.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "apps/console/src/components/FormPage.tsx: claims @objectstack/spec 17.0.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/services/MetadataService.objectPayloadFieldsMap.test.ts: claims @objectstack/spec 17.2.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/services/MetadataService.retiredFieldSortOrder.test.ts: claims @objectstack/spec 17.2.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/services/MetadataService.retiredObjectEnabled.test.ts: claims @objectstack/spec 17.2.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/services/MetadataService.ts: claims @objectstack/spec 17.2.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/views/RecordDetailView.relatedListFilter-4664.test.tsx: claims @objectstack/spec 17.1.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/views/RecordDetailView.relatedListFilter-4664.test.tsx: claims @objectstack/spec 17.2.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/views/metadata-admin/PermissionMatrixEditor.retiredLifecycleKeys.test.tsx: claims @objectstack/spec 17.2.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/views/metadata-admin/SchemaForm.unresolvedPredicate.test.tsx: claims @objectstack/spec 17.0.0-rc.5, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/views/metadata-admin/anchors.validation-retired.test.ts: claims @objectstack/spec 17.0.0-rc.6, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/views/metadata-admin/celAuthoring.ts: claims @objectstack/spec 18.1.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/views/metadata-admin/form-spec.ts: claims @objectstack/spec 17.0.0, but the two faces of the pin disagree — nothing is judgeable until they do not", + "packages/app-shell/src/views/metadata-admin/inspectors/DashboardWidgetInspector.tsx: claims @objectstack/spec 17.0.0-rc.5, but the two faces of the pin disagree — nothing is judgeab
[unit] scripts/__tests__/check-installed-spec-pin-claims.test.ts > the pin, read from two faces > the lockfile and the resolved tree agree about @objectstack/spec: ui/scripts/__tests__/check-installed-spec-pin-claims.test.ts#L194
AssertionError: expected [ { …(3) } ] to deeply equal [] - Expected + Received - [] + [ + { + "lock": [], + "package": "@objectstack/spec", + "tree": [ + "18.1.0", + ], + }, + ] ❯ scripts/__tests__/check-installed-spec-pin-claims.test.ts:194:93
Test UI (9/16)
Process completed with exit code 1.
[unit] scripts/__tests__/sync-quick-reference-release.test.ts > a release bump carries the doc with it > refuses a row whose shape no longer matches its anchor: ui/scripts/__tests__/sync-quick-reference-release.test.ts#L202
AssertionError: expected [ { label: 'Spec', …(2) }, …(1) ] to deeply equal [] - Expected + Received - [] + [ + { + "from": "^18.0.0-next.1", + "label": "Spec", + "to": "workspace:^", + }, + { + "from": "^18.0.0-next.1", + "label": "Client", + "to": "workspace:^", + }, + ] ❯ scripts/__tests__/sync-quick-reference-release.test.ts:202:21
[unit] scripts/__tests__/sync-quick-reference-release.test.ts > a release bump carries the doc with it > moves only the pnpm literal that changed: ui/scripts/__tests__/sync-quick-reference-release.test.ts#L188
AssertionError: expected [ { label: 'Spec', …(2) }, …(2) ] to deeply equal [ { label: 'pnpm', …(2) } ] - Expected + Received [ { + "from": "^18.0.0-next.1", + "label": "Spec", + "to": "workspace:^", + }, + { + "from": "^18.0.0-next.1", + "label": "Client", + "to": "workspace:^", + }, + { "from": "10.31.0", "label": "pnpm", "to": "11.0.0", }, ] ❯ scripts/__tests__/sync-quick-reference-release.test.ts:188:21
[unit] scripts/__tests__/sync-quick-reference-release.test.ts > a release bump carries the doc with it > touches nothing but the literal: ui/scripts/__tests__/sync-quick-reference-release.test.ts#L171
AssertionError: expected [ [ 127, …(2) ], [ 129, …(2) ], …(1) ] to have a length of 1 but got 3 - Expected + Received - 1 + 3 ❯ scripts/__tests__/sync-quick-reference-release.test.ts:171:23
[unit] scripts/__tests__/sync-quick-reference-release.test.ts > a release bump carries the doc with it > rewrites the Version row when the fixed group moves: ui/scripts/__tests__/sync-quick-reference-release.test.ts#L146
AssertionError: expected [ { label: 'Version', …(2) }, …(2) ] to deeply equal [ { label: 'Version', …(2) } ] - Expected + Received @@ -2,6 +2,16 @@ { "from": "18.1.0", "label": "Version", "to": "99.9.9", }, + { + "from": "^18.0.0-next.1", + "label": "Spec", + "to": "workspace:^", + }, + { + "from": "^18.0.0-next.1", + "label": "Client", + "to": "workspace:^", + }, ] ❯ scripts/__tests__/sync-quick-reference-release.test.ts:146:28
[unit] scripts/__tests__/sync-quick-reference-release.test.ts > the block is in step with its anchors right now > syncing the committed tree changes nothing and refuses nothing: ui/scripts/__tests__/sync-quick-reference-release.test.ts#L128
AssertionError: QUICK_REFERENCE.md has drifted from its anchors — run `pnpm quick-reference:sync`: expected [ { label: 'Spec', …(2) }, …(1) ] to deeply equal [] - Expected + Received - [] + [ + { + "from": "^18.0.0-next.1", + "label": "Spec", + "to": "workspace:^", + }, + { + "from": "^18.0.0-next.1", + "label": "Client", + "to": "workspace:^", + }, + ] ❯ scripts/__tests__/sync-quick-reference-release.test.ts:128:7
[unit] scripts/__tests__/check-lockfile-integrity.test.ts: ui/scripts/__tests__/check-lockfile-integrity.test.ts#L102
AssertionError: the pinned spec snapshot key moved — rebuild this sample before trusting it: expected 'lockfileVersion: \'9.0\'\n\nsettings:…' to contain ' \'@objectstack/spec@file:.objectsta…' - Expected + Received - '@objectstack/spec@file:.objectstack-pin/spec(ai@7.0.65(zod@4.6.7))': + lockfileVersion: '9.0' + + settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + + overrides: + esbuild: '>=0.28.1' + qs@<6.15.2: ^6.15.2 + shell-quote@<1.8.4: ^1.8.4 + tmp@<0.2.6: ^0.2.6 + uuid@<11.1.1: ^11.1.1 + react: 19.3.0 + react-dom: 19.3.0 + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0 + minimatch@<11.0.0: ^10.2.3 + tar@>=2.0.0 <8.0.0: ^7.5.11 + form-data@<5.0.0: '>=4.0.6' + undici@>=7.23.0 <8.0.0: ^7.30.1 + undici@>=8.1.0 <9.0.0: ^8.12.2 + better-auth@<2.0.0: 1.7.12 + '@better-auth/core@<2.0.0': 1.7.12 + '@better-auth/scim@<2.0.0': 1.7.12 + '@better-auth/oauth-provider@<2.0.0': 1.7.12 + '@better-auth/sso@<2.0.0': 1.7.12 + '@better-auth/drizzle-adapter@<2.0.0': 1.7.12 + '@better-auth/kysely-adapter@<2.0.0': 1.7.12 + '@better-auth/memory-adapter@<2.0.0': 1.7.12 + '@better-auth/mongo-adapter@<2.0.0': 1.7.12 + '@better-auth/prisma-adapter@<2.0.0': 1.7.12 + '@better-auth/telemetry@<2.0.0': 1.7.12 + uuid@<12.0.0: ^11.1.1 + postcss@<9.0.0: ^8.5.10 + cookie@<0.8.0: ^0.7.0 + svelte: ^5.55.7 + '@tootallnate/once@<2.0.1': 2.0.1 + brace-expansion@>=5.0.0 <6.0.0: ^5.0.12 + sharp@>=0.34.0 <0.36.0: ^0.35.5 + react-router@>=8.0.0 <8.3.0: ^8.3.0 + '@sveltejs/kit@<2.69.1': ^2.69.1 + '@hono/node-server@<3.0.0': ^2.0.10 + fast-uri@<4.0.0: ^3.1.9 + hono@<5.0.0: ^4.13.5 + dompurify@<4.0.0: ^3.4.17 + nanoid@<4.0.0: ^3.3.17 + '@xmldom/xmldom@>=0.8.0 <0.9.0': ^0.8.15 + '@xmldom/xmldom@>=0.9.0 <0.10.0': ^0.9.12 + qs@>=6.0.0 <7.0.0: ^6.16.0 + devalue@<6.0.0: ^5.9.2 + ip-address@<11.0.0: ^10.7.4 + katex@>=0.11.0 <0.19.0: ^0.18.2 + shell-quote@>=1.8.4 <2.0.0: ^1.11.0 + body-parser@>=2.0.0 <3.0.0: ^2.4.0 + happy-dom@>=17.0.0 <22.0.0: ^21.0.4 + + patchedDependencies: + '@radix-ui/react-focus-scope@1.1.16': + hash: 41d44316f54bd1c52774d12640dfe9062604489561eee39886b1912c4197e822 + path: patches/@radix-ui__react-focus-scope.patch + tsup@8.5.1: + hash: d1c8d6bd9db5a776a639cd37b802f8b962f7846a6e3758af4478b0e0bde082e4 + path: patches/tsup@8.5.1.patch + tsx@4.23.15: + hash: 4d1d35da1809be2a945519cb26890e48107810b9b66c6913a6a89abb5ad6a1e6 + path: patches/tsx@4.23.15.patch + + importers: + + .: + devDependencies: + '@changesets/cli': + specifier: ^3.0.3 + version: 3.0.3 + '@types/node': + specifier: ^26.6.3 + version: 26.6.3 + '@typescript-eslint/parser': + specifier: ^8.70.1 + version: 8.70.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + eslint: + specifier: ^10.11.0 + version: 10.11.0(jiti@2.7.0) + github-slugger: + specifier: 2.0.0 + version: 2.0.0 + semver: + specifier: ^7.8.5 + version: 7.8.5 + svelte: + specifier: ^5.55.7 + version: 5.57.1(@typescript-eslint/types@8.72.0) + tsup: + specifier: ^8.5.1 + version: 8.5.1(patch_hash=d1c8d6bd9db5a776a639cd37b802f8b962f7846a6e3758af4478b0e0bde082e4)(@microsoft/api-extractor@7.58.2(@types/node@26.6.3))(@swc/core@1.15.33(@swc/helpers@0.5.23))(jiti@2.7.0)(postcss@8.5.31)(tsx@4.23.15(patch_hash=4d1d35da1809be2a945519cb26890e48107810b9b66c6913a6a89abb5ad6a1e6))(typescript@6.0.3)(yaml@2.9.1) + tsx: + specifier: ^4.23.15 + version: 4.23.15(patch_hash=4d1d35da1809be2a945519cb26890e48107810b9b66c6913a6a89abb5ad6a1e6) + turbo: + specifier: ^2.11.5 + version: 2.11.5 + typescript: + specifier: ^6.0.3 + version: 6.0.3 + yaml: + specifier: ^2.9.1 + version: 2.9.1 + + apps/docs: + dependencies: + fumadocs-core: + specifier: 16.14.4 + version: 16.14.4(@mdx-js/mdx@3.1.1)(@tansta
Test Core (1/8)
Process completed with exit code 1.
Test Core (1/8)
command (/home/runner/work/objectstack/objectstack/packages/spec) /opt/hostedtoolcache/node/22.23.3/x64/bin/pnpm run test exited (1)
Test UI (3/16)
Process completed with exit code 1.
[dom] packages/app-shell/src/preview/__tests__/DraftChangesPanel.securityProblems.test.tsx > DraftChangesPanel — pre-publish security posture (objectui#5418) > names the object whose sharing baseline was never authored: ui/packages/app-shell/src/preview/__tests__/DraftChangesPanel.securityProblems.test.tsx#L73
TestingLibraryElementError: Unable to find an element by: [data-testid="draft-security-problems"] Ignored nodes: comments, script, style <body data-scroll-locked="1" style="pointer-events: none;" > <span aria-hidden="true" data-aria-hidden="true" data-radix-focus-guard="" style="opacity: 0; position: fixed; pointer-events: none; outline-color: none; outline-style: none; outline-width: initial;" tabindex="0" /> <div aria-hidden="true" data-aria-hidden="true" /> <div aria-hidden="true" class="fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0" data-aria-hidden="true" data-state="open" style="pointer-events: auto;" /> <div aria-describedby="radix-_r_2_" aria-labelledby="radix-_r_1_" class="fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500 inset-y-0 right-0 h-full border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right flex w-[420px] flex-col sm:max-w-[420px]" data-posture="review" data-state="open" data-testid="draft-changes-panel" id="radix-_r_0_" role="dialog" style="pointer-events: auto;" tabindex="-1" > <div class="flex flex-col space-y-2 text-center sm:text-left" > <h2 class="text-lg font-semibold text-foreground" id="radix-_r_1_" > Pending changes </h2> <p class="text-sm text-muted-foreground" id="radix-_r_2_" > What publishing will change. New items are added; updates overwrite the live version. </p> </div> <div aria-label="Pending changes" class="mt-4 flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-4 pb-6 outline-none" data-testid="draft-changes-list" tabindex="-1" > <div> <h4 class="mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground" > 1 objects </h4> <ul class="flex flex-col gap-1" > <li class="rounded-md border text-sm" > <button aria-expanded="false" class="flex w-full items-center gap-2 px-2.5 py-1.5 text-left hover:bg-muted/50" data-testid="draft-entry-toggle" type="button" > <svg aria-hidden="true" class="lucide lucide-chevron-right h-3 w-3 shrink-0 text-muted-foreground" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" > <path d="m9 18 6-6-6-6" /> </svg> <svg aria-hidden="true" class="lucide lucide-file-plus-corner lucide-file-plus-2 h-3.5 w-3.5 shrink-0 text-emerald-600" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" > <path d="M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35" /> <path d="M14 2v5a1 1 0 0 0 1 1h5" /> <path d="M14 19h6" /> <path d="M17 16v6" /> </svg> <span class="m
Test UI (14/16)
Process completed with exit code 1.
[unit] scripts/__tests__/quick-reference-current-release-4143.test.ts > QUICK_REFERENCE.md "Current Release" — no un-derived literal > contains only version literals this test derives from a manifest: ui/scripts/__tests__/quick-reference-current-release-4143.test.ts#L522
AssertionError: QUICK_REFERENCE.md's "Current Release" block states ["^18.0.0-next.1","^18.0.0-next.1"], which no manifest in this tree produced. Every row under a heading that says "Current" must be derived from an anchor and asserted above, or it is the next objectui#4143. Derived values are: ["18.1.0","workspace:^","≥22.13","≥10","10.31.0","19.x","≥5.0"].: expected [ '^18.0.0-next.1', '^18.0.0-next.1' ] to deeply equal [] - Expected + Received - [] + [ + "^18.0.0-next.1", + "^18.0.0-next.1", + ] ❯ scripts/__tests__/quick-reference-current-release-4143.test.ts:522:7
[unit] scripts/__tests__/quick-reference-current-release-4143.test.ts > QUICK_REFERENCE.md "Current Release" — package + spec versions > quotes the `@objectstack/client` range the manifests declare: ui/scripts/__tests__/quick-reference-current-release-4143.test.ts#L251
AssertionError: QUICK_REFERENCE.md must state the client range as exactly "workspace:^": expected [ '^18.0.0-next.1' ] to deeply equal [ 'workspace:^' ] - Expected + Received [ - "workspace:^", + "^18.0.0-next.1", ] ❯ expectRowStates scripts/__tests__/quick-reference-current-release-4143.test.ts:251:47 ❯ scripts/__tests__/quick-reference-current-release-4143.test.ts:323:5
[unit] scripts/__tests__/quick-reference-current-release-4143.test.ts > QUICK_REFERENCE.md "Current Release" — package + spec versions > quotes the `@objectstack/spec` range the manifests declare: ui/scripts/__tests__/quick-reference-current-release-4143.test.ts#L251
AssertionError: QUICK_REFERENCE.md must state the spec range as exactly "workspace:^": expected [ '^18.0.0-next.1' ] to deeply equal [ 'workspace:^' ] - Expected + Received [ - "workspace:^", + "^18.0.0-next.1", ] ❯ expectRowStates scripts/__tests__/quick-reference-current-release-4143.test.ts:251:47 ❯ scripts/__tests__/quick-reference-current-release-4143.test.ts:309:5
Test Core (3/8)
Process completed with exit code 1.
Test Core (3/8)
command (/home/runner/work/objectstack/objectstack/packages/create-objectstack) /opt/hostedtoolcache/node/22.23.3/x64/bin/pnpm run test exited (1)
Test Core
Process completed with exit code 1.
Test Core
Test Core: leg test reported result 'failure' — a declared negative is never overridden by a full roster.
Test Core
Test Core: 4 of 8 declared shard(s) of test published no positive attestation (test-1-of-8, test-3-of-8, test-7-of-8, test-8-of-8). A shard that never ran cannot be counted as passing — see #6082.
Lint UI: ui/packages/runner/src/lib/mockDataSource.ts#L42
Unexpected any. Specify a different type
Lint UI: ui/packages/runner/src/lib/mockDataSource.ts#L42
Unexpected any. Specify a different type
Lint UI: ui/packages/runner/src/lib/mockDataSource.ts#L33
Unexpected any. Specify a different type
Lint UI: ui/packages/runner/src/lib/mockDataSource.ts#L33
Unexpected any. Specify a different type
Lint UI: ui/packages/runner/src/lib/mockDataSource.ts#L29
Unexpected any. Specify a different type
Lint UI: ui/packages/runner/src/lib/MetadataLoader.ts#L71
Unexpected any. Specify a different type
Lint UI: ui/packages/runner/src/lib/MetadataLoader.ts#L33
Unexpected any. Specify a different type
Lint UI
Unexpected any. Specify a different type
Lint UI: ui/packages/runner/src/LayoutRenderer.tsx#L49
Unexpected any. Specify a different type
Lint UI: ui/packages/runner/src/LayoutRenderer.tsx#L47
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/inline-edit-polish-2572.spec.ts#L84
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/inline-edit-polish-2572.spec.ts#L63
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/helpers.ts#L16
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/helpers.ts#L15
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/grid-file-upload.spec.ts#L92
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/grid-file-upload.spec.ts#L36
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/global-setup.ts#L42
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/form-view-subforms.spec.ts#L83
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/form-view-subforms.spec.ts#L75
Unexpected any. Specify a different type
Lint UI: ui/e2e/live/form-view-subforms.spec.ts#L20
Unexpected any. Specify a different type
Suite-duration ceiling
@objectstack/service-messaging: 199.72s, over its 166.91s ceiling. Slowest file: src/keyed-notification-text.integration.test.ts 2.69s. Report only, on every event (this is a `pull_request` run): a suite's wall on a shared runner measures the run's load as much as the package, so this is a reading, not a failure.
Suite-duration ceiling
@objectstack/service-datasource: 154.48s, over its 128.93s ceiling. Slowest file: src/__tests__/datasource-removal-bound-count-outage.test.ts 7.98s. Report only, on every event (this is a `pull_request` run): a suite's wall on a shared runner measures the run's load as much as the package, so this is a reading, not a failure.
Suite-duration ceiling
@objectstack/plugin-email: 125.26s, over its 119.94s ceiling. Slowest file: src/text-field-html-outlets.pin.test.ts 1.30s. Report only, on every event (this is a `pull_request` run): a suite's wall on a shared runner measures the run's load as much as the package, so this is a reading, not a failure.
Suite-duration ceiling
@objectstack/plugin-audit: 264.24s, over its 185.93s ceiling. Slowest file: src/parent-record-read-leaf.integration.test.ts 32.47s. Report only, on every event (this is a `pull_request` run): a suite's wall on a shared runner measures the run's load as much as the package, so this is a reading, not a failure.
Suite-duration ceiling
@objectstack/organizations: 152.21s, over its 137.91s ceiling. Slowest file: src/storage-upload-organization-change.wall.test.ts 8.37s. Report only, on every event (this is a `pull_request` run): a suite's wall on a shared runner measures the run's load as much as the package, so this is a reading, not a failure.
Suite-duration ceiling
@objectstack/mcp: 115.12s, over its 108.17s ceiling. Slowest file: src/mcp-server-info-version.test.ts 2.19s. Report only, on every event (this is a `pull_request` run): a suite's wall on a shared runner measures the run's load as much as the package, so this is a reading, not a failure.
Suite-duration ceiling
@objectstack/http-conformance: 152.04s, over its 149.61s ceiling. Slowest file: src/hono-declared-envelope.conformance.test.ts 7.42s. Report only, on every event (this is a `pull_request` run): a suite's wall on a shared runner measures the run's load as much as the package, so this is a reading, not a failure.
Suite-duration ceiling
@objectstack/hono: 57.10s, over its 45.99s ceiling. Slowest file: src/hono.test.ts 0.83s. Report only, on every event (this is a `pull_request` run): a suite's wall on a shared runner measures the run's load as much as the package, so this is a reading, not a failure.
Suite-duration ceiling
@objectstack/core: 181.92s, over its 151.42s ceiling. Slowest file: src/security/auth-gate.test.ts 6.92s. Report only, on every event (this is a `pull_request` run): a suite's wall on a shared runner measures the run's load as much as the package, so this is a reading, not a failure.
Suite-duration ceiling
@objectstack/cloud-connection: 169.78s, over its 163.89s ceiling. Slowest file: src/marketplace-install-local-seed-lookup.test.ts 2.26s. Report only, on every event (this is a `pull_request` run): a suite's wall on a shared runner measures the run's load as much as the package, so this is a reading, not a failure.
filter
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Dogfood Regression Gate
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Build Docs
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
🎭 Playwright Run Summary
23 skipped 55 passed (1.4m)
Build & E2E UI
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Lint UI
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Build Core)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Build Core
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (15/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (6/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (1/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (2/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (7/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (7/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (2/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (2/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (5/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (8/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (8/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (6/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (6/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Shard headroom
longest Test (shard 4/8): 10m37s = 212% of the 5-minute cap, -6m-37s of headroom; total 75m45s over 8 shard(s); at the 2-minute target per shard that is 38 shard(s) (the matrix has 8)
Shard headroom
Test (shard N/16): NOT MEASURED -- the jobs API could not be read (GITHUB_REPOSITORY is not set). This is a reading, not a gate; nothing failed because of it.
Test UI (13/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (8/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (9/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (1/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (1/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (7/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (11/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (3/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (4/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (16/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (12/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (10/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test UI (14/16)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Type Check UI
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (5/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (5/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (3/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (3/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Turbo remote cache disabled (Test Core (4/8) closure)
Remote caching disabled (remote cache requested — set TURBO_TOKEN and TURBO_TEAM, or run "turbo login" and "turbo link") -- expected: the remote-cache credentials are passed only to merge_group runs and runs on main, so this run built from the restored Actions-cache seed.
Test Core (4/8)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Test Core
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"

Artifacts

Produced during runtime
Name Size Digest
test-core-timing-table
115 KB
sha256:0ddd559a232b4e80494773f18d3ab479bcfff1c0cbe880d7e1ff845c9982f9bc