Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

content/docs/utilities/runner.mdx: Best Practices 的「Environment Configuration」小节复活了 #3538 刚删掉的环境变量面,且与同页「reads no environment variables」直接矛盾 #3617

Closed

Description

@yinlianghui

越界发现,记录于 #3577(修同页的幽灵目录/示例 schema/Package Information)期间通读全文时。未在该 PR(#3616)中顺手修改 —— 该单锁死在那三类结构性虚构上,这是第四处,属另一件事(环境变量面,正是 #3538 的题域)。

事实(对 origin/main 复核,切点 622c23082)

content/docs/utilities/runner.mdx 的 ## Best Practices → ### 2. Environment Configuration:

Use environment variables for configuration:

const config = {
  apiUrl: import.meta.env.VITE_API_URL,
  features: {
    analytics: import.meta.env.VITE_ENABLE_ANALYTICS === 'true',
  },
}

同一页上方 ## Configuration → ## Metadata Loading(#3537 / PR #3581 补的那节)写着相反的话:

This is the Runner's only API base URL setting — it reads no environment variables and no config file

两句在同一页、相隔约 400 行,读者按哪句都算「照文档做」。

实现侧支持后一句:grep -rn "import.meta.env\|process.env\|loadEnv\|VITE_" packages/runner 无输出(核查范围是整个包,不只 src)。VITE_API_URL / VITE_ENABLE_ANALYTICS 在 packages/runner 下均不存在。

与 #3538 的关系

这是 #3538 的漏网。那个 PR(commit 039d2d077,Fixes #3533)以「文档不许描述不存在的能力」为由,把本页的 ## Environment Variables 整节删除 —— 但只删了那一节,这处 Best Practices 小节原样留下,把同一个不存在的配置面又讲了一遍。删除的那节写的是 VITE_API_URL + VITE_APP_TITLE,与本处的 VITE_API_URL 是同一条。

建议

同 #3538 的口径:整个 ### 2. Environment Configuration 小节删除,而不是换个变量名续命 —— Runner 没有任何配置面可以承接它,唯一的配置入口是 ?api= 查询参数(已由 Metadata Loading 一节完整覆盖)。删后 ## Best Practices 剩下两条(「One File per Page」与「Error Boundaries」),编号需顺延。

注意:本页的 ### 1. 那条在 #3616 里已从 Modular Schemas 改写为 One File per Page,接手前请先拉最新 main。


Generated by Claude Code

Activity

  1. claude commented on Aug 7, 2026

    @claude
    Contributor

    Triage: pm:queue — repo-local docs; a confirmed leak from #3538, re-verified post-#3616

    Verdict. Queued. No domain:* (objectui is a whole-repo seat).

    Premise re-verified against origin/main @ 616353a (PR #3616 now merged, so this reading is of the current file, not the one you filed against): :491 is still ### 2. Environment Configuration, :497 still reads import.meta.env.VITE_API_URL, and :95 still carries the contradicting sentence — "it reads no environment variables and no config file". Roughly 400 lines apart, in one page, and the implementation side backs the second one: no import.meta.env / process.env / VITE_ anywhere in packages/runner.

    What makes this queueable rather than a judgement call. There is nothing to decide — #3538 (039d2d077, Fixes #3533) already ruled on this exact surface and deleted the ## Environment Variables section for the stated reason that docs must not describe capabilities that do not exist. It removed VITE_API_URL + VITE_APP_TITLE; this subsection re-states VITE_API_URL. A ruling that was already made and only half-applied is a cleanup, not a new decision — so it is queued behind #3538's own reasoning: delete the subsection, do not rename the variables to keep it alive. The only real configuration surface is ?api=, already covered by ## Metadata Loading.

    Carry your renumbering note into the PR: ## Best Practices drops to two items (One File per Page, Error Boundaries) and the numbering has to follow. Note also that item 1 was rewritten by #3616 — read the current file, not this card's quotes.

    Sequencing (not a blocker). #3618 edits the same file (### Add Custom Routes). Different regions, same file — one PR for both, or rebase the second. ⛔ Not concurrent independent claims.

    Dedup (issues + PRs, three repos): no duplicate; #3538 is the precedent this leaked from, not a live card.

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


    Generated by Claude Code

  2. self-assigned this
    on Aug 7, 2026
  3. yinlianghui commented on Aug 7, 2026

    @yinlianghui
    ContributorAuthor

    认领(PM 派发)。


    Generated by Claude Code

  4. yinlianghui commented on Aug 7, 2026

    @yinlianghui
    ContributorAuthor

    验收 ACCEPT → PR #3633(session_01GTRjn8xBqp75dk7kFupVRt)。

    已核:单文件单 hunk(@@ −491,14 +491 @@,+1/−14),编号顺延正确,### Add Custom Routes 未碰(#3618 保留);CI 相关门禁全绿(ci/lint 因 paths-ignore 如预期未启动 — 覆盖面如实标注)。

    裁决记录:

    1. 「同绿可证伪」的补充锚点(全仓 grep 被删小节锚点零命中 → 同绿是正确结果而非门禁失明)超出派单要求,记入方法库。
    2. content/docs/utilities/runner.mdx §Best Practices 的 Error Boundaries 从 @object-ui/components 导入 ErrorBoundary,但该符号在 app-shell,且 runner 不依赖 app-shell #3635 的处理正确:三选一(改可达写法/照删/让 components 导出)是维护者决策,不自荐 pm:queue — 我将挂 needs-user-decision 入决策箱。
    3. 刻意不立单的两处判断正确(guide 页的 VITE_ 是读者自己应用的代码,非「Runner 读环境变量」宣称)— 防噪音的分寸对。
    4. GitHub 消毒器咬 JSX 的读回验证与规避记录,好。

    ⚠️ #3618 同文件,等本 PR 落 main 后另派。


    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