Skip to content

objectui.org has not deployed since 2026-09-06: every Vercel production build fails to resolve @object-ui/example-schema-catalog, because the dashboard build command stopped building it when #7986 removed apps/site's prebuild hook #12178

Closed

Description

@hotlong

What is broken

The live docs site objectui.org is frozen at 2026-09-06. Every production build of the Vercel project objectui (team object-stack, Root Directory apps/site) has failed since then, and every one of them is billed.

  • Last READY production deployment: dpl_3MdnDUaYt1eXkRBLUrXcy9D2frA6, 2026-09-06 07:20 UTC, commit 6bfe358247.
  • First ERROR production deployment: dpl_BZ1P3Ptn7GUGoe9inMScdPEBVeY2, 2026-09-06 07:20 UTC, commit bf914dc753 (fix(build): let turbo own build order, delete the hand-listed prebuild hooks #7986).
  • Latest ERROR production deployment when this was filed: dpl_2UdnxRkKxEUrSksvEQC7ikeG3w23, 2026-10-12 02:07 UTC, commit 2498a07538 (the current tip of main).
  • Read on 2026-10-12 from the Vercel API (GET /v6/deployments?projectId=...&target=production&since= the last READY): 2023 production deployments since the last READY one, all 2023 in state ERROR, one per main commit, median 4.6 build-minutes each, about 9,400 build-minutes in total. That is a one-time reading, not a live count; re-run the same query to re-derive it.
  • The maintainer's Vercel bill puts this project at roughly USD 55/month, almost all of it "Build CPU Minutes" spent on these failing builds. Nothing was deployed for that spend.

Log tail of dpl_2UdnxRkKxEUrSksvEQC7ikeG3w23 (positions trimmed; the full log is GET /v3/deployments/dpl_2UdnxRkKxEUrSksvEQC7ikeG3w23/events):

Running "pnpm --filter '../../packages/*' -r build && pnpm build"
...
../../packages/app-shell build: Done
> @object-ui/site@3.1.0 build /vercel/path0/apps/site
> next build
▲ Next.js 16.3.6 (Turbopack)
> Build error occurred
Error: Turbopack build failed with 3 errors:
./apps/site/app/components/LiveSplitDemo.tsx
Error: Module not found: Can't resolve '@object-ui/example-schema-catalog'
./apps/site/app/components/SchemaCatalogIndex.tsx
Error: Module not found: Can't resolve '@object-ui/example-schema-catalog'
./apps/site/app/components/SchemaExample.tsx
Error: Module not found: Can't resolve '@object-ui/example-schema-catalog'
Error: Command "pnpm --filter '../../packages/*' -r build && pnpm build" exited with 1

The first failing deployment (dpl_BZ1P3Ptn7GUGoe9inMScdPEBVeY2) fails with the same three Module not found errors.

Root cause

  1. All three components import from @object-ui/example-schema-catalog (getExample in SchemaExample.tsx and LiveSplitDemo.tsx, allExamples in SchemaCatalogIndex.tsx). That workspace package lives in examples/schema-catalog, and its package.json exports["."] points only at ./dist/index.js / ./dist/index.d.ts, which exist only after its build script (tsc) has run.
  2. The Vercel project's dashboard build command is pnpm --filter '../../packages/*' -r build && pnpm build. The filter selects packages/* only, so it never builds examples/schema-catalog.
  3. Until 2026-09-06 that gap was covered by a prebuild script in apps/site/package.json, pnpm --filter @object-ui/example-schema-catalog build, which ran as the pre-hook of the second half of that command (pnpm build inside apps/site).
  4. fix(build): let turbo own build order, delete the hand-listed prebuild hooks #7986 (bf914dc753, merged 2026-09-06 07:05 UTC) deleted that hook on purpose, making turbo's build.dependsOn: ["^build"] the only source of build order. Every path in the repo moved to the turbo form, including the root site:build script (turbo run build --filter=@object-ui/site). The Vercel dashboard command lives outside the repo, so it was not updated.
  5. Result: on Vercel, examples/schema-catalog/dist never exists, and next build cannot resolve the package. The deployment boundary lines up exactly: the deployment for the commit before fix(build): let turbo own build order, delete the hand-listed prebuild hooks #7986 is READY, and the deployment for fix(build): let turbo own build order, delete the hand-listed prebuild hooks #7986 is the first ERROR.

Why CI's Build Docs stays green on the same commit

CI does not build the same thing Vercel does. ci.yml's Build Docs job runs pnpm turbo run build --filter='@object-ui/site'. turbo builds the site's whole workspace dependency closure first, and @object-ui/example-schema-catalog is a declared dependency of @object-ui/site, so turbo builds it. On 2498a07538, the same commit as the latest failed Vercel deployment, push run 38194536766's Build Docs job built for real (Tasks: 30 successful, 30 total, Cached: 7 cached, 30 total, including @object-ui/example-schema-catalog:build) and passed. (#8647 is a different problem: there, Build Docs skipped the build on PRs. On push and merge_group runs it always builds.)

So a green Build Docs check has said nothing about the production deploy since 2026-09-06. The two use different commands, and only one of those commands is in the repo.

Fix

Bring the deploy's build command into the repo and make it the command CI already runs: add apps/site/vercel.json (Vercel reads it from the project's Root Directory, and it overrides the dashboard values) with buildCommand cd ../.. && pnpm turbo run build --filter=@object-ui/site, and keep installCommand at the current dashboard value, pnpm i. With that, CI's Build Docs and the deploy run the same command. The command also builds only the site's dependency closure instead of every package under packages/. That PR is linked below.

⛔ Restoring the prebuild hook is not the fix: #7986 removed hand-listed build chains on purpose, and the turbo build inputs guard keeps their number at zero.

Related, separately: moving the docs deploy into a GitHub Actions workflow (free on this public repo) and turning Vercel's Git-triggered builds off. That PR is also linked below.

Close this issue once a production deployment of the objectui project after the fix is READY and objectui.org shows post-2026-09-06 content. A merge on its own does not count.


Filed by a Claude Code agent session for the maintainer (the Vercel readings were taken through the maintainer's logged-in Vercel CLI token, using read-only API calls).

🤖 Generated with Claude Code

Activity

  1. added
    bugSomething isn't working
    domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repo
    on Oct 12, 2026
  2. hotlong commented on Oct 12, 2026

    @hotlong
    ContributorAuthor

    The two PRs this issue refers to:

    Neither PR carries a closing keyword for this issue. Close it by hand once a production deployment is READY and objectui.org shows post-2026-09-06 content.

    🤖 Generated with Claude Code

  3. objectstack-fleet commented on Oct 12, 2026

    @objectstack-fleet
    Contributor

    Triage: grade completed. The filer's bug · priority:p1 · domain:devx stand; area:devpath and pm:awaiting-maintainer added, because the fix is in the maintainer's own PRs

    Triage seat (seat post objectstack-ai/objectstack#6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-12T03:52Z. ⛔ Not a claim, ⛔ not a dispatch. Thread-read: 6117322486.

    • State: the work is already in flight in the maintainer's session: PR objectui#12179 (the build command) and PR objectui#12182 (the Actions deploy, stacked on it). Both are drafts by hotlong. So no seat claims this card. pm:awaiting-maintainer keeps it off the claimable queue. The close also needs the maintainer's Vercel reading (a READY production deployment).
    • Why p1 stands: objectui.org has been frozen since 2026-09-06. Every main commit also bills a failing Vercel build (about 4.6 build-minutes each, per the card's reading). Until PR objectui#12179 merges, each merge adds to that cost. So merging it as soon as it is green is the cheap step.
    • Order: PR objectui#12179 first, as the card says. A READY deploy after it proves the fix. PR objectui#12182 is the separate cost change and rides after.
    • ⛔ No prebuild hook, as the card says. fix(build): let turbo own build order, delete the hand-listed prebuild hooks #7986's single build order stays.
  4. hotlong commented on Oct 12, 2026

    @hotlong
    ContributorAuthor

    Fixed by #12182 (merged as 7e30d0b). The docs site now builds on GitHub Actions with the same turbo command CI runs. First production deploy: run https://github.com/objectstack-ai/objectui/actions/runs/38205888262 → dpl_6eDjToaVU2VPLKUk7AZjtagmgpUE READY (2026-10-12 05:03 UTC), and objectui.org now serves it. This is the first successful production deploy since 2026-09-06. Vercel Git deployments are off (git.deploymentEnabled: false), so no Vercel build minutes are billed from here on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratebugSomething isn't workingci/cddomain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repopm:awaiting-maintainerpriority:p1

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions