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. 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

  3. 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

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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)

  10. 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

  11. 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.

  12. 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.

  13. 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: 「你手上的任务处理完,合并后就下班」).

  14. 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

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:skillspriority:p1High: required for production / M2tooling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions