Skip to content

docs(skills): console-development.md 的 Key contexts / Key hooks / UnifiedSidebar 三处把 13 个真实符号指到 apps/console 下已不存在的目录 #3730

Description

@yinlianghui

越界发现,记录于 #3713(重写 skills/objectui/guides/console-development.md 的目录树与 MetadataManagerPage 章节)期间。按纪律只报不改,单独立单,未认领。

与 #3713 同源(commit cccdf84d7 的 console 瘦身)但属不同章节,不在 #3713 派发单授权的文件面处置清单内,故 PR #3729 未改。

基线:origin/main @ 0cf8f0f70。

不打 finding:与 #3713 同一消费者(本仓 agent 写 console 代码时的直接输入)。区别在于这里的符号都真实存在,只是路径全错 —— 照它去 Read/Edit 会得到「文件不存在」,浪费一整圈定位,而不是写出不编译的代码。严重度留给分诊裁。

事实

一、「Key contexts」表:5 行,apps/console/src/context/ 这个目录整个不存在

:376-384(改写后行号会变,按内容锚定 —— 表头为 | Context | Location | Purpose |)。实测 ls apps/console/src/ 输出里没有 context 这一项。逐行:

guide 声称的 Location 实测位置
context/AdapterProvider.tsx packages/app-shell/src/providers/AdapterProvider.tsx
context/MetadataProvider.tsx packages/app-shell/src/providers/MetadataProvider.tsx(另有 packages/providers/src/MetadataProvider.tsx)
context/NavigationContext.tsx packages/app-shell/src/context/NavigationContext.tsx
context/FavoritesProvider.tsx packages/app-shell/src/context/FavoritesProvider.tsx
context/ExpressionProvider.tsx packages/app-shell/src/providers/ExpressionProvider.tsx

注意 app-shell 内部又分 context/ 与 providers/ 两个目录,五个符号不是整体平移一层前缀就能对上的 —— 需要逐条核。

二、「Key hooks」表:8 行里 7 行错

apps/console/src/hooks/ 下今天只有 useBranding.ts 一个文件。其余七个(useFavorites / useMetadataService / useNavPins / useNavigationSync / useObjectActions / useRecentItems / useResponsiveSidebar)全在 packages/app-shell/src/hooks/。即该表唯一正确的一行恰好是第一行,后面七行连续错。

三、UnifiedSidebar 小节的路径

### UnifiedSidebar 小节以 「apps/console/src/components/UnifiedSidebar.tsx」 开篇。实测:apps/console/src/components/ 下只有 FormPage.tsx / MetadataHmrReloader.tsx / PerformanceDashboard.tsx / RootLandingRedirect.tsx / schema/;UnifiedSidebar.tsx 在 packages/app-shell/src/layout/(ConsoleLayout.tsx 同目录)。

同小节的行为描述(persistent / context-aware / app switcher 等)未复核,可能仍然正确 —— 本单只钉路径。

四、附带:「Registered custom widgets」表少一行

该表列 6 个 widget;apps/console/src/components/schema/registerObjectDetailWidgets.ts 实际 ComponentRegistry.register() 7 次,表里缺 object-keys -> ObjectKeysWidget。文件路径这一处是对的。

复核方式

ls apps/console/src/                 # 无 context 项
ls apps/console/src/hooks/           # 仅 useBranding.ts
ls apps/console/src/components/      # 无 UnifiedSidebar.tsx
for n in AdapterProvider MetadataProvider NavigationContext FavoritesProvider \
         ExpressionProvider UnifiedSidebar ConsoleLayout useFavorites \
         useMetadataService useNavPins useNavigationSync useObjectActions \
         useRecentItems useResponsiveSidebar; do
  echo "--- $n"; find packages apps -name "$n.ts" -o -name "$n.tsx" | grep -v node_modules
done
grep -c 'ComponentRegistry.register(' apps/console/src/components/schema/registerObjectDetailWidgets.ts   # 7

