Skip to content

docs(skills): console-development.md 顶部注记把 shell/navigation 搬家的成因全记在 cccdf84d7 —— 实测 13 个符号没有一个是在该 commit 里搬走的 #3737

Description

@yinlianghui

越界发现,记录于 #3730 / PR #3734(订正同一文件三处表/节的符号路径)期间。按纪律只报不改,单独立单,未认领。PR #3734 的授权文件面只含那三处表/节 + widget 表那行 + 一处授权搭改,顶部注记不在其内,故那边只把偏差写进 PR 正文,落单在此。

finding:这是一条归因注脚的事实错误。照它去 git show 会看到一个不含目标文件的 diff,浪费一次查证,但没有人的代码因此坏掉。严重度留给分诊裁。

事实

skills/objectui/guides/console-development.md 顶部引用块(第 10 行起,按内容锚定 —— 以 「apps/console is a reference assembly, not the engine.」 开篇)称:

Commit cccdf84d7 ("Slim apps/console for third-party customisation") moved the shell, the layouts, the home pages, the navigation and the whole metadata admin into @object-ui/app-shell

实测(基线 origin/main @ 4e93e40d7):#3730 涉及的 13 个符号,没有一个是在 cccdf84d7 里搬走的。搬家分两批,一批早于它、一批晚于它:

符号 app-shell 副本加入 console 副本删除 cccdf84d7(04-22)的相对次序
AdapterProvider / MetadataProvider / ExpressionProvider c1e105793(04-21,"extract core providers and hooks to @object-ui/app-shell") 28ffe4033(04-22,"Refactor context providers to use @object-ui/app-shell") 都早于 —— 已验 28ffe4033cccdf84d7 的祖先
NavigationContext / FavoritesProvider / UnifiedSidebar / 七个 hooks(useFavorites useMetadataService useNavPins useNavigationSync useObjectActions useRecentItems useResponsiveSidebar b279d80d6(04-23,"feat: Add ReportView and SearchResultsPage components") 同一个 b279d80d6 晚一天 —— 已验 cccdf84d7b279d80d6 的祖先

第二行尤其反直觉:UnifiedSidebar / NavigationContext 这两个「the navigation」的核心符号,是在一个标题写着「Add ReportView and SearchResultsPage components」的 commit 里搬的,比顶部注记点名的那个 commit 晚一天。想按注记追溯的人不会往那儿找。

同一句归因也进了 #3730#3713 的卡片正文(「同源(commit cccdf84d7 的 console 瘦身)」),大概是从这段注记继承来的 —— 所以这不是孤立的一行错字,而是一个会被反复引用的错误坐标。

注意边界:注记里 metadata admin 与 designer pages 那两半我没有逐条复核,可能是对的。本单只钉「shell / layouts / navigation / hooks / providers 这批 = cccdf84d7」这半句。真实形态更像是「app-shell 抽取是 04-21 到 04-23 跨数个 commit 的一串动作,cccdf84d7 只是其中一步」。

复核方式

for n in AdapterProvider MetadataProvider ExpressionProvider NavigationContext FavoritesProvider UnifiedSidebar; do
  echo "--- $n"
  git log --oneline --all --diff-filter=D -- "apps/console/src/context/$n.tsx" "apps/console/src/components/$n.tsx" | head -1
done
for p in packages/app-shell/src/providers/AdapterProvider.tsx \
         packages/app-shell/src/context/NavigationContext.tsx \
         packages/app-shell/src/layout/UnifiedSidebar.tsx \
         packages/app-shell/src/hooks/useFavorites.ts; do
  echo "--- $p"; git log --diff-filter=A --format="%h %ad %s" --date=short -- "$p" | tail -1
done
git merge-base --is-ancestor 28ffe4033 cccdf84d7 && echo "28ffe4033 早于 cccdf84d7"
git merge-base --is-ancestor cccdf84d7 b279d80d6 && echo "cccdf84d7 早于 b279d80d6"

关联

已就关键词(cccdf84dconsole-development.mdapp-shell extract归因)搜过本仓开放 issue,无同源单。


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationpm:queue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions