docs(ROADMAP): 按 #3673/#3699 落地后的现实改写 P1.12.2 与 Permission Management 两段 (#3700) - #3705
Merged
Merged
Conversation
/#3699 reality (#3700) All nine [x] in "ObjectView-Driven System Pages (P1.12.2)" had gone false: the shared component was deleted (PR #3699), four URLs became redirects onto framework objects (PR #3673), /system/permissions is deliberately undeclared, the audit page is a standalone REST page, and the 22-test suite is gone. The Permission Management Page block above it drifted from the same source. Rewritten per this file's own retirement convention (an italic _(Retired — …)_ annotation on the sub-header plus rewritten [x] items carrying a bare PR ref, as at :152 ViewDesigner and :1046 tab-drag). The /system/permissions successor stays neutral and unchecked — pending the maintainer's call in #3655. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GTRjn8xBqp75dk7kFupVRt
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
yinlianghui
marked this pull request as ready for review
August 7, 2026 23:37
This was referenced Aug 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #3700
纯文档改动,只动
ROADMAP.md一个文件的两段(:825-839),零代码、零行为变化。无 changeset —— 根文档不是发布包,用户可见产物零 delta。先定惯例,再改字(派发单要求)
issue #3700 把取舍留给了维护者:「ROADMAP 是历史账本还是当前真相快照」。不必问 —— 这个文件自己已经答过三次,普查
ROADMAP.md其它段落对「已推翻/已退场」项的处理,惯例是一致的:**ViewDesigner:** _(Removed — replaced by ViewConfigPanel)_[x]历史项保留- [x] Removed: ViewDesigner replaced by ViewConfigPanel …[x]记账- [x] Tab-drag UX retired in favour of Manage Views dialog (commit 3371239c)[x]+ 「retired in favour of X」+ 裸引用- [x] Auto-redirect … — removed; object now uses metadata pipeline[x]+ 破折号 + 当前形态… the client-side @object-ui/tenant package was removed as dead surface, #2564即:历史账本 + 就地标注,条目不删、不打删除线,文字改写成「当前形态」并挂一个裸文本引用(
(PR #771)/(Issue #719)/(commit …)这三种,全文只有 6 处 markdown 链接,issue 链接仅 1 处)。本 PR 照此办理 —— 因此没有新增任何链接,check-doc-links 的扫描面不受影响。九项逐条核实(全部对
origin/main@b19f54f39实测)SystemObjectViewPagecomponent using ObjectViewpages/system/下已无该文件;全仓 grep 两个符号,排除 ROADMAP/CHANGELOG 后零命中(PR #3699)/system/usersdriven bysys_user… via ObjectViewAppContent.tsx:203SystemObjectRedirect objectName="sys_user"(PR #3673)/system/organizationsdriven bysys_orgsys_organization;sys_org不存在AppContent.tsx:204;grep -rlw sys_org ../objectstack/packages/= 0 个文件/system/rolesdriven bysys_rolesys_position;无sys_role对象AppContent.tsx:205;sys_role的 18 处命中全在 CHANGELOG 与改名说明里,无对象定义;packages/spec/PROTOCOL_MAP.md:104写明 ADR-0090 改名/system/permissionsdriven bysys_permissionsys_permission不是框架对象名AppContent.tsx:191-201的注释写明「absent on purpose」;grep -rlw sys_permission packages/唯一命中是sys-capability.object.ts的 docblock,内容正是「不叫 sys_permission」/system/audit-log… via ObjectView (read-only)AuditLogPage.tsx436 行::152fetch(${API_BASE}/data/sys_audit_log?…),手写$filter/$orderby/$top/$skip(:144-150)、手写 Table(:296)与 Sheet 详情;不经 ObjectViewoperationsconfigoperations/canMutate = !readOnly && isAdmin就长在被删的SystemObjectViewPage里(PR #3699)pages/system/__tests__/现只有SystemHubPage.counts.test.tsx与SystemHubPage.metadataCards.test.tsx同源漂移的 :825-828 Permission Management Page 段(
sys_permissionCRUD grid / search-filter / admin-only create-delete):该页与该路由均已不存在,对象名亦非框架真名 —— 依据同上第 5、7 条。九条无一仍然成立,issue 前提完全属实。
前后对照
改前(:830-839,九个
[x]全部失实):改后(子标题挂退场注,九条逐一改写为「当前形态 + 落地 PR」):
Permission Management Page 段同法:子标题加
_(Retired — the page was deleted; the successor surface is pending maintainer decision, see #3655)_,三条改写为「当年交付过 → 随 console 瘦身一并删除」,并就地把对象名纠正为sys_capability/sys_permission_set。两处刻意的取舍
- [ ](未勾选)。 它不是「做完了又退场」,而是一个尚未定案的缺口:框架把这个面拆成sys_capability与sys_permission_set两个 Setup 条目,PR fix(console): 把已退场的 system/{users,organizations,roles,positions} 四条 URL 声明为重定向,直达框架系统对象 (#3655) #3673 已按有界授权停手,留给 console: 系统导航 / System Hub 的 users / organizations / roles / positions / permissions 五个入口没有对应路由 —— 两个落 "Page not found",三个跳进不存在对象system的记录页 #3655 裁决。⛔ 本 PR 不预判 A/B/C —— 只陈述「未声明路由」这个事实与拆分现状,措辞为中性的 pending maintainer decision, see console: 系统导航 / System Hub 的 users / organizations / roles / positions / permissions 五个入口没有对应路由 —— 两个落 "Page not found",三个跳进不存在对象system的记录页 #3655。全文 89 处- [ ],未勾选项是本文件的常规形态。22正是烂掉的那种硬编码计数;改写成「pages/system/__tests__/now coversSystemHubPageonly」,不再种一个下周就会再次失真的数。措辞纪律(遵 #3656:不复植失真特征词)
#3656 的规矩是:承载错误机制的特征词改完要 grep 归零,而不是换个说法把它留着。本 PR 逐条量了:
driven by … metadatavia ObjectViewfrom ObjectView capabilities22 system page tests第一版草稿里
via ObjectView只降到 1(第 7 条把它留在了主语位置,读起来仍像在陈述现行机制),已改写成过去式主语「were theoperationsconfig on …」后才真正归零 —— 如实记下,因为这正是 #3656 那个carries no continue-on-error教训的同型。刻意保留的两个符号名(不是复植,而是纠错):
SystemObjectViewPage(:831)与sys_org(:833)。二者都紧跟「已删除 / 从来就不是框架对象」的判词,下一个 grep 到它们的 agent 读到的是结论而非诱饵 —— 这与 :82 保留@object-ui/tenant、:152 保留ViewDesigner的既有惯例一致。验证
改动不含代码,本仓无任何测试或脚本读取
ROADMAP.md的正文(scripts/__tests__/check-doc-links.test.ts里的 ROADMAP 是内存里合成的 fixture,见:778/:812,与真实文件无关),故没有可跑绿的单元测试 —— 如实写明,不凑数。真正管这块的是 doc-links 门禁,ROADMAP.md是它第 5 个扫描根(check-doc-links.mjs:397,rule: 'disk'):阳性对照(先预测,后运行) —— 前后同为绿,必须先证明「门禁确实看了我改的那几行」,否则绿是「没看」而不是「没问题」。预测:往第 831 行(本 PR 改写过的行)注入一个死链,门禁应转红并点名
ROADMAP.md:831。实测吻合:随后还原,门禁复绿(
EXIT=0),grep -c 9999 ROADMAP.md= 0,工作树干净。控制字符:
围栏
CHANGELOG.md:595未动 —— 它是史实记录,记的是「当时确实做了这件事」,不该被改写。content/docs/releases/未动;无 changeset。AppContent.tsx/AuditLogPage.tsx只读不写。git diff只有一个 hunk:@@ -825,15 +825,15 @@,15 增 15 删,全部落在这两段内。越界发现(只报不改)
同一个
### P1.12章节里还有两处同源漂移,落在派发单给的两段之外,按纪律不在本 PR 修改,已单独立单 #3704(观察类,finding,未认领):ROADMAP.md:857——- [x] /system/permissions → PermissionManagementPage,该路由与该页面均已不存在(依据同上第 5 条)。ROADMAP.md:871——- [x] 11 new tests (SystemHubPage, AppManagementPage, PermissionManagementPage),其中PermissionManagementPage的测试随页面一并消失。本 PR 增删各 15 行、行号不移位,故 #3704 里记的 :857 / :871 在本 PR 合并后依然成立。
🤖 Generated with Claude Code
https://claude.ai/code/session_01GTRjn8xBqp75dk7kFupVRt
Generated by Claude Code