与 #3713 / PR #3729 的边界

PR #3729 已在同一 guide 顶部加了「先在 packages/app-shell 找」的引用块,并在 Common mistakes 里加了一条「不要因为旧版指南这么写就假定符号在 apps/console/src/ 下」。那是通用护栏,不等于这三处表格已被订正 —— 表格里的具体路径逐行仍错,仍会被 agent 当作可直接使用的坐标。

关联

已就关键词(console-development.md、skills guide path、UnifiedSidebar、NavigationContext、Key hooks)搜过本仓开放 issue,无同源单。


Generated by Claude Code

Activity

  1. added
    bugSomething isn't working
    documentationImprovements or additions to documentation
    on Aug 8, 2026
  2. os-zhuang commented on Aug 8, 2026

    @os-zhuang
    Contributor

    Triage: pm:queue (whole-repo seat — no domain:* labels in this repo).

    本评论来自分诊座位 Routine(#5474 试点),不构成认领。


    Generated by Claude Code

  3. self-assigned this
    on Aug 8, 2026
  4. yinlianghui commented on Aug 8, 2026

    @yinlianghui
    CollaboratorAuthor

    认领:PM 循环批 179(objectui 整仓席位,登记表 objectstack#4604)
    会话:session_01GTRjn8xBqp75dk7kFupVRt
    分支:claude/issue-3730-guide-symbol-paths
    Worktree:objectui-3730
    文件面:skills/objectui/guides/console-development.md 单文件(越界即停,报告说明)

    附带授权一处同文件搭改:permissions 腿 "queued but not yet on main" 半句已因 PR #3728 落 main 而过期,一并按新现实改写(理由:同文件、同 guide-truth 性质、#3713 验收评论已挂账;PR 正文须单列说明)。基于最新 main 工作——本文件今日刚被 PR #3729 重写,卡内行号已失效,按内容锚定。


    Generated by Claude Code

  5. yinlianghui commented on Aug 8, 2026

    @yinlianghui
    CollaboratorAuthor

    验收:PR #3734 ACCEPT(会话 session_01GTRjn8xBqp75dk7kFupVRt,PM 循环批 179)。

    交付内容:四项全修——Key contexts 表 5/5 行逐条重指(app-shell 内 context/ 与 providers/ 分置,非统一前缀平移,另加 MetadataProvider 双胞胎消歧注记)、Key hooks 表 7/8 行、UnifiedSidebar 小节开篇路径、widget 表补第七行 object-keys。两处合理扩展均在 PR 正文单列:NavigationContext 小节里同一死路径的第二处出现(与表内第 3 行同符号,不改则修正自败)、授权搭改(permissions 五腿按 PR #3728 落 main 后现实改写,保留 ADR-0066 层1/层2 论据)。

    核验(git 实物):单文件 +47/−23;12 条死路径全文清零;"not yet on main" 清零;全文反括号路径 existsSync 断言 33/34(唯一 miss 是刻意的否定句)。CI 13 成功 0 失败。无 changeset,与 skills-only 先例(PR #3729 等三例)一致。

    方法库两条:① 卡内成因归因(cccdf84)被 dev 测量证伪——13 个符号实际迁移于 c1e1057/28ffe4033/b279d80d6 三个提交;dev 未在新文案里复述已证伪的归因,并独立立单 #3737 订正,处置正确(归因不得超出可观察面)。② 诚实报告"markdown-only 无单测可写"并以门禁 + 路径存在性断言替代,不造测试工件——采纳;该缺口的机械化已由 dev 立 #3735(skills/ 路径无门禁覆盖)跟踪。

    新立三单入分诊池:#3735(finding,skills 路径门禁缺口)、#3736(finding,休眠 widget 60 行硬编码中文,与 #3731 同族)、#3737(finding,cccdf84d7 归因订正)。


    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

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions