Skip to content

[spec] packages/spec/CHANGELOG.md 的 17.0.0-rc.2 段落仍带着「the server does not walk areas」—— GA 段落改对后同一文件会自相矛盾 #5809

Description

@baozhoutao

#5337(PR #5796)的实现中记录的越界发现。未在该 PR 中修复,按 Prime Directive #10 独立记录。

现象

packages/spec/CHANGELOG.md:86–90(## 17.0.0-rc.2 段落里,由 ad047d2.changeset/app-area-fail-open-gates-removed.md 生成的那条)仍写着:

  **One caveat the prescription carries rather than hides:** per-item gating
  _inside_ an area is enforced by the shell only, because the server does not walk
  `areas`. Anything that must never reach the browser belongs in the app's
  top-level `navigation` tree, or in its own app.

#4722 之后这句已不成立(filterAppForUser 对每一棵 areas[].navigation 跑同一个 filterNav,packages/rest/src/rest-server.tsfilterAreas),这正是 #5337registry.ts / 生成的升级指南 / 未发布 changeset 三处订正掉的同一句。

为什么单独记而不是顺手改

仓库处于 changesets pre 模式(.changeset/pre.jsonmode: "pre"),所以:

净结果:同一个 CHANGELOG.md 文件里会同时存在两种说法 —— rc.2 段落说「服务端不走 areas」,GA 段落说「#4722 已关闭该边界」。读者按段落时间线读能自洽,但只搜关键词落到 rc.2 段落的读者会被劝去做一次不必要的导航树重构。

判为 observation-class(finding,不带 pm:queue)的理由

  • 用户今天不会因此出错到功能层面 —— 这是文档口径,不是行为缺陷;
  • 改一段已发布的 changelog 与仓库「发布说明集中在发布时写」的惯例有张力,处置方式需要判断:是 (a) 就地加一行 > 更正:见 #4722 / v17 GA 段落 的前向注记、(b) 原地改写 rc.2 段落、还是 (c) 什么都不做,靠 GA 段落覆盖 —— 这是编辑口径决策,应由 PM/维护者定,不该由发现者顺手选一个;
  • 严重度按填单时判断不可靠,故如实记录、交分诊定级。

先例:#5781 同属「已发布 changelog 的事实更正」这一类,说明本仓确实把这类记为可处理项,而非纯噪声。

⛔ 边界提醒:任何处置都不得content/docs/releases/(任何 PR 都不许碰该目录)。

证据


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions