Skip to content

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

Closed

Description

@objectstack-fleet

Filing gate ④ (承父单: a follow-up owed by landed work, the #25697 workflow roster, under epic #25677) + ①-adjacent: a gate population with a named landing point that has run nowhere since ui/.github/workflows/** was deleted (#26058, 2026-10-26). Part of #25677. ⛔ Not a claim. Touches .github/workflows/ci.yml = Tier H: GOVERNED_APPROVERS review, the PR stops at draft.

维护者速读

objectui 并入前,有 9 个"正确性"检查在 objectui 自己的 CI 里跑。合并时的清单(#25697 评论 6388182608)把它们标为"保留、稍后移植",#26058 删掉 objectui 的 workflow 时也写了"移植时从本 PR 父提交读取"。但之后没有卡接手,根 CI 至今没跑其中任何一个(覆盖率已移到 ui-coverage-nightly.yml,不在此列)。最要紧的是 check-published-dist-tooling:objectui 每次发 @object-ui/* 之前都跑它(ui/package.json 的 changeset:publish),防止把测试文件或 vitest 导入打进 npm 包;根仓的发布脚本 scripts/release-publish.sh 不跑它,所以 18.2 发布时没有经过这道检查。建议:移植四个保护已发布包的检查,其余五个按下表退役或改为报告。

谁付代价(业务筛)

Anyone who installs @object-ui/* from npm. These gates exist because the defects reached consumers before:

  • objectui#4836 measured dist/__benchmarks__/core.bench.js in a published package, a module whose first statement imports vitest, which no consumer installs (check-published-dist-tooling.mjs header).
  • objectui#4538: packages/react/dist/index.js re-exported through extensionless relative specifiers that Node's resolver cannot load (check-node-esm-load.mjs header). Only the specifier leg runs today (type-check-ui, pnpm --dir ui run check:esm-specifiers); the load leg, which evaluates each built entry, runs nowhere.
  • performance-budget.yml enforced the Console's eager-closure budget (check:eager-closure); a Console first-load regression now lands unmeasured.

Cost of not doing it: the next @object-ui/* publish ships whatever these gates would have refused, and a consumer finds it.

Measured (origin/main 4373103, 2026-10-27)

git grep over .github/workflows/ finds none of these aliases or scripts. Roster rows are #25697 comment 6388182608; the deleted workflow files are readable at #26058's parent.

Row objectui workflow / job What it guarded Proposed
23 published-dist-gate.yml (check:published-dist) tooling files in published dist/ port, and run it before publish in scripts/release-publish.sh too (it was in objectui's changeset:publish)
21 node-esm-load-gate.yml (check:node-esm-load, full leg) every published ESM entry loads in Node port (push/schedule as before, it costs a build)
7 ci.yml "Test (dist pins)" (test:dist on @object-ui/components) assertions on built dist port into Build & E2E UI, which already builds
22 performance-budget.yml (check:eager-closure) Console eager-closure budget port, folded into Build & E2E UI (the roster's note: avoid a second Console build)
19 lockfile-integrity.yml a lockfile change may not silently duplicate a dependency port or retire: the seat measures overlap with root validate-deps.yml first
18 lockfile-dedupe.yml report-only wrapper around pnpm dedupe --check retire, or one continue-on-error step, per #25920's measurement (145 runs / 90 days, 0 failures)
7 ci.yml "Build Docs" (@object-ui/site) the objectui docs site builds decide with F14 / docs-deploy (sub-issue 4 row 10)
17 live-e2e.yml (informational) live backend E2E retire unless a seat owns reading it
26 shadcn-check.yml (schedule report) upstream shadcn updates retire (a maintenance report, never a gate)

Who acts

A domain:devx card thread, editing ci.yml (build-e2e-ui region plus one push/schedule job) and scripts/release-publish.sh. The rows marked "retire" need no code beyond deleting their ui/package.json aliases and scripts if nothing else reads them (check ui/scripts/__tests__ first). Any new required context is the maintainer's, not this card's.

Acceptance

  • Each ported gate runs in the root CI with its <check> — <step> name, and one run id per gate is on the card.
  • A counter-probe per ported gate: a deliberate defect (a *.test.d.ts copied into a built dist/, an extensionless relative re-export) turns its step red, then is reverted.
  • scripts/release-publish.sh refuses to publish when check-published-dist-tooling exits non-zero.
  • The retired rows are listed on the card with what replaced them, or "nothing, by choice".

Duplicate search. objectstack-ai/objectstack, "port objectui correctness gates lockfile dedupe node esm load published dist performance budget into root CI": 10 hits. #25880 (closed) ported the 19 repo gates and left these rows out by name ("each stays its roster row"); #25920 (closed) measured the dedupe wrapper; #25697 and #25678 (open, closing). No card carries the ports. New.

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


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: first grade — tooling · priority:p1 · domain:skills · area:devpath · pm:queue · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-27T15:59Z

    ⛔ Not a claim, ⛔ not a dispatch.


    Generated by Claude Code

  2. added
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    domain:skillsDomain lane — seat card indexed by label:pm:seat
    pm:queueReady for the PM dispatch loop
    priority:p1High: required for production / M2
    toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Oct 27, 2026
  3. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1
    Session: session_01ADHkmSrRBdu9MdC6fc33Uu
    Account: os-steve (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/project-thread-s71sz8 (the card thread's harness push branch, self-reported at 2026-10-27T16:40Z — the measured platform exception to claude/issue-N-slug)
    Worktree: objectstack-issue-26717
    Domain: domain:skills
    Seat: domain:skills#1
    File surface: .github/workflows/ci.yml (the build-e2e-ui region plus one push/schedule job) and scripts/release-publish.sh, plus only the ui/ aliases or scripts those steps call if a path must change; the card table's four "port" rows only (23 check:published-dist, 21 check:node-esm-load load leg, 7 test:dist, 22 check:eager-closure); the five retire / port-or-retire rows are measured and reported, not changed; ⛔ no new required context (stop on breach; explain in the report)
    Container & model: M, mode:thread, model: TIER_DEFAULT (dispatch-gates --tier: no path mandate on ci.yml or release-publish.sh), effort: high. Tier H (.github/workflows/**): draft PR; ⛔ the dev never readies, arms or enqueues it.
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card (a roster follow-up owed by the ui merge)
    Thread-read: 6446838341
    Premise: holds (seat re-measure on origin/main 8b276385: git grep over .github/workflows/ and scripts/release-publish.sh finds none of the four aliases)
    Serial constraints cleared: no open PR names .github/workflows/ci.yml or scripts/release-publish.sh; open PR #26556 edits ui/package.json — the dev stops and reports before touching it

  4. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 26717,
      "status": "done",
      "branch": "claude/project-thread-s71sz8",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/26854",
      "session": "session_01ADHkmNiJfZmoXAbfcJSAfx",
      "premise_still_valid": true,
      "summary": "Ported the delta's four port rows into root CI, draft PR #26854 (Tier H, head 8090d1fa, Part of #26717). Build & E2E UI gains check:eager-closure (with objectui's PR ceiling-freshness half) and test:dist on @object-ui/components over the builds it already makes; a new non-required full-battery job UI Published Artifacts (push/schedule only) runs pnpm build then check:published-dist --no-build and check:node-esm-load --no-build. scripts/release-publish.sh runs the published-dist scan before npm's record starts and exits 1 before changeset publish on a non-zero scan. Two forced test edits: release-verify-npm battery 16 (npm stub, floor 8 to 12) and check-published-dist-tooling.test.ts's per-PR pin rewritten per job (option B, own commit, awaiting Steve's decision card). No deletion, no new required context, ui/package.json (#26556) untouched.",
      "tests": "Head f0665932 after a cold pnpm build: check:published-dist --no-build exit 0 (36 packages, 0 tooling); check:node-esm-load --no-build exit 0 (provenance 35/35, load 33/36: create-plugin bin-only, plugin-dashboard/plugin-map ruled .css boundary); check:eager-closure exit 0 (1950.2 KB of 2431.6 KB, headroom 481.4 KB); turbo test:dist --filter=@object-ui/components exit 0 (2 files, 8 tests); PR freshness step rehearsed exit 0. Counter-probes, all restored: row 23 tooling file in core dist exit 1 (alias and release-path spelling); row 21 extensionless re-export in react dist exit 1 ERR_MODULE_NOT_FOUND; row 22 report +700000 gzip bytes exit 1 '202.2 KB over'; row 7 ablation namespace 'page' to 'probe26717' exit 1 'registers page:header from the BUILT bundle', re-run green. release-verify-npm --self-test 169 cases across 16 batteries, incl. tooling run exits 1 'Refusing to publish' with changeset and git never called.",
      "gates": "Final head 8090d1fa (origin/main 0ea90c7a merged): dispatch-gates --commands derived 71 commands for 4 paths; all 71 exit 0 under os-verify-lock (VERDICT command-exit 0, 44m35s), incl. ui vitest scripts/ 178 files 5066 passed 2 skipped, check:pm-dispatch-gates fast tier 1935 cases. --ran: '71 derived famil(ies) accounted for — 71 run, 0 NOT-MEASURED', 0 UNRUN. CI families: PR check-runs not yet reported at report time (not waited on); UI Published Artifacts first runs on the push that lands the PR.",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "mcp_calls": "9 — reads only: actions_list x4, issue_read x2, list_commits x1, pull_request_read x2 (one is the PR read-back)",
      "api_writes": "2 — fleet-write relay pr_create (POST pulls + assignees/labels, PR #26854); this os-dev-report comment on #26717 via post-stamped.mjs",
      "open_questions": [
        {
          "question": "Row 23's per-PR ruling pin (objectui#4846 comment 5307574139) was read per workflow file, so no ci.yml job could carry the scan. Where should check:published-dist run?",
          "options": [
            "A: a separate push/schedule workflow file; pin untouched, but scheduled-full-run --release-gate does not read it",
            "B: a ci.yml full-battery job whose if: denies pull_request and merge_group; pin rewritten per job (implemented in #26854, own commit)",
            "C: release-publish.sh only, no CI step; violates the delta's 'a CI step' half"
          ],
          "recommendation": "B, because the release gate already reads ci.yml's push/schedule runs before a publish approval and the ruling (no per-PR full build) still holds per job. Decision card is open with Steve in the card thread."
        }
      ],
      "out_of_scope_findings": [
        "class: a · reach: maintainer-run alias `pnpm --dir ui run check:node-esm-load` (no --no-build) exits 254 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL 'Command \"build\" not found' because ui/package.json has no build script · CI and release route around it with --no-build · dedupe words: node-esm-load build mode, ui build script, check-node-esm-load pnpm build",
        "class: a · reach: maintainer-run alias `pnpm --dir ui run check:published-dist` builds `turbo run build --filter=!@object-ui/site` from ui/ = 128 tasks incl. @objectstack/docs, not the release's pnpm build · dedupe words: published-dist build mode, docs build, filter object-ui/site",
        "carrier: next card for #26717's rows 19, 18, 7-docs, 17, 26 (measured: no root carrier for any; validate-deps has no lockfile-integrity overlap; #25920 dedupe 145 runs 0 failures) · noted, not filed",
        "carrier: next card for #26717 · the unported halves of objectui's performance-budget step: entry-chunk 350 KB cap, check:eager-locale-catalogues, check:sdui-registration-pins, size report, PR comment · noted, not filed",
        "carrier: none · release.yml's comment over the publish step and check-node-esm-load.mjs's docblock ('--no-build is wired into nothing') are stale after #26854 · in the PR's Acceptance notes"
      ]
    }

    Generated by Claude Code

  5. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT → PR #26854 comment 6450639236 · domain:skills#1 · 2026-10-27T18:46Z · slice 1 (the four "port" rows); Tier H + ci.yml: draft until a GOVERNED_APPROVERS approval and the maintainer's explicit ci.yml approval; contract review requested from the director seat. Rows 19, 18, 7-docs, 17, 26 stay on this card as slice 2 (the PR says Part of). The two ui script build-mode defects the dev measured are filed as #26860.

  6. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Seat note · domain:skills#1 · session_01ADHkmSrRBdu9MdC6fc33Uu · 2026-10-27T18:55Z · claim amendment to 6447773049 (same branch claude/project-thread-s71sz8)

    File surface adds: scripts/pm/check-expected-skips.mjs, one LISTED row for the new UI Published Artifacts job (ci.yml, job ui-published-artifacts, the ui-consumers gate kind its live if: pins, the full-battery reason plus its filter clause), next to the dogfood-verify row. Reason: the director's must-fix on PR #26854 (6450870402) — the job skips on every pull_request / merge_group run by design, nonPrEventGate cannot derive it from its != form, so without the row every ui-touching PR's queue check reads "1 skipped check-run outside the roster" (exit 4) and the queue lane refuses it. Nothing else.

  7. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Seat note · domain:skills#1 · session_01ADHkmSrRBdu9MdC6fc33Uu · 2026-10-27T18:59Z · claim amendment 6450902736 is withdrawn, no edit made

    The roster in scripts/pm/check-expected-skips.mjs is derived, not listed, since #26648 (file header L43: "The roster is DERIVED, never listed (#26439)"). Its gate-term reader takes github.event_name != 'pull_request' | 'merge_group' as a pr-event term (L438, L455), so UI Published Artifacts is derived from its live if: (the dev's --roster on head 8090d1fa: "21 expected-skip name(s), every one derived … none listed by hand", the job among them). A hand-listed row would turn the self-test's "no hand-listed roster survives" case red. The claim's file surface is back to 6447773049. The PR's own enqueue run reads main's roster, which lacks the job until it lands — a one-time exit 4 on this PR only, the case the self-test's ADD case names.

  8. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Seat note · domain:devx#1 · session_01JQwxbaFpnMwgpCgneKe2qS · 2026-10-27T21:56Z · ⛔ not a claim

    For the next roster card, which takes the five port-or-retire rows: row 17 (live-e2e, test:e2e:live:ci) is already ruled. On #25914, ruling 6435339772 (Q1 A, 2026-10-27T06:26Z) makes the four-spec live lane a required context, so it is not to be retired. #25914 is domain:devx's and runs serial behind PR #26854 on ci.yml. The seat's reading is on #25914.

  9. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Progress · domain:skills#1 · session_01ADHkmSrRBdu9MdC6fc33Uu · 2026-10-27T23:49Z — slice 1 landed: PR #26854 merged (merge commit daf52bcc7c), row 23 on option B. Run ids for rows 22 and 7: run 40572918935, job 122432456015 (PR head 21b79c13); rows 23 and 21 read the first main push run of UI Published Artifacts, added here when it finishes. Slice 2 (rows 19, 18, 7-docs, 26) is dispatched next; row 17 is kept per #25914's ruling 6435339772 (devx#1 note 6454613263). pm:dispatched stays.

  10. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 2 (slice 2; slice 1 = PR #26854, merged)
    Session: session_01ADHkmSrRBdu9MdC6fc33Uu
    Account: os-steve (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/project-thread-oo129e (the slice-2 card thread's harness push branch, self-reported at 2026-10-27T23:53Z — the measured platform exception to claude/issue-N-slug; supersedes slice 1's claude/project-thread-s71sz8)
    Worktree: objectstack-issue-26717
    Domain: domain:skills
    Seat: domain:skills#1
    File surface: .github/workflows/ci.yml (row 19 check:lockfile-integrity port only, non-required), ui/package.json (only the aliases of the retired rows 18 lockfile-dedupe and 26 shadcn-check), the retired ui/scripts/** files and the ui tests that pin them; row 7-docs per the F14 / docs-deploy record, or put to the seat under open_questions if that record does not decide it. ⛔ Row 17 live-e2e excluded (#25914 ruling 6435339772, domain:devx). No new required context. Nothing else (stop on breach; explain in the report)
    Container & model: S, mode:thread, model: CONTRACT_REVIEW_TIER (dispatch-gates --tier: MANDATORY — .github/workflows/ci.yml, clause ①), effort: high. Tier H (.github/workflows/**): draft PR; ⛔ the dev never readies, arms or enqueues it; ci.yml needs the maintainer's explicit approval.
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card (a follow-up owed by landed work, the #25697 workflow roster)
    Thread-read: 6456471571
    Premise: holds (PR #26854's Acceptance notes, re-read on main: no root carrier for rows 19, 18, 7-docs, 26; root validate-deps.yml has no duplicate-dependency step)
    Serial constraints cleared: PR #26854 (same ci.yml) merged; dependabot PR #26556 also edits ui/package.json (it rebases itself; hunks kept to the alias lines)

  11. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 26717,
      "status": "done",
      "branch": "claude/project-thread-oo129e",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/26995",
      "session": "session_01ADHkmSracEMN5RmM9xs4Fu",
      "premise_still_valid": true,
      "summary": "Slice 2, draft PR #26995 (Tier H, head a463a624, Part of #26717). Row 19 ported: check:lockfile-integrity is one pull_request-only, continue-on-error step of Type Check UI, before the install, against origin/BASE (the job already checks out with fetch-depth 0); no new job or context. Row 18 retired: check:lockfile-dedupe alias, script and test deleted. Row 26 retired: shadcn-check-report.mjs (the weekly workflow's classifier) and its test deleted; shadcn:check / shadcn:analyze and shadcn-sync.js stay because the components READMEs, shadcn-components.json, four other shadcn aliases and regen-artifacts.mjs read them ('only what nothing else reads'). Row 7-docs is NOT decided: the record decides the docs DEPLOY (#25712 item 5: a second job in root docs-deploy.yml), which never landed, and F14 is the ci-cd-pipeline.md rewrite; so it is the open question below. Row 17 untouched.",
      "tests": "Head a463a624. Step command `pnpm --dir ui run check:lockfile-integrity --base-ref origin/main`: exit 0, 'VERDICT clean — no package gained a copy.' (1941 resolutions both sides). Counter-probe: root pnpm-lock.yaml mutated with the test's sample (a) (extra ai@7.0.65(zod@4.6.7) snapshot, marker count 1 on disk): exit 1, 'VERDICT 1 lockfile-integrity finding(s): 1 duplication(s).' + '::error title=Lockfile integrity::ai'; restored via git checkout HEAD under a trap, blob 8b64d515 before = after, git diff HEAD empty, re-run exit 0. check-lockfile-integrity.test.ts: 17 passed (13 + 4 new wiring pins). git grep -F check:lockfile-dedupe: 0 hits. No ablation: workflow/scripts/test only.",
      "gates": "Root pnpm build under os-verify-lock: VERDICT command-exit 0 (12m30s). dispatch-gates --commands --repo objectstack-ai/objectstack: 74 derived for 7 paths; all 74 exit 0 (captured before any pipe), incl. ui vitest scripts/ under lock (176 files passed 2 skipped, 5032 tests passed 2 skipped, VERDICT 0), check:pm-dispatch-gates fast tier 1935 cases, check:required-contexts, check:ci-filter-parity, check:pm-expected-skips, check:workflow-step-name-quoting, check:published-files. --ran: '74 derived famil(ies) accounted for — 74 run, 0 NOT-MEASURED', 0 UNRUN. CI families: PR #26995 check-runs not yet reported at report time (not waited on); the ported step's run id comes from that PR's Type Check UI job.",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "mcp_calls": "8 — reads only: issue_read x3 (#26717 get + comments, #25697 comments), get_sub_issues x1 (#25677), search_issues x2, pull_request_read x2 (#26854, #26995 read-back)",
      "api_writes": "2 — fleet-write relay pr_create (run 40609513752: POST pulls + assignees + labels legs, plus its governed-review follow-up requesting hotlong and os-zhuang), PR #26995; this os-dev-report comment on #26717 via post-stamped.mjs",
      "open_questions": [
        {
          "question": "Row 7-docs: objectui's per-PR 'Build Docs' (@object-ui/site) runs nowhere and root pnpm build excludes ./ui*/apps/site. The record (#25712 item 5) decided only the deploy: a second job in root docs-deploy.yml for objectui's separate Vercel project, ids/secrets the maintainer's; #26058 deleted the workflow without porting it and root docs-deploy.yml deploys apps/docs only. F14 (on #25753) rewrites ci-cd-pipeline.md and decides no build. Which way for the build row?",
          "options": [
            "A: port the build as a non-required ci.yml job (ui-filtered, PR + push, `pnpm --filter @object-ui/site build`): restores objectui's per-PR check; costs a Next build per ui PR; whether the site builds in the monorepo today is NOT MEASURED",
            "B: fold it into the deploy port #25712 item 5 already decided (a second job in root docs-deploy.yml whose vercel build is the build check on main), carried by #25753 with the maintainer's Vercel project id and secret; retire the per-PR row here with 'replaced by the deploy job'",
            "C: retire it with no replacement; whether ui/apps/site lives at all is left to F14 / #25753"
          ],
          "recommendation": "B, because it follows the only record that exists, builds the site where it ships, adds no per-PR build, and its one blocker (the Vercel project) is already #25753's scope; this PR stays Part of until the seat or Steve picks."
        }
      ],
      "out_of_scope_findings": [
        "carrier: #25753 (F14) · ui/content/docs/guide/ci-cd-pipeline.md still describes lockfile-integrity.yml, lockfile-dedupe.yml and shadcn-check.yml as live, like every other deleted objectui workflow · noted in the PR's Acceptance notes",
        "carrier: none · ui/scripts/workspace-root.mjs docblock names check-lockfile-dedupe.mjs as a pre-install importer; ui/scripts/dependabot-merge-gate.mjs keeps 'Lockfile Dedupe Check' in OPTIONAL_CONTEXTS and names shadcn-check-report.mjs in its header; the script runs in no root workflow · stale prose outside the file surface, in the PR's Acceptance notes",
        "carrier: none · the card delta said dispatch-gates --tier is MANDATORY for ci.yml; measured on this change set: 'no path-derived mandate: the surface hits none of the 4 declared glob(s)' · noted, not filed"
      ]
    }

    Generated by Claude Code

  12. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT → PR #26995 (slice 2: rows 19 ported, 18 and 26 retired) · domain:skills#1 · 2026-10-28T00:37Z · Tier H, ci.yml: draft until the maintainer approves; contract review (≥ xhigh) requested from the director seat; row 7-docs goes to the maintainer as a decision.

  13. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed (slice 2) · domain:skills#1 · session_01ADHkmSrRBdu9MdC6fc33Uu · 2026-10-28T01:38Z — PR #26995 merged through the queue (merge commit e6c4409000, 01:04Z), after the director's PASS 6457540015: row 19 ported as a pull_request-only, continue-on-error step of Type Check UI; rows 18 and 26 retired. The card stays open (Part of) for row 7-docs (@object-ui/site per-PR build), which is with the maintainer as a decision (seat recommends folding it into the objectui docs deploy port under #25753 and retiring the row). Row 17 stays out of scope by #25914.

  14. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Hand-off · domain:skills#1 · session_01ADHkmSrRBdu9MdC6fc33Uu · 2026-10-28T03:32Z — the seat stands down (maintainer, 2026-10-28 03:30Z: 「你手上的任务处理完,合并后就下班」).

  15. added
    pm:awaiting-maintainerAwaiting a manual maintainer action — ruling already given; no dispatch, no machine exit
    and removed
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    on Oct 28, 2026
  16. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Closing record for #26717 · 2026-10-28T10:37Z

    All nine rows of the #25697 roster are disposed:

    Row Disposition Where
    23 check:published-dist ported (full-battery job UI Published Artifacts + scripts/release-publish.sh refusal) PR #26854
    21 check:node-esm-load load leg ported (same job) PR #26854
    7 test:dist ported into Build & E2E UI PR #26854
    22 check:eager-closure ported into Build & E2E UI PR #26854
    19 check:lockfile-integrity ported: a pull_request-only, continue-on-error step of Type Check UI PR #26995
    18 lockfile-dedupe retired, nothing replaces it, by choice PR #26995
    26 shadcn-check weekly report retired (its classifier shadcn-check-report.mjs); shadcn:check / shadcn:analyze stay as the components package's maintainer commands PR #26995
    7-docs @object-ui/site build retired with the site, nothing replaces it maintainer ruling below
    17 live-e2e out of this card: a required context under #25914's ruling 6435339772, domain:devx #25914

    Row 7-docs, the maintainer's ruling (Steve, 2026-10-28T10:35Z, verbatim):

    这个问题已经作废了,objectui 文档站已经决定退役

    So the open question in report 6457446264 is withdrawn: no site build or deploy job is added. Removing ui/apps/site itself, and rewriting ui/content/docs/guide/ci-cd-pipeline.md (F14), are not this card's; F14 stays on #25753.

    Still open elsewhere, not this card: the unported halves of objectui's performance-budget step (entry-chunk 350 KB cap, check:eager-locale-catalogues, check:sdui-registration-pins) noted on PR #26854, and the two ui script build-mode defects filed as #26860.


    Generated by Claude Code

  17. removed
    pm:awaiting-maintainerAwaiting a manual maintainer action — ruling already given; no dispatch, no machine exit
    on Oct 28, 2026
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, iteratedomain:skillsDomain lane — seat card indexed by label:pm:seatpriority:p1High: required for production / M2toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions