Skip to content

ci(ui-merge): nothing deploys www.objectui.org since the nested workflows were deleted; deploy ui/apps/site from the root docs-deploy workflow (#25753 item 2) #26993

Open

Description

@objectstack-fleet

Filing gate ③ (maintainer-directed). In the cleanup project thread on 2026-10-28, Tesla was shown the decision card "objectui 文档站 www.objectui.org 以后怎么处理?" and answered 「A」 (option A, 「立卡:从 ui/apps/site 部署」), then 「你负责处理」 and 「使用 pm-dispatch 技能」. This card carries #25753's item 2, "the docs site serves from the merged repo", which is the last open done-when item on #25753. Part of #25753.

维护者速读

objectui 的文档站 www.objectui.org 原来由 objectui 仓自己的 docs-deploy.yml 每 6 小时构建并推到 Vercel 项目 prj_v1rXIczaI7YGmXmseQCLFUFOFxTB。这个 workflow 已随 #26058 删除。根仓的 docs-deploy.yml 只部署 apps/docs,ui/apps/site/vercel.json 又关了 Git 自动部署,所以从 2026-10-26 起没有任何流程部署这个站,18.2 之后的文档改动都不会上线。本卡在根仓 docs-deploy.yml 里加第二个作业,按同一套 vercel pull / build / deploy --prebuilt 方式部署 ui/apps/site。它改的是 .github/workflows/**,属 Tier H,需要你批准合并。另外有一个只能你做的动作:Vercel 项目的 Root Directory 要从 apps/site 改成 ui/apps/site(见下文 Maintainer-action)。

What is wrong

Who pays. People who read the @object-ui docs at www.objectui.org: integrators of the published @object-ui/* packages, which shipped at 18.2.0. The site stays frozen at its last deploy from the archived repo, so it never shows any release after the merge. objectui's own record shows the same failure before: a skipped deploy froze the site for five weeks (objectui#12178, quoted in the old workflow's header). Not measured from a seat: the proxy refuses the site's host, so the live page's age was not read.

Wanted

  1. A second job in the root docs-deploy.yml, Deploy objectui docs to Vercel (production), that keeps the root job's shape:
    • the same refusal step when VERCEL_TOKEN is absent or the ref is not main;
    • vercel pull → vercel build --prod → vercel deploy --prebuilt --prod, run from the repository root;
    • the same pinned VERCEL_CLI_VERSION;
    • the token passed only to the steps that call the Vercel API;
    • the root job's post-build output checks, here against ui/apps/site/.next.
      Its env takes the old objectui project id above, and the same team id the root job already uses.
  2. The old workflow's objectstack-pin.mjs build steps are not ported: the merged tree builds @objectstack/* from the workspace. Check ui/apps/site/vercel.json's installCommand / buildCommand (cd ../.. && pnpm turbo run build --filter=@object-ui/site) against the merged layout, and fix that file if needed. No PR job builds @object-ui/site today. objectui's ci.yml "Build Docs" job is row 7 of ci(ui-merge): nine objectui correctness gates the #25697 roster kept have run nowhere since the nested workflows were deleted; port the four that guard published @object-ui packages (parent #25677) #26717, which left it to be decided with this deploy. Add that build to a ui lane under the ui filter so a PR predicts the deploy, or write on the card why not.
  3. The root workflow's header text and any roster or self-test that pins the docs-deploy job list (check-aggregator-roster, check-expected-skips, check-step-collectors, workflow self-tests under scripts/__tests__/) are updated to match; each --self-test exits 0.

Maintainer-action: in the Vercel dashboard for project prj_v1rXIczaI7YGmXmseQCLFUFOFxTB, set Root Directory to ui/apps/site (it reads apps/site today, per the old workflow's header). Also confirm that the repository's VERCEL_TOKEN can deploy to that project — the root job's token belongs to the same team. This is done when the first workflow_dispatch run of the new job deploys and prints the deployment URL.

Who acts

A domain:devx card thread (Tier H, .github/workflows/**): the PR stays draft until it is green, then GOVERNED_APPROVERS review it, the maintainer merges, and the seat never enqueues it. Proof is one workflow_dispatch run on main after the merge. If the maintainer action is not done yet, that run is expected to fail at vercel build on the old Root Directory. Record that on the card, and do not treat it as a code defect.

Acceptance

  • One green workflow_dispatch run of the new job on main, with the deployment URL on the card.
  • A page changed after 2026-10-26 (any ui/content/docs/** edit on main) renders on www.objectui.org, read by the maintainer or by a seat whose network allows the host.
  • The root apps/docs job is unchanged, and its next scheduled run stays green.

Duplicate search. objectstack-ai/objectstack, "objectui docs site deploy vercel ui/apps/site objectui.org": #25753 (open, item 2 is this card's source), #26058 (merged, deleted the workflow), #26944 (open, F14 CI docs page, different file). No card deploys the site. New.

Size: S–M. Clause-②: no. Metadata-protocol: none.

Activity

  1. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: cleanup project thread, dispatch of #26993 (maintainer-directed: 「A」, 「你负责处理」, 「使用 pm-dispatch 技能」, 2026-10-28 00:23Z, cleanup project thread)
    Session: session_01L9qibvE77Ed7MKdzPxJTQQ (dispatching seat) · dev card thread session_01L9qibyAYPFxpNP4BCr7Z82
    Account: os-tesla
    Branch: claude/project-thread-e7al7l (mode:thread; the card thread's platform-assigned branch, the only one it pushes)
    Worktree: the card thread's own checkout
    Domain: domain:devx
    Seat: domain:devx (dispatched from the cleanup thread on the maintainer's instruction, not from a lane seat)
    File surface: .github/workflows/docs-deploy.yml, ui/apps/site/vercel.json, the ci.yml ui-lane region if a PR build of @object-ui/site is added, and the workflow rosters and self-tests that pin those job lists (scripts/check-*.mjs, scripts/__tests__/); ⛔ no AGENTS.md, no docs/adr/**, no packages/** (stop on breach; explain in the report)
    Container & model: S–M, mode:thread, model: opus (default; dispatch-gates --tier --repo objectstack-ai/objectstack .github/workflows/docs-deploy.yml ui/apps/site/vercel.json .github/workflows/ci.yml prints no path-derived mandate), effort: high
    Clause-②: no
    Metadata-protocol: none
    Responsibility: .github/workflows/** lost the site deploy when #26058 deleted ui/.github/workflows/docs-deploy.yml without a root counterpart | no platform path covers it: root docs-deploy.yml deploys apps/docs only, and ui/apps/site/vercel.json turns Git deploys off | readers of www.objectui.org, the @object-ui docs for the 18.2.0 packages, today
    Thread-read: none
    Premise: holds (re-read 2026-10-28 00:3xZ on main fd246c22c: git grep -n 'apps/site\|object-ui/site' .github/ finds no deploy and no PR build of the site)
    Serial constraints cleared: open PRs on 2026-10-28 00:3xZ — no open PR touches .github/workflows/docs-deploy.yml; #26556 (Dependabot dev-dependency group) touches ui/apps/site/package.json only, which is outside this card's surface. Tier H by path (.github/workflows/**): the PR stays draft until it is green, GOVERNED_APPROVERS review it, and the maintainer merges; the seat never enqueues it.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
     "issue": 26993,
     "status": "done",
     "branch": "claude/project-thread-e7al7l",
     "pr": "https://github.com/objectstack-ai/objectstack/pull/27005",
     "session": "session_01L9qibyAYPFxpNP4BCr7Z82",
     "premise_still_valid": true,
     "summary": "Added job deploy-ui-site ('Deploy objectui docs to Vercel (production)') to the root .github/workflows/docs-deploy.yml: ref and token refusals, setup-workspace, vercel pull / build --prod / deploy --prebuilt --prod from the repo root, CLI 60.1.3, project prj_v1rXIczaI7YGmXmseQCLFUFOFxTB, build step without VERCEL_TOKEN, BUILD_ID and .vercel/output assertions, summary URL. A step after pull refuses red unless the project's Root Directory reads ui/apps/site, naming the dashboard setting. The apps/docs job and ui/apps/site/vercel.json are unchanged (the vercel.json commands build the site in the merged layout, measured). No PR build lane for @object-ui/site was added; why is in the PR's Acceptance notes. PR is a draft, head 2defad3c.",
     "tests": "Cold local build of the production command from ui/ (cwd ui/apps/site then cd ../..): pnpm turbo run build --filter=@object-ui/site --concurrency=2 under os-verify-lock: Tasks 65 successful, 65 total; Cached 0; WALL 596s EXIT 0; ui/apps/site/.next/BUILD_ID written. YAML parse: jobs deploy, deploy-ui-site (10 steps). No ablation: workflow-only change.",
     "gates": "dispatch-gates --commands: 36 commands. 35 fast ones run locally on 137ca903 and again on final head 2defad3c, each recorded 'CMD :: exit 0' (list in the PR body). GITHUB_ACTIONS=true GITHUB_EVENT_NAME=push pnpm check:pm-dispatch-gates on 2defad3c: 2224 cases pass (fast 1935, slow 289), EXIT 0, 1191 s. PR check-runs: in_progress at report time. NOT MEASURED: vercel pull/deploy and the rootDirectory read (need VERCEL_TOKEN); the first workflow_dispatch run on main after merge is the card's proof.",
     "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
     "mcp_calls": "6 — reads only: issue_read x3, pull_request_read x1, plus subscribe_pr_activity x1 (harness subscription, not a GitHub write); no MCP write tool",
     "api_writes": "2 — relay pr_create (PR 27005, assignees os-tesla, label skip-changeset; relay requested os-zhuang and hotlong) and this os-dev-report comment via post-stamped; git push is not a REST write",
     "open_questions": [],
     "out_of_scope_findings": [
      "carrier: #26944 · ui/content/docs/guide/ci-cd-pipeline.md still describes objectui's deleted docs-deploy.yml · noted, not filed",
      "carrier: #26717 row 7 / maintainer · a per-PR build of @object-ui/site was not added (cost reasons in the PR) · noted, not filed"
     ]
    }

    Generated by Claude Code

  3. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    #27005 merged at 01:56Z (4eb1140): the root Docs Deploy workflow now carries the job Deploy objectui docs to Vercel (production).

    This card's maintainer action is bigger than the Root Directory alone. On 2026-10-28 02:14Z, in the card thread, Tesla wrote: 「立一张维护者操作卡,实际没这么简单,因为 vercel 中挂的项目也要改。」 The Vercel-side changes are now tracked on #27030 (pm:awaiting-maintainer): Root Directory, the connected Git repository (still the archived objectui repo), build overrides, Node version, env vars, domains and token reach. This card's proof is still the same: a Docs Deploy run on main with deploy-ui-site green and its deployment URL posted here. Until #27030 is done, a run is expected to go red at the Root Directory step, and that is the pending maintainer action, not a code defect.

    Session: session_01L9qibyAYPFxpNP4BCr7Z82 (card thread)


    Generated by Claude Code

  4. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    First Docs Deploy run on main since #27005: run 40646180301, the 06:43Z schedule slot (started 06:49Z, head 6817bf1e).

    • Build the docs site and deploy it to Vercel production (apps/docs): green, deployed as before.
    • Deploy objectui docs to Vercel (production): red at Require the project's Root Directory to be ui/apps/site, with nothing built or deployed:

      The Vercel project prj_v1rXIczaI7YGmXmseQCLFUFOFxTB has Root Directory 'apps/site', and this repository builds the site from 'ui/apps/site'. Nothing is deployed.

    That is the pending maintainer action on #27030, not a code defect. One #27030 item is now measured: Pull the production project settings passed, so the organization's VERCEL_TOKEN can read the objectui project.

    Direction change, pending: in the card thread, Tesla chose to fold www.objectui.org into the objectstack docs site instead of keeping a separate site. Which objectui pages survive is being evaluated with Tesla now, and no migration card is filed yet. If that lands, the deploy-ui-site job and the objectui Vercel project are retired, #27030 shrinks to a domain move, and this card closes on the redirect rather than on a green run here. Until then, every 6-hourly Docs Deploy run will show this same red job.

    Session: session_01L9qibyAYPFxpNP4BCr7Z82 (card thread)


    Generated by Claude Code

  5. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Rescoped. This card's goal was for www.objectui.org to serve from the merged repo. It now reaches that goal by redirect instead of a separate deploy.

    On 2026-10-28, in this card's thread, Tesla made three calls:

    • 03:24Z: chose 「B 并入 objectstack 文档站」.
    • 07:58Z: confirmed the page evaluation with 「VS Code 扩展 不会发布,其他同意」.
    • 07:58Z: asked for the fold to be dispatched with 「你负责派卡执行」.

    The fold is four cards:

    #27030 is rescoped to the maintainer's domain move plus deleting the objectui Vercel project.

    This card closes when https://www.objectui.org/docs/guide/quick-start answers 301 to its objectstack.ai/docs/sdk page. That happens after #27145 merges and the #27030 domain move. The new close condition replaces the green deploy-ui-site run in the Acceptance above. Until #27145 lands, every 6-hourly Docs Deploy run keeps showing that job red at the Root Directory step, which is expected.

    Session: session_01L9qibyAYPFxpNP4BCr7Z82 (card thread)


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions