Repository navigation
refactor(ui)!: retire test-only barrel helpers, CommentSearchResult and four dead publicForm keys - #28544
Conversation
…nd four dead publicForm keys - core: resetActionKeyWarnings leaves the package entry (actions barrel re-exports actionKeys by name) - react: __resetVisibilityPredicateWarnings leaves the package entry; nine cross-package tests import it from its declaring module - plugin-detail: resetUnknownActivityTypeWarnings leaves the package entry; its one cross-package test imports the declaring module - types: CommentSearchResult is deleted; its record-id pin drops the row - i18n: publicForm.consentRequired/rateLimited/redirectBlocked/requiredHint leave all ten packs Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L9qibzKqWksC1TiqsHCrrU
|
domain:ui#1 · os-tesla · session_01L9qibw2uhdSeHYfnZdAf4V Contract reviewServed-tier: ① Derived judgmentsPublic-surface changes the diff implies, each read against the cited code on
② Semver levelFive changesets, one per package whose entry narrows, each ③ Boundary flags
④ Design judgmentThe narrowing, read against the published entries on
Implemented-by: VERDICT: FAIL |
…d true - the pending collaboration changeset no longer points hosts at CommentSearchResult, which leaves @object-ui/types in the same release; it gives the local shape instead - the i18n changeset says EmbeddableForm keeps its English literal defaults for the deleted publicForm keys' wording - the react barrel comment no longer names the reset it stopped exporting Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L9qibzKqWksC1TiqsHCrrU
|
domain:ui#1 · os-tesla · session_01L9qibw2uhdSeHYfnZdAf4V Contract reviewServed-tier: ① Derived judgmentsThe delta commit changes no code surface: three files, +5/−5, all comment or changeset prose. Every entry, type and key judgment in 6554050725 holds unchanged on this head.
② Semver levelUnchanged: five ③ Boundary flags
④ Design judgmentThe narrowing is unchanged from 6554050725 and holds: the three reset helpers leave entries that keep every diagnostic, prefix and dedupe public; Implemented-by: VERDICT: PASS |
|
domain:ui#1 · os-tesla · session_01L9qibw2uhdSeHYfnZdAf4V Deliberate correction of a pending release note: needs the maintainer's confirmation.
This was the contract record's must-fix, 6554050725. The delta record, 6554291417, is a PASS on |
|
domain:ui#1 · os-tesla · session_01L9qibw2uhdSeHYfnZdAf4V 席位意见:同意。五个 ui 包的公共入口拿掉零消费者面(三个测试用 reset 助手、 席位核对ACCEPT · head
|
Requested by Tesla · project thread
Part of #25921 (items B1, B3, B4, B6 and B10 of the card thread's ledger, claim 6553495326; the card's other open items stay on it)
Clause-②: no (narrowing)
Metadata-protocol: none
维护者速读
resetActionKeyWarnings、react 的__resetVisibilityPredicateWarnings、plugin-detail 的resetUnknownActivityTypeWarnings(三个都是只给测试用的「清掉只警告一次的记忆」助手),types 的CommentSearchResult接口(唯一生产者早已退役),以及十个语言包里四个没有任何界面读取的publicForm.*文案。examples/**与 hotcrm 中都没有非测试读者,留在入口上只会被当成公开 API 承诺。!changeset 写明替代写法。回滚即 revert 本 PR。ui/packages/core/src/actions/index.ts(export *改为具名列表,少了 reset);ui/packages/types/src/__tests__/record-id-string-survivors-10078.test.ts(钉子去掉一行);.changeset/25921-*.md五个文件。git grep -n -w -e resetActionKeyWarnings -e __resetVisibilityPredicateWarnings -e resetUnknownActivityTypeWarnings -- 'ui/packages/*/src/index.ts*'只剩三行「test-only and stays off the barrel」注释;git grep -w CommentSearchResult -- ui/packages无结果。What changes
@object-ui/core:actions/index.tsre-exported./actionKeys.jswithexport *, which put the test seamresetActionKeyWarningson the package entry. It now re-exports the module's other ten names by name. Core's own tests already import the helper from../actionKeys.@object-ui/react:__resetVisibilityPredicateWarningsleaves the entry. Nine cross-package tests imported it from@object-ui/react(the ledger said five; the import scan on the branch found nine) and now import it fromreact/src/utils/visibilityDiagnostic, the same module the vitest alias resolves the entry to, so the reset still clears the instance the code under test reads. Four app-shell tests already used that path.@object-ui/plugin-detail:resetUnknownActivityTypeWarningsleaves the entry; its one cross-package test (RecordDetailView.activityUnmappedType-5896) importsplugin-detail/src/renderers/recordActivityFeed. The entry's docblock sentence that justified exporting it goes with it.@object-ui/types:CommentSearchResultis deleted fromviews.tsand the entry. Its only producer,useCommentSearchin collaboration, retired in refactor(ui)!: retire zero-consumer exports from@object-ui/collaborationand@object-ui/mobile#28385. The record-id pinrecord-id-string-survivors-10078keeps its two other shapes (RecordSubscription.recordId,DataSourceMutationEvent.id) with their type rows, value controls and census rows.@object-ui/i18n:publicForm.consentRequired,rateLimited,redirectBlockedandrequiredHintleave all ten packs (40 lines).ui/scripts/check-i18n-dead-keys.mjslists all four CONFIRMED; the form page reads the nine siblingpublicFormkeys, none of these.patchwith a BREAKING banner, both declaration lines and an ADR-0087 disposition (runtime-export-retiredfor the four exports,no-migration-prescriptionfor the keys).Zero-consumer readings (ledger
/mnt/project-files/ui-seat-1/r2026-10-31b/out/25921-ledger.md, objectstackefb1620c, hotcrma598256, positive controlsSchemaRenderer1,198 files anduseRecordPresence113): each name has no non-test reader outside its package; every import of the four names on this branch was re-read from the import statements themselves.Verification
Head
fef5795d(branch pointeeec88d1).Tests
pnpm --dir ui exec vitest run packages/core/src/actions/ packages/react/ packages/plugin-detail/ packages/types/ packages/i18n/plus the ten edited cross-package test files: Test Files 1022 passed, 7 failed, 1 skipped (1030). All seven reds readno module symbol for packages/spec/dist/...d.mtsor the spec export probe: the closure had been built withOS_SKIP_DTS=1. Afterpnpm --filter @objectstack/spec buildwith declarations, the seven files rerun: 7 passed, 184 tests passed.pnpm turbo run type-checkfor types, core, react, plugin-detail, i18n, components, app-shell and console (each package's owntsc --noEmitplus itstsconfig.test.json, so the pin's compile-time rows and every repointed test are compiled): 78/78 tasks successful, lock VERDICT command-exit 0.pnpm --dir ui exec vitest run scripts/: 169 files passed, 2 skipped; 4901 tests passed.Gates
dispatch-gates --commands: 34 commands, all run with stdin closed, each exit recorded before any pipe;--ran: 34 derived, 34 run, 0 NOT-MEASURED. All exit 0.check:type-check-debtfirst exited 3 (prerequisite: run during the build) and exits 0 on rerun (0 entries above their recorded number).check-adr-0087-registration --base origin/main: 5 declared-breaking changesets, each with a verified disposition.check-sdui-manifestexit 0;check-platform-checklist --changed-from origin/mainexit 0 (0 anchored files);uicheck:new-line-citationsexit 0 (0 new).dispatch-gates --tier: no path-derived mandate; 194 changed lines (+104 / -90), under the 3,000 threshold. No governed path.Acceptance notes
__resetVisibilityPredicateWarnings; it is nine (multi-line imports the first scan missed). All nine are repointed here, same item, same file class.clearSharedDiscoveryCache), B5 (resetRetiredDashboardNodeTypeReports, declared published on purpose), B7 (S3/Azure upload adapters), B8 and B11 (governed), B9, B12, B13.Human Minimum
packages/specholds no runtime logic. (not touched)pnpm lintpasses. (lint is CI's run)main, one pull request.packages/spectouched: n/a.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.🤖 Generated with Claude Code
https://claude.ai/code/session_01L9qibzKqWksC1TiqsHCrrU
Generated by Claude Code