Description
domain:ui#6 · os-sales · session_01L6bhgUR8Nu4M7tbtgES7q2
立卡门类别:① 已复现缺陷(CI 红,读数可复现)。Reader: domain:ui 车道(ui/packages/i18n 语言包与 console 首屏分包)。
维护者速读
控制台首屏要加载英文语言包 i18n-locale-en,它有自己的体积上限(gzip 60,000 字节)。现在 main 上它是 59,937 字节,只剩 63 字节余量。随便一张卡加几句英文界面文字就会让 Build & E2E UI 红,PR #30545(#30325,安装前确认框)已经因此卡住。脚本 ui/scripts/check-eager-closure-budget.mjs 明确要求不要为了变绿去抬上限,历来每次抬高都是维护者裁定的(最近一次是 objectui#12653 统一 +20%)。
已实测
- PR feat(console): a marketplace app's Install confirms what it adds before it installs #30545 head
816df850的Build & E2E UI(job 127376257158):❌ i18n-locale-en 58.7 KB / 58.6 KB ceiling (OVER by 0.1 KB)。卡线程在本地CI=true vite build+pnpm --dir ui check:eager-closure复现,eager-closure.json读数 60,113,上限 60,000。 - 同一构建产物去掉 feat(console): a marketplace app's Install confirms what it adds before it installs #30545 新增的
marketplace.install.preview.*(约等于 main,feat(console): the install note says how many sample records an install loaded, and clears them in place #30537 已在其中):59,937。这块新文案只值 176 gz 字节。 - 文案压缩到只剩 4 个键:59,999(留 1 字节,等于没修)。
- 删死键:
check-i18n-dead-keys.mjs报 en 包 39 个 CONFIRMED,其中 38 个是t(基键, { count })解析出的_one/_other复数形式,是活键(脚本的假阳性)。真正可疑的只有 1 个,省 6 字节。 marketplace.*子树在en.ts里单独 gzip 约 4.6 KB。市场页本身是懒加载路由,首屏用不到这些文案。
方向
仓库里已有先例:studio 命名空间(ui/packages/i18n/src/namespaces/studio/,@object-ui/i18n/namespaces/studio 子路径,vite 里 i18n-ns-studio-* 单独分组),Studio 打开时才加载。把首屏用不到的大子树(首选 marketplace.*)按同样方式移到懒加载命名空间,能腾出几 KB 余量,而且不需要抬上限。另一条路是维护者裁定抬 PER_CHUNK_GZIP_CEILINGS['i18n-locale-en'],那是维护者的决定,不在本卡。
完成标准
- main 上
i18n-locale-en至少留出 2,000 gz 字节余量,check:eager-closure绿,上限常量不变。 - 移走的文案在十种语言里都照常显示:打开对应页面前就加载好,或者有加载中的状态,不能闪出英文或键名。
all-locales-key-parity、check-i18n-call-site-keys等现有门禁继续成立。
受阻
- Marketplace install starts on one click, with no view of what it will add #30325 / PR feat(console): a marketplace app's Install confirms what it adds before it installs #30545:等本卡合并后再合 main 复测。
Related: #30511(i18n 第二阶段,ui 席 5 在做,改动语言包结构,动手前先对齐)。Dedupe: i18n-locale-en 0 条相关;eager closure locale ceiling 0 条相关。
Activity
Revert "chore(console): the eager en catalogue's ceiling moves by the…
objectstack-fleet commentedon Nov 5, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p1 ·
domain:ui· 2026-11-05T17:31Z⛔ Not a claim.
i18n-locale-enhas 63 gz bytes left under its 60,000 ceiling, so any card that adds English console text turnsBuild & E2E UIred. PR feat(console): a marketplace app's Install confirms what it adds before it installs #30545 (Marketplace install starts on one click, with no view of what it will add #30325) is already stopped on it.Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:ui#1 · os-sales · session_01L6bhgWn6zhNa4LL7VB1rtL
Claim: PM loop round 3 · 2026-11-05T17:38Z
Session:
session_01L6bhgWn6zhNa4LL7VB1rtLAccount:
os-sales(the seat's linked user asGET /useranswers it; the card's assignee)Branch: the card thread's designated
claude/project-thread-*branch, named in a claim amendment once the thread reports itWorktree:
objectstack-issue-30588Domain:
domain:uiSeat:
domain:ui#1File surface: the
marketplace.*subtree of the ten packsui/packages/i18n/src/locales/{en,zh,ja,ko,de,fr,es,pt,ru,ar}.ts(it leaves; nothing else in a pack changes); a newui/packages/i18n/src/namespaces/marketplace/**(anindex.tsloader and ten locale files, thenamespaces/studio/shape); one./namespaces/marketplaceentry inui/packages/i18n/package.jsonand the package's build entry list if the studio subpath needed one;ui/packages/i18n/README.md(the namespace section); thei18n-ns-marketplace-*groups inui/apps/console/vite.config.tsbesidei18n-ns-studio-*; how the readers underui/packages/app-shell/src/console/marketplace/**get the namespace (loaded before render, or a loading state; never a key name or an English flash); the i18n gate scripts underui/scripts/that read pack keys (dead-keys, en-drift, call-site keys, key parity) only as far as they must learn the namespace; their tests; thecheck-eager-closure-budget.mjsdoc block (the new reading recorded); one root.changeset/file. ⛔ any value ofPER_CHUNK_GZIP_CEILINGSorPER_CHUNK_BASELINE(ui/scripts/check-eager-closure-budget.mjs:2229stays60_000), ⛔ui/packages/i18n/src/locales/registry.tsand the pack file names (#30511, PR #30595, rewrites both), ⛔packages/**. Stop on breach and explain in the report.Container & model:
M,mode:thread,model: default (opus)(dispatch-gates --tierat2ffdb649over the surface: no path-derived mandate; floor sonnet · default opus · ceiling fable),effort: xhigh(p1 by triage 6664759923)Clause-②: yes (expected
yes (narrowing): a new subpath@object-ui/i18n/namespaces/marketplacewidens; theenpack the root entry exports, and the packs@object-ui/i18n/localespublishes, lose themarketplacesubtree, which narrows). The dev declares the final arm. A(narrowing)arm owes aCONTRACT_REVIEW_TIERreview and aSkills-docs:line before the ACCEPT.Metadata-protocol: none
Responsibility: the Console's eager English pack
i18n-locale-ensits 63 gz bytes under its 60,000 ceiling | any card that adds English Console text redsBuild & E2E UI(measured on PR #30545 head816df850, OVER by 0.1 KB; PR #30552 reads the same) | everydomain:uicard that adds an English string, and every Console first loadThread-read: 6664759923
Premise: holds on
origin/main2ffdb649:marketplace: {opens atui/packages/i18n/src/locales/en.ts:4918and runs to:5169(about 252 lines in each pack);ui/packages/i18n/src/namespaces/holdsstudio/only; the readers are nine files underui/packages/app-shell/src/console/marketplace/. The 59,937 reading is the card's (step 2); the dev re-measures it on the merge base first.Changed lines (expected): over 3,000 (the subtree moves out of and into ten files). Over the threshold the landing is a human merge: after the ACCEPT the seat asks the maintainer for approval; it is not a Tier H path.
Serial constraints: #30511 (
domain:ui#5,ui/packages/i18n/**, PR #30595) lands AFTER this card, agreed by that seat and its card thread 2026-11-05T16:56:42Z; they then add thezh-Hans/zh-Hant/pt-BRnamespace files. PR #30545 (#30325) and PR #30552 (#30206) wait for this card, then mergemainand move any newmarketplace.*key into the namespace. PR #30579 (#30554) adds two lines per pack outside the subtree: no overlap. On merge the seat sendsNotify: landedto mailboxes #30425 and #30422.objectstack-fleet commentedon Nov 5, 2026
domain:ui#1 · os-sales · session_01L6bhgWn6zhNa4LL7VB1rtL
席位核对 · Amendment · 2026-11-05T17:41Z · claim 6664911761 branch named
Branch:
claude/project-thread-9mg01cWorktree:
objectstack-issue-30588The card thread's harness-designated branch (a project-thread platform exception to the
claude/issue-<n>-<slug>convention); the dev thread is sessionsession_01L6bhgXDwFw71MwSG9FKYDQ. Everything else in claim 6664911761 stands.objectstack-fleet commentedon Nov 5, 2026
domain:ui#1 · os-sales · session_01L6bhgXDwFw71MwSG9FKYDQ
os-dev-report
{ "issue": 30588, "status": "done", "branch": "claude/project-thread-9mg01c", "pr": "https://github.com/objectstack-ai/objectstack/pull/30640", "session": "session_01L6bhgXDwFw71MwSG9FKYDQ", "premise_still_valid": true, "summary": "The marketplace.* group left the ten language packs for a lazy @object-ui/i18n namespace (namespaces/marketplace, one catalogue per built-in language, new published subpath), except the keys Studio's packages page reads through MarketplaceRowActions, MarketplaceNotLoaded, dependencyMissing and protocolCheckSkipped (19 en leaves), which stay resident. Both marketplace pages render under MarketplaceNamespaceGate: the existing load skeleton until the console's language and en are in (again after a language switch), the console's resident error words with Try again on a failed fetch. i18n-locale-en reads 59,951 at bdbaf80c and 57,010 at 17e15c7f (ceiling 60,000 untouched, headroom 2,990); eager closure 2,204,342 to 2,201,442 with the same 103 chunk names. The i18n gates (call-site keys, dead keys, en drift) read the namespace beside each pack; registry.ts, pack file names and every PER_CHUNK value are unchanged. Found and fixed in this PR: the gate's skeleton on a language switch unmounted the package page body, which made SampleDataLeaveBanner raise its leave banner while the installer was still on the page; the frame now says when it holds the page back and the banner asks first. PR is 6,632 changed lines (41 files, +4,338 / -2,294), so it is over the 3,000-line human-merge line. One Acceptance-notes bullet in the PR body is wrong and needs the seat's edit (out_of_scope_findings, first entry).", "tests": "Head 17e15c7f. pnpm --dir ui exec vitest run packages/app-shell/src/console/marketplace packages/i18n: 150 files passed, 1960 tests passed, 13 skipped. metadata-admin (Studio's packages page) at ae5aac72: 780 files, 8133 passed, 1 skipped; later commits touch only the frame, the namespace hook, the banner and tests. New suites: marketplace-namespace.test.ts (56), marketplace-namespace-lazy.test.tsx (5), MarketplacePage.namespaceGate-30588.test.tsx (4), marketplaceNamespaceBoundary.test.ts (5), plus namespace cases in the call-site-keys and en-drift gate tests. Ablations via scripts/ablation-replace.mjs, each restored with blob == HEAD and git diff HEAD empty: MarketplacePage's gate wrapper replaced by a bare fragment, frame test 2 failed / 3 (first frame matched the raw-key pattern); the same on MarketplacePackagePage, 1 failed / 3; on 17e15c7f the banner guard line replaced, case 4 failed (the switch raised the zh banner while on the page). The same case 4 was red before the fix was written. Boundary test red at the 69ab56e1 packs (2 / 5, the eleven MarketplaceRowActions keys). Reverse type check on 17e15c7f against the rebuilt i18n dist: en.marketplace.action.uninstall compiled, en.marketplace.title gave exactly one TS2339; probe file removed, git status clean. Type-check exit 0: @object-ui/i18n, @object-ui/app-shell (source and tests), @object-ui/console type-check then build:plugin. eslint --no-inline-config on every changed file: 0 errors, no new warnings. Console CI=true vite build on bdbaf80c and 17e15c7f, check:eager-closure and check:eager-locale-catalogues exit 0.", "gates": "node scripts/pm/dispatch-gates.mjs --commands: 57 derived families, identical list at 9cf51c22 and 17e15c7f. Every one recorded exit 0; --ran on 17e15c7f: 57 derived, 57 run, 0 NOT-MEASURED, 0 UNRUN, exit 0. check:dual-build-cjs-loads first exited 3 (PREREQUISITE NOT MET, seven root dists absent: studio, client-react, embedder-openai, knowledge-memory, knowledge-ragflow, service-cluster-redis, service-knowledge); after turbo build of those seven it exited 0 (116 entry points across 71 packages). pnpm --dir ui exec vitest run scripts/ exited 1 on the first loop (check-vi-mock-inherit: two new chunk mocks did not spread the real module), fixed in 5268adc3, then exit 0 on 17e15c7f under the lock: 170 files passed, 2 skipped, 4979 tests. Re-run on 17e15c7f after the last commits, all exit 0: check:type-check-debt (under the lock), check:type-check-coverage, check:nul-bytes, check:test-source-alias, check:cross-package-test-inputs, check:published-files, check:undeclared-dep-imports, check:sourcemap-no-sources-content, check-empty-changeset, check-changeset-no-major, check-adr-0087-registration (verified runtime-interface-only on TranslationKeys). Outside the derived list: pnpm --dir ui run check:new-line-citations 0 new citations (one fixture address in the call-site gate test declared as fixture data); check:i18n-keys, check:i18n-dead-keys (same 94 entries as base), check-i18n-en-drift --base bdbaf80c, check-eager-closure-budget.test.ts (174): exit 0. CI families: PR check-runs not concluded when this report was written, in_progress.", "dogfood_battery": "17e15c7f · closure pnpm exec turbo run build --filter='@objectstack/dogfood^...' 69/69 tasks · pnpm --filter @objectstack/dogfood test inside an os-verify-lock hold: step exit 0, the hold's VERDICT command-exit 0 (held 1343s) · Test Files 420 passed, 3 skipped (423) · Tests 3496 passed, 36 skipped (3532) · no failure. An earlier full run on dffa45df read the same counts.", "mcp_calls": "6 — mcp__github__issue_read get, mcp__github__issue_read get_comments, mcp__github__pull_request_read get x3 (the card's earlier read, PR #30573 as a body example, PR #30640 read-back), mcp__github__list_pull_requests (no PR on the branch before create). No write tool.", "api_writes": "2 — fleet-write relay pr_create (repository_dispatch, run 42098146434, PR #30640, read-back 16459 bytes identical, assignees none) and this os-dev-report comment via post-stamped.mjs. git push is not a REST write.", "open_questions": [], "security_findings": "none", "out_of_scope_findings": [ "carrier: seat · PR body correction, not a finding: the Acceptance notes bullet 'Out of scope, observed' about i18n-ns-studio-en being eager is wrong and should be struck. The i18n README's studio namespace section says its en catalogue is resident because it is the fallback, so the chunk being eager is by design.", "carrier: none · noted in the PR's Acceptance notes, not filed: a language switch while a marketplace page is open unmounts the page body behind the load skeleton, so a half-filled install dialog is lost and the page reads its package again; chosen over showing English for a moment." ] }Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:ui#1 · os-sales · session_01L6bhgWn6zhNa4LL7VB1rtL
ACCEPT → PR #30640 comment 6668161639 · head
17e15c7f· 2026-11-05T20:12Z —CONTRACT_REVIEW_TIERPASS 6668069937. 6,632 changed lines (> 3,000): the PR stays draft and unarmed until an APPROVED review fromos-zhuangorhotlong; the seat then readies and arms it. Follow-up from the review: #30645.objectstack-fleet commentedon Nov 5, 2026
domain:ui#1 · os-sales · session_01L6bhgXDwFw71MwSG9FKYDQ
os-dev-report
{ "issue": 30588, "status": "done", "branch": "claude/project-thread-9mg01c", "pr": "https://github.com/objectstack-ai/objectstack/pull/30640", "session": "session_01L6bhgXDwFw71MwSG9FKYDQ", "premise_still_valid": true, "summary": "Patch round on the seat's order after PR #30653 (47c457b23) landed. origin/main merged into the branch with a merge commit (64857f64), no rebase. The ten packs conflicted only on the marketplace block this branch moved out: each was resolved hunk by hunk with this branch's side (git merge-file --ours on the three stages), so main's other edit in those files (77c203a3, the settingsHub subtitle) stays. 47c457b23's rewrite of marketplace.detail.purgeConfirmAtMost was carried into namespaces/marketplace/CODE.ts in all ten languages, every plural form (3 in en/zh/ja/ko/de, 4 in fr/es/pt, 5 in ru, 7 in ar). For every language, its pack deep-merged with its catalogue now deep-equals main's pack at 47c457b23. One test stub added (countLocalSampleData, the read the package page now makes). New head 54db079b; PR object 41 files, +4,339 / -2,294 = 6,633 changed lines, still a human merge.", "tests": "Head 54db079b. Old sentences: none of the 39 pre-47c457b23 purgeConfirmAtMost values (all ten languages) occurs in any namespace file, and grep for 'the number this install loaded' and '即本次安装载入的数量' over namespaces/marketplace has 0 hits. Equality check (tsx script importing each pack and its catalogue): all ten IDENTICAL to origin/main's packs, 174 to 198 namespace leaves plus 19 resident leaves per language. pnpm --dir ui exec vitest run packages/app-shell/src/console/marketplace packages/i18n: 150 files passed, 1980 tests passed, 13 skipped (includes #30653's updated MarketplacePackagePage suites and sampleDataNotice-30323's 20 cases). pnpm --dir ui exec vitest run scripts/: 170 files passed, 2 skipped, 4979 tests. Type-check exit 0: @object-ui/app-shell (source and tests), @object-ui/i18n, @object-ui/console type-check then build:plugin, after turbo build of the console's dependency closure.", "gates": "i18n gates on 54db079b: pnpm --dir ui run check:i18n-keys exit 0 (2051 files, 4335/4335 literal keys resolve); pnpm --dir ui run check:i18n-dead-keys exit 0, candidate list identical to the previous head's (only the test-importer census grew by two files); node scripts/check-i18n-en-drift.mjs --base origin/main exit 0 (packs at 47c457b23 vs the tree: 0 en values changed). Bundle: console CI=true vite build, i18n-locale-en 57,003 gz (ceiling 60,000, headroom 2,997; main's 77c203a3 shortened one en string), eager closure 2,204,636 gz over 103 chunks, no marketplace namespace, loader or frame chunk eager; check:eager-closure and check:eager-locale-catalogues exit 0. dispatch-gates --commands on 54db079b: the same 57 families; all 57 re-run on 54db079b, all exit 0; --ran: 57 derived, 57 run, 0 NOT-MEASURED, exit 0. CI on 54db079b when written: 47 success, 9 skipped, 0 failed.", "dogfood_battery": "54db079b · closure pnpm exec turbo run build --filter='@objectstack/dogfood^...' exit 0 · pnpm --filter @objectstack/dogfood test inside an os-verify-lock hold: step exit 0, the hold's VERDICT command-exit 0 (held 2136s) · Test Files 421 passed, 3 skipped (424) · Tests 3513 passed, 36 skipped (3549) · no failure.", "mcp_calls": "0 this round (GitHub reads through gh api: the PR object and the head's check runs).", "api_writes": "1 this round — this os-dev-report comment via post-stamped.mjs. git push is not a REST write. The PR body was not edited.", "open_questions": [], "security_findings": "none", "out_of_scope_findings": [] }Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:ui#1 · os-sales · session_01L6bhgWn6zhNa4LL7VB1rtL
re-ACCEPT → PR #30640 comment 6671207907 · head
54db079b· 2026-11-05T22:29Z. It replaces the ACCEPT on17e15c7f(6668161639): origin/main merged after PR #30653 (#30616), whosepurgeConfirmAtMostwording now lives in the namespace. 6,633 lines > 3,000: not readied, not armed. It waits for an APPROVED review byos-zhuangorhotlongon this head.objectstack-fleet commentedon Nov 6, 2026
domain:ui#1 · os-sales · session_01L6bhgWn6zhNa4LL7VB1rtL
Hand-off to the approvers 2026-11-06T04:11Z — PR #30640 on head
54db079b: seat ACCEPT 6671207907 and a same-headCONTRACT_REVIEW_TIERPASS 6676626239 (the earlier PASS 6668069937 was pinned to17e15c7f). Review requested fromos-zhuangandhotlong(GOVERNED_APPROVERS; 6,633 changed lines, over the 3,000-line bar), andpm:awaiting-mergeis on the PR. On an APPROVED review the seat relayspr_ready+automerge_enable;Fixes: the card closes on the merge. The record's two should-fixes are not landing conditions: no CI census yet pins the twelve newi18n-ns-marketplace-*/ loader / gate chunks lazy (ui/scripts/check-eager-locale-catalogues.mjskeys oni18n-locale-only), and two size readings in comments are the dev's local build, not CI's merge-ref build.objectstack-fleet commentedon Nov 6, 2026
domain:ui#3 · os-tesla · session_01L9qibxW6qraU2Z3mwupUGp
Release: claim 6664911761 (
session_01L6bhgWn6zhNa4LL7VB1rtL,domain:ui#1, accountos-sales, stay-behind for PR #30640 named in sign-off 6677102093) · 2026-11-06T05:23Z · forced takeover: who: the maintainer (Tesla); what, verbatim: 「ui 车道跟进一下 3小时内没更新的pr和已派发的issue,接手处理。」 and 「目前ui车道都在你这里,前任没token了」; where: the os-tesla account's Claude Code project "Objectstack security ui", project chat (2026-11-06T05:20Z).Claim: PM loop round 2 · takeover of the stay-behind (land PR #30640)
Session:
session_01L9qibxW6qraU2Z3mwupUGpAccount:
os-tesla(assignee moved fromos-salesin this round)Branch:
claude/project-thread-9mg01c(continued; head54db079b29c31bc40b8155c3f0db7a0ac4d683a3)Worktree: none (landing only; no code moves)
Domain:
domain:uiSeat:
domain:ui#3File surface: none beyond PR #30640's as ACCEPTed
Container & model:
S,mode:subagent(no dev; the seat lands)Clause-②: no (narrowing)
Metadata-protocol: none
Responsibility: n/a — a landing takeover
Thread-read: 6676656597
Premise: holds — PR #30640 head
54db079bcarries seat ACCEPT 6671207907, same-headCONTRACT_REVIEW_TIERPASS 6676626239,os-zhuangAPPROVED on that head (2026-11-06T05:05Z), 52 checks success / 17 skipped / 0 failed.Serial constraints cleared: none held; PRs #30595, #30652, #30545, #30552 wait on this one.
Hand-off record: last pushed sha
54db079b29c31bc40b8155c3f0db7a0ac4d683a3; state: approved, ready, not yet armed. Next:automerge_enable(merge queue), landing note on merge,Notify: landedto the waiting cards' seats.objectstack-fleet commentedon Nov 6, 2026
domain:ui#2 · os-tesla · session_01L9qibw7DekEe3wx5f3zphf
Release: claim 6664911761 (
session_01L6bhgWn6zhNa4LL7VB1rtL,domain:ui#1, accountos-sales) · 2026-11-06T05:23Z · taken over bydomain:ui#2.Provenance: who: the maintainer (Tesla,
os-tesla); verbatim: 「ui 车道跟进一下 3小时内没更新的pr和已派发的issue,接手处理。」 and 「目前ui车道都在你这里,前任没token了」; where: the os-tesla account's Claude Code project "Objectstack security ui", project chat, 2026-11-06T05:20Z. The previous holder signed off with this card as its stay-behind (#25966 6677102093) and its account is out of tokens.Claim: PM loop round 1 (takeover) · 2026-11-06T05:23Z
Session:
session_01L9qibw7DekEe3wx5f3zphfAccount:
os-teslaBranch:
claude/project-thread-9mg01c(continued, head54db079b29c31bc40b8155c3f0db7a0ac4d683a3)Domain:
domain:uiSeat:
domain:ui#2File surface: as declared in 6664911761 and amendment 6664963572 (unchanged)
Clause-②: no
Metadata-protocol: none
Thread-read: 6676656597
Premise: holds (re-ACCEPT 6671207907 and same-head
CONTRACT_REVIEW_TIERPASS 6676626239 on54db079b)Serial constraints cleared: #30325 (PR #30545) and #30511 (PR #30595) wait behind this PR, held by
domain:ui#2.Handover record: branch
claude/project-thread-9mg01clast pushed sha54db079b. State: PR #30640 is APPROVED byos-zhuangon54db079b(2026-11-06T05:05Z), CI on that head 52 success / 17 skipped. This seat runs the landing (pre-landing checks,pr_ready,automerge_enable) and writes the landing note.objectstack-fleet commentedon Nov 6, 2026
domain:ui#2 · os-tesla · session_01L9qibw7DekEe3wx5f3zphf
already claimed — yielding.
domain:ui#3claim 6677660094 is earlier than this seat's takeover 6677670126, so 6677670126 is withdrawn anddomain:ui#3holds this card and PR #30640. The seat-2 landing record 6677715275 on PR #30640 stays as a reading (approval, CI, clean merge-tree againstorigin/main3da9a4c1); itsautomerge_enablewas a no-op, becauseos-zhuanghad already put the PR in the merge queue.objectstack-fleet commentedon Nov 6, 2026
domain:ui#3 · os-tesla · session_01L9qibxW6qraU2Z3mwupUGp
Landed 2026-11-06T05:53Z: PR #30640 merged through the merge queue as
d996c3817e(2026-11-06T05:31:53Z on the PR; seat ACCEPT 6671207907 and same-headCONTRACT_REVIEW_TIERPASS 6676626239 on54db079b,os-zhuangAPPROVED on that head). The PR saidFixes #30588, so the card is closed.pm:dispatchedremoved in this round.git ls-tree --name-only origin/main ui/packages/i18n/src/namespaces/marketplace/maingit grep -l MarketplaceNamespaceGate origin/main -- ui/packages/app-shell/srcWaiting cards now unblocked on this landing: #30205 (PR #30652) and #30206 (PR #30552) with
domain:ui#3; #30511 (PR #30595) and #30325 (PR #30545) withdomain:ui#2(told on mailbox #30817).