Repository navigation
refactor(i18n)!: retire the dead Packaged automation flows and Manage Objects keys - #29359
Conversation
…e Objects keys The Packaged automation flows page and Home's Manage Objects card are retired; check-i18n-dead-keys names these 21 keys CONFIRMED dead (no call site, no footprint outside the packs). The connector-credentials nav comment names the surviving packaged-actions ref. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jSHAUuvULZ3ZaDJbh2
…e Objects keys The seven keys check-i18n-dead-keys names NEEDS-REVIEW under the same prefixes have no reader either: their only footprints were CHANGELOG history, a de-quote history comment and two SURVIVING rows of the 4730 pin. The de-quote census moves 104 -> 103 with cloneCreated's pair, and the pack comments stop describing the retired flows half. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jSHAUuvULZ3ZaDJbh2
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jSHAUuvULZ3ZaDJbh2
📓 Docs Drift CheckThis PR changes 1 package(s): 2 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
What this run could not see
Coarse fallback — 10 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 24da27e0016effe8cff59cb78a3df940d57dcde5 && git checkout 24da27e0016effe8cff59cb78a3df940d57dcde5
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 57cde8cb3da5970f2c3f6512569cacdb9b2b06a8 ac6202e4f5ddc09d7460df964952ef4f5c4f6b51 && git checkout -B drift-repro 57cde8cb3da5970f2c3f6512569cacdb9b2b06a8 && git merge --no-ff ac6202e4f5ddc09d7460df964952ef4f5c4f6b51
node scripts/docs-audit/affected-docs.mjs --json 57cde8cb3da5970f2c3f6512569cacdb9b2b06a8
|
|
director#1 · zhuangjianguo · session_01QsR2jV5sBSzCYNEDgpYLJw Contract-review-claim: session_01QsR2jV5sBSzCYNEDgpYLJw · head ac6202e · 2026-11-02T13:00Z Generated by Claude Code |
|
director#1 · zhuangjianguo · session_01QsR2jV5sBSzCYNEDgpYLJw Contract reviewServed-tier: Read-only review of the committed tree ( ① Derived judgments
② Semver level
③ Boundary flags
④ Design judgment
The two amended pins — judged against what they pin.
No must-fix found. No should-fix. Implemented-by: VERDICT: PASS Generated by Claude Code |
|
domain:ui#5 · zhuangjianguo · session_01QsR2jQjvWkZ7is6GXbC6DB 席位核对 — ACCEPT ·
|
Requested by Steedos · project thread
Fixes #28789
Clause-②: yes (narrowing)
Metadata-protocol: none
维护者速读
@object-ui/i18n的十种语言里,删掉 28 个已无任何界面读取的文案键:已下线的「打包自动化」流程页(流程列表与克隆对话框)用到的 25 个,和首页已移除的「管理对象」入口用到的 3 个。另把 service-automation 里一条仍写着旧页面引用automation:packaged的注释改为现在的automation:packaged-actions。t()调用读这些键,「打包动作」页仍在用的键全部保留。破坏性只在 TypeScript 类型上:导出的TranslationKeys少了这 28 个键,按类型引用它们的代码会编译报错;用t('...')字符串调用的不受影响。回滚即 revert 本 PR。ui/packages/i18n/src/locales/en.ts的packagedAutomation块(删除后剩下的就是「打包动作」页读的键);.changeset/28789-i18n-retire-packaged-flows-keys.md的迁移表;ui/packages/i18n/src/__tests__/dead-key-batch-retired-4730.test.ts删掉的两行。ui/下运行node scripts/check-i18n-dead-keys.mjs | grep -cE 'packagedAutomation\.|manageObjects|systemNav\.objectManager',预期输出 0(main 上是 28)。What changes
@object-ui/i18n. They are exactly the keysui/scripts/check-i18n-dead-keys.mjsnames under the card's three prefixes atorigin/main39951d2a:packagedAutomation.*(25): the retired flows list (title,subtitle,flowsHeading,colFlow,colActions,toggleLabel,notRunning,notRunningDeploymentPolicy,reasonDetails,emptyTitle,emptyBody,loadFailed) and its clone dialog (clone,cloneTitle,cloneBody,cloneName,cloneLabel,cloneCopyLabel,cloneConfirm,cloneCreated,cloneSwitchSourceOff,cloneSourceOff,cloneOpen,cloneFailed,cloneFailedHttp).home.quickActions.manageObjects,home.quickActions.manageObjectsDescandlayout.systemNav.objectManager: Home's retired Manage Objects entry.refresh,actionsHeading,colActivation,on,off,cancel,toggleFailed,toggleFailedHttpand theactions*/switched*/actionOff*family. Theenandzhgroup comments now describe the surviving actions page instead of the retired flows half.dead-key-batch-retired-4730.test.tsdropshome.quickActions.manageObjectsandlayout.systemNav.objectManagerfrom its SURVIVING list, andde-quote-pairing-3876.test.tsmoves its census from 104 to 103 matched pairs, becausecloneCreated's German value carried one, with a history line in both places.packages/services/service-automation/src/connector-credentials-ui.ts: the docblock compared the connector-credentials entry to Setup's packaged-automation entry and itsautomation:packagedref, which no longer exists. It now names the packaged-actions entry andautomation:packaged-actions. Comment only.@object-ui/i18npatch, BREAKING, with the removed-key table (no replacement for any key) and ADR-0087 dispositionnot-required (runtime-interface-only ui/packages/i18n/src/locales/en.ts#TranslationKeys).Contract review owed: this is a
(narrowing)of a published type surface. It owes a CONTRACT_REVIEW_TIER review, which the seat routes to the director. It was not self-reviewed.Tests
check-i18n-dead-keys: 345 candidates (52 CONFIRMED / 293 NEEDS-REVIEW) on main, 317 (31 / 286) after. That is exactly 28 fewer (21 / 7), and none remain under the three prefixes.@object-ui/app-shellimportingTranslationKeysfrom@object-ui/i18n(rebuiltdist) got TS2339 onpackagedAutomation.cloneCreatedandhome.quickActions.manageObjects.packagedAutomation.actionsHeadingcompiled. The probe was deleted, and the tree was clean after.vitest run packages/i18n/(95 files, 1443 passed, 13 skipped), includingall-locales-key-parity, the two amended pins andde-quote-pairing-3876.Acceptance notes
ui/packages/{app-shell,i18n}/CHANGELOG.mdhistory (cloneCopyLabel,cloneSwitchSourceOff,notRunning,reasonDetails), two history comments inde-quote-pairing-3876.test.ts(cloneCreated), and the SURVIVING rows of the 4730 pin (manageObjects,objectManager). A grep of each full key and each bare leaf overui/,packages/,apps/,examples/andcontent/found no reader. The twonotRunninghits areengine.studio.auto.notRunning, a different key. The seat chose to retire all 28 in this one narrowing (option A).en/zhgroup comments are translator terminology notes, and they are left as they were.Verification
Head
ac6202e4mergesorigin/main153869d7. Neither main merge conflicted. The incoming commits add and change other keys in the packs. None of them touches the removed keys or a reader of them (the dead-keys count under the three prefixes is still 0 at the head).Type-checks and i18n checks (head ac6202e)
turbo run type-check --filter=@object-ui/i18n --filter=@object-ui/app-shell --filter=@object-ui/console: 73/73 tasks successful (lock VERDICT command-exit 0). It was also green atccd69fb7and4672ff47.vitest run packages/i18n/: 95/95 files, 1443 passed / 13 skipped.node ui/scripts/check-i18n-en-drift.mjsexit 0,node ui/scripts/check-i18n-call-site-keys.mjsexit 0,node scripts/check-sdui-manifest.mjsexit 0,pnpm check:adr-0087-registrationexit 0 (1 declared-breaking changeset, runtime-interface-only verified).Derived gate sweep and dogfood battery
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackonccd69fb7: 63 families. All 63 were run with exit 0, includingpnpm --dir ui exec vitest run scripts/(169 files passed, 2 skipped; 4900 tests) andpnpm check:type-check-debtunder the verify lock.check:dual-build-cjs-loadsexited 3 before the full build and 0 after it.dispatch-gates --ran: 63 derived, 63 run, 0 NOT-MEASURED, 0 UNRUN.pnpm --filter @objectstack/dogfood testunder the lock, closure built) on4672ff47: Test Files 391 passed, 3 skipped (394), Tests 3223 passed, 28 skipped. VERDICT command-exit 0. The final headac6202e4only adds a merge of main that does not touch this diff.Generated by Claude Code