Skip to content

docs(runner): 删掉 runner.mdx 的幽灵目录与「内置示例 schema」断言,重写 Package Information - #3616

Merged
yinlianghui merged 1 commit into
mainfrom
claude/issue-3577-runner-mdx-fictions
Aug 7, 2026
Merged

docs(runner): 删掉 runner.mdx 的幽灵目录与「内置示例 schema」断言,重写 Package Information#3616
yinlianghui merged 1 commit into
mainfrom
claude/issue-3577-runner-mdx-fictions

Conversation

@yinlianghui

@yinlianghuiyinlianghui commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Fixes#3577

三类结构性虚构,均对 origin/main(切点 622c23082)逐条复核后处理。范围是整页 8 处锚点,不是正文列的 3 处 —— 分诊评论已经指出 src/schemas/ 还在 :221/:233/:444/:447/:466 复现,只修 Directory Structure 会让全页继续自相矛盾。切点上行号比分诊时整体 +4(#3594 落地所致),锚点全部存活。

1. 幽灵目录(Directory Structure + 全部复现处)

实测 packages/runner/src 下只有 App.tsxLayoutRenderer.tsxmain.tsxindex.csslib/、测试文件 —— 没有schemas/没有components/,包根也没有public/

#3534/#3539 先例(删手抄目录树、指真源)整块删掉 ## Directory Structure,换成 ## Where the Code Lives 一段实测过的 prose;承重信息落在唯一真实的元数据目录 src/app-data/ 上(.gitignore 排除、新检出下不存在),布局与解析顺序交给本页自己的 ## Metadata Loading#3581 补的那节,本单以它为准)承接,不重复贴一份会漂移的抄本。

其余 5 处引用一并按 Metadata Loading 的真实契约改写为 src/app-data/pages/*.json。页文档形状取自 App.tsx 兜底页的 { "type": "page", "title", "body": [] },与本页表格里「the page document (PageNodeSchema)」一致,不是我新编的形状。

2.「内置示例 schema」

这个包一个 schema 文件都不带:承载它们的 src/app-data/ 就写在 packages/runner/.gitignore:1;缺该目录时 LocalBundleLoader 的三个 import.meta.glob 编译为 {}/ 渲染内置兜底 No index page found.

  • What's Included 下那节列了七类「Runner 包含的示例 schema」→ 整节改写为读者实际要做的事(往 src/app-data/ 放 JSON,或用 ?api= 指后端)。
  • 下方 ## Example Schemas → 改题 ## Schemas to Start From,加一句说明:这些例子活在文档里、不在包里,复制后包成页文档存为 src/app-data/pages/index.json

3. Package Information

  • **Version:** 0.3.1直接删除,不改成 17.3.0 —— @object-ui/runner.changeset/config.jsonfixed 组里随 39 包同发,手抄版本号必然再次漂移(分诊亦明确背书删除)。当前版本改为指向 npm 页。
  • **Type:** Application (not published to npm) 与实测相反:package.json"private": false + publishConfig.access: "public",registry 上 dist-tags.latest = 17.3.0。改为不随版本漂移的措辞:已发布,但它是应用不是库 —— package.json 不声明 main / module / exports / types,没有可 import 的东西。这与 PR docs(runner): 删掉 README 两处虚构能力面(createRunner/runner.config.js),修正 404 文档链接 (#3576) #3602 刚给 packages/runner/README.md 定下的说法一致。

逐锚点处置(8 处)

切点行内容处置
59### Example Schemas(七类清单)改写为 ### Metadata — Supplied by You
85目录树里的 schemas/整块删除(含 components/public/
90目录树里的 public/同上
225// src/schemas/test.jsonsrc/app-data/pages/index.json,包成页文档
237# Edit schemas in src/schemas/# Edit the JSON under src/app-data/
268## Example Schemas改题 + 加来源说明
389/390Version: / Type:删版本行;发布状态重写
448/451Add to src/schemas/src/app-data/pages/my-page.json,并说明文件名即路由
470Best Practices 的 src/schemas/→ 真实的 src/app-data/ 布局(取自 loader 的三个 glob)

一处刻意保留的 survivorAdd Custom Components 里的 // src/components/MyComponent.tsx。那是让读者自己建的文件(下方注册片段的相对 import 必须与它对齐),且已在上一句明写「包里不带组件,这个目录你自己加」,不再是「它存在」的断言。

验证(先给预测,再跑)

命令一律在 worktree 根、目标文件为 content/docs/utilities/runner.mdx

grep -n "src/schemas" <该文件> → 0 命中(预测 0)✅
grep -n "src/components" <该文件> → 1 命中,即上面那处 justified survivor ✅
node scripts/check-doc-links.mjs → Links are valid across 3 scan roots. exit=0(改前改后同)✅
node scripts/check-control-bytes.mjs → OK (scanned 3641 tracked text files) ✅
grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f]' <该文件> → 无命中(exit 1)✅
pnpm exec vitest run scripts/ --maxWorkers=2 → 16 files / 275 tests passed ✅

新增链接只有外部 npm 页(门禁按 EXTERNAL_HREF_RE 跳过,已用 registry API 单独核实包真实存在,dist-tags.latest = 17.3.0)与两个纯页内锚点 #metadata-loadingrouteExists 对空 path 直接返回 true),因此门禁读数不变符合预期。扫描根计数仍是 3,未见 #3589 改动的影响。

(附带一条实测:本 PR 正文首版里那几个尖括号占位符被 GitHub 的正文清洗器按 HTML 标签吞掉了,回读才发现 —— 已改成中文占位。写 PR 正文时避开「<+字母」这个组合仍然必要。)

未修(越界,另行开单)

通读全页发现、不在本单范围、已按 Prime Directive #10 单独开 issue:Features 的「All official plugins included」(实际只有 kanban + charts)、Best Practices 的环境变量小节(#3538 删了 ## Environment Variables 整节却漏了它,且与本页「reads no environment variables」直接打架)、Add Custom Routesreact-router-dom(runner 不依赖它,路由是手写 history.pushState + popstate)。#3604packages/runner/README.md 的另一件事,本 PR 未触碰。

内容文档,不需要 changeset。未触碰 content/docs/releases/

🤖 Generated with Claude Code

https://claude.ai/code/session_01GTRjn8xBqp75dk7kFupVRt

…ion (#3577)
三类结构性虚构,均对 origin/main 逐条复核后处理。范围是整页 8 处锚点,
不是正文列的 3 处 —— 只修 Directory Structure 会让全页继续自相矛盾。
1. 幽灵目录。`packages/runner/src` 下实测只有 App.tsx / LayoutRenderer.tsx /
main.tsx / index.css / lib/ / 测试文件,没有 `schemas/`、没有 `components/`,
包根也没有 `public/`。按 #3534/#3539 先例(删手抄目录树,指真源)整块删掉
Directory Structure,换成一段实测过的 prose,并把承重信息落在唯一真实的
元数据目录 `src/app-data/` 上 —— 它由 `.gitignore` 排除、新检出下不存在,
布局与解析顺序由本页自己的 Metadata Loading 一节(#3581 补)承接。
其余 5 处 `src/schemas/` 引用(Use Cases 两处、Add Custom Schemas、
Best Practices 目录树)一并按 Metadata Loading 的真实契约改写为
`src/app-data/pages/*.json`;页文档形状取 App.tsx 兜底页的
`{ type: 'page', title, body: [] }`,与本页 Metadata Loading 表格里
「the page document (PageNodeSchema)」一致。
2. 「内置示例 schema」。这个包一个 schema 文件都不带:承载它们的
`src/app-data/` 在 `packages/runner/.gitignore:1` 里,缺该目录时
LocalBundleLoader 三个 `import.meta.glob` 编译为 `{}`,`/` 渲染内置兜底
`No index page found.`。What's Included 下那节列七类「Runner 包含的示例
schema」整节改写为读者实际要做的事(往 `src/app-data/` 放 JSON,或用
`?api=` 指后端);下方 `## Example Schemas` 改题为 Schemas to Start From,
并说明这些例子活在文档里、不在包里。
3. Package Information。`Version: 0.3.1` 直接删除,不改成 17.3.0 ——
`@object-ui/runner` 在 `.changeset/config.json` 的 fixed 组里随 39 包同发,
手抄版本号必然再次漂移(分诊亦持此意见);当前版本改为指向 npm 页。
`Type: Application (not published to npm)` 与实测相反:package.json 是
`"private": false` + `publishConfig.access: "public"`,registry 上
`dist-tags.latest = 17.3.0`。改为不随版本漂移的措辞:已发布,但它是应用
不是库 —— package.json 不声明 main/module/exports/types,没有可 import 的
东西(与 PR #3602 刚给 README 定下的说法一致)。
`src/components/` 保留一处 —— Add Custom Components 的 `// src/components/
MyComponent.tsx`。那是让读者自己建的文件(下方注册片段的相对 import 必须与它
对齐),已在上一句明写「包里不带组件,这个目录你自己加」,不再是「它存在」的
断言。
越界发现另行开单,不在本 PR 修:Features 的「All official plugins included」、
Best Practices 的环境变量小节(#3538 删了 Environment Variables 整节却漏了它)、
Add Custom Routes 的 react-router-dom(runner 不依赖它,路由是手写
history.pushState)。#3604 是 README 的另一件事,未触碰。
Fixes#3577
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GTRjn8xBqp75dk7kFupVRt
@vercel

vercelBot commented Aug 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
ProjectDeploymentActionsUpdated (UTC)
objectuiIgnoredIgnoredAug 7, 2026 3:54pm

Request Review

@yinlianghui
yinlianghui marked this pull request as ready for review August 7, 2026 15:57
@yinlianghui
yinlianghui added this pull request to the merge queueAug 7, 2026
Merged via the queue into main with commit 616353aAug 7, 2026
6 checks passed
@yinlianghui
yinlianghui deleted the claude/issue-3577-runner-mdx-fictions branch August 7, 2026 15:58
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants

@yinlianghui@claude