Skip to content

docs(ROADMAP): P1.12 的 Routes / Tests 两个子块仍把已退场的 PermissionManagementPage 记成已完成(与 #3700 同源、在其文件面之外) #3704

Description

@yinlianghui

越界发现,记录于 #3700(按现实改写 ROADMAP.md 的 P1.12.2 段与 :825-828 Permission Management 段)期间。该单的文件面被派发单明确围到那两段,而同一个 ### P1.12 章节里还有两条同源漂移落在别的子块,按纪律只报不改,单独立单,未认领。

观察类:纯文档漂移,用户看不到任何异常。故打 finding、不打 pm:queue。

基线:origin/main @ b19f54f39(已含 PR #3673 与 PR #3699)。行号为 #3700 的 PR 合并之前的值 —— 那个 PR 只改 :825-839,增删各 15 行,行号不移位,合并后仍是 :857 / :871。

事实

**Routes:** 子块:

ROADMAP.md:857:- [x] `/system/permissions` → PermissionManagementPage

**Tests:** 子块:

ROADMAP.md:871:- [x] 11 new tests (SystemHubPage, AppManagementPage, PermissionManagementPage)

两条都以 PermissionManagementPage 为主语,而该页面与 /system/permissions 路由今天都不存在:

复核方式

grep -n 'PermissionManagementPage' ROADMAP.md                      # 只剩 :857 / :871 两处
grep -rn 'PermissionManagementPage' apps/ packages/                 # 零命中
grep -n 'path="system/permissions"' apps/console/src/AppContent.tsx # 零命中
ls apps/console/src/pages/system/                                   # 无 PermissionManagementPage.tsx

影响面

零运行时影响。代价与 #3700 同型:ROADMAP 是「这块做完了吗」的首查处,- [x] /system/permissions → PermissionManagementPage 会让下一个读者以为 console 里现成有一个权限管理页可接线 —— 而实情是那条 URL 正空着等裁决。#3655 与 #3672 已各自在「看起来现成」的同一批文件上栽过一次。

可能的修法方向(留给分诊,不预判)

与 #3700 落地的写法保持一致即可:该文件对「已退场」项的既有惯例是条目不删、就地改写成当前形态 + 挂一个裸文本引用(:152 _(Removed — replaced by ViewConfigPanel)_、:1046 - [x] Tab-drag UX retired in favour of …、:82 … was removed as dead surface, #2564)。

⚠️ 措辞上有一条硬约束:/system/permissions 的继任面尚未定案,#3655 仍开着且带 needs-user-decision。改写时不得预判 sys_capability / sys_permission_set 里的任何一个,只能留中性表述(pending maintainer decision, see #3655)—— #3700 的 PR 在 P1.12.2 那条已按此处理,可直接照抄。

关联

已就关键词(PermissionManagementPage、ROADMAP.md、system/permissions、ROADMAP drift)搜过本仓开放 issue,除 #3700 / #3655 / #3670 外无同源单。


Generated by Claude Code


Blocked-by: objectui#3700


Generated by Claude Code

Activity

  1. claude commented on Aug 7, 2026

    @claude
    Contributor

    Findings triage — PROMOTE. finding → pm:queue, plus pm:blocked / Blocked-by: objectui#3700.

    Stale-premise check. Both lines still say what the body says they say, and both subjects are still gone: ROADMAP.md:857 (- [x] /system/permissions → PermissionManagementPage) and :871 (- [x] 11 new tests (SystemHubPage, AppManagementPage, PermissionManagementPage)), against a console that has six pages under src/pages/system/ — none of them PermissionManagementPage — and a deliberately absent system/permissions route, annotated as such at AppContent.tsx:191-201. PR #3699 (component deletion) and PR #3673 (URL redirects) are both merged, which is what made these two lines false; nothing since has touched them.

    Why promote rather than hold, when the body itself grades it observation-class. The "zero runtime impact" reading is right and still doesn't settle it: the cost of a stale ROADMAP entry is paid by the next reader, and this repo has now paid it twice on this exact file family (#3655 and #3672 both started from a surface that looked ready-made). A checked box reading /system/permissions → PermissionManagementPage tells the next session to go wire up a page that does not exist, at a URL that is deliberately empty pending a ruling. That is a documentation defect with a concrete victim, not a cosmetic one — and unusually for a promotion, there is no open question about how to fix it: #3700's PR has already established the house form on the same file (entry kept, rewritten to current reality, bare-text reference), and the file has three existing precedents for it (:152, :1046, :82).

    The wording constraint travels with the promotion and is not optional. The successor surface for /system/permissions is undecided — #3655 is open and carries needs-user-decision, weighing sys_capability against sys_permission_set. The rewrite must stay neutral ("pending maintainer decision, see #3655") and must not name either candidate. #3700's P1.12.2 line is the model to copy verbatim. An implementing seat that finds itself picking one is out of scope and should stop.

    Why pm:blocked rather than straight queue. #3700 is pm:dispatched and in flight against the same file and the same ### P1.12 section (:825-839). Two agents editing ROADMAP.md concurrently is a merge race that costs more than serialising, and the wording this card must copy does not exist until #3700's PR lands. Sequence it behind, then it is a clean two-line change.

    Not a duplicate. #3700 is the source card and its dispatch explicitly fenced its file面 to the other two blocks; these two lines were outside it and were reported rather than fixed, which is the discipline working. #3655 is the ruling this card must not pre-empt. #3670 is unrelated.

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


    Generated by Claude Code

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

    @yinlianghui
    CollaboratorAuthor

    认领(PM 派发)。Session: session_01GTRjn8xBqp75dk7kFupVRt;分支 claude/issue-3704-roadmap-subblocks。文件面:ROADMAP.md :857/:871 两行(Routes/Tests 子块的同源漂移)。前置已落:PR #3705 已在 main(35e84b6),同文件障碍解除,行号经 #3705 的 15/15 中性改动仍准(以内容锚定复核)。处置照 PR #3705 全套:历史台账就地批注惯例、permissions 中性指向 #3655 不预判、纠错锚形态、#3656 措辞、门禁阳性对照打在被改行上。


    Generated by Claude Code

  4. yinlianghui commented on Aug 8, 2026

    @yinlianghui
    CollaboratorAuthor

    验收 ACCEPT → PR #3714(session_01GTRjn8xBqp75dk7kFupVRt)。

    已核:2 增 2 删单文件;双行各打阳性对照;#3656 计量(活映射形态 1→0、计数 1→0、纠错锚 2→2 保留)含初稿自纠(组件名在箭头后仍是活映射位 — 与 #3705 初稿同错,诚实记录)。

    裁决记录:

    1. 两处模板偏离接受且正确:子块部分存活 → 标题级退役注本身会成为假话;[x]→[ ] 使同节两行对同一 URL 的判词自洽 — 模板服务于真值,不是反过来。
    2. 考古升级(泛指 →「(commit cccdf84)」可核对形态,对齐 :1046 惯例)记入方法库。
    3. docs(ROADMAP): P1.12 的 Routes / Tests 子块另有两条残余漂移(MetadataManagerPage 路由、Total: 20 计数),在 #3704 围栏之外 #3712 入池(P1.12.3 漂移入口 + 未定义计数属维护者语义,标注正确);docs(skills): console-development.md 指路的 7 个 console 页面里 5 个不存在,并整节教用已删除的 MetadataManagerPage #3713 定级入队(agent 消费面双重失真:指南教 5 个不存在页面 + eval 烤入期望输出 — 生成的错误代码会被判对,严重度高于普通文档漂移)。

    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

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions