3.1 KiB
3.1 KiB
旧 Portal 导航兼容审计
Summary
当前运行时已经不存在 Portal 导航双接受:前端、后端、fixture 和 smoke helper 均以 工作台 为唯一用户导航 label。剩余可清理项是部署规约的过时 fallback 描述,以及视觉报告中与 englishFound 重复的 navPortalCopy 字段。
Current Navigation Sources
- 前端默认导航:
NavLinks.tsx使用工作台。 - 前端路由元数据:navigation schema 使用
工作台。 - 后端 workspace 导航:workspace settings 使用
工作台。 - 当前 E2E fixture 搜索未发现
label: "Portal"。 smokeAssertions.ts对工作台链接使用精确中文断言。
History
- Git blame 显示 smoke helper 在 2026-05-29 已从旧英文 label 迁移到
工作台。 - 部署规约仍描述旧 fixture 和
.or(...Portal)fallback,已经落后于代码事实。 - 归档只读视觉报告保留
navPortalCopy: false,属于当时的审计 schema,不应改写。
Visual Audit Field
ENGLISH_PRIMARY_TERMS包含Portal,页面出现该用户可见英文词时会进入englishFound并产生 finding。readMetrics另行计算navPortalCopy: text.includes("Portal"),报告对象再次输出该布尔值。- 当前仓库除该测试文件和受保护归档报告外,没有现行消费者读取
navPortalCopy。 - 因此删除未来报告的
navPortalCopy不会降低检测能力,也不会破坏现行门禁;englishFound是保留的单一信号。
Protected Internal Identifiers
/portal是现行路由和 Enterprise WeChat return target。- Portal API、feature flag、数据库实体、组件和 helper 名仍有大量消费者。
- 测试标题中的 Portal 多为内部场景名,不是导航 fallback。
- Radix UI 的
DialogPrimitive.Portal/DropdownMenuPrimitive.Portal是第三方渲染概念,与产品文案无关。
Current Documentation
- 多份 CURRENT 用户、管理员、业务和部署手册仍用
Portal指代工作台。 - 这些文档混合了当前操作说明、历史结论、路由术语和内部模块名;若迁移必须按状态矩阵逐份审核。
- 不建议把文档迁移与两处兼容清理自动捆绑,也不能全局替换。
Recommended Scope
采用最小方案:更新部署规约,删除重复报告字段,保留英文负向检测、内部标识、现行手册和历史证据。后续若用户希望统一手册术语,另建文档治理批次。
Validation
- 精确搜索当前 mock label 和
navPortalCopy消费者。 - 前端 TypeScript 检查。
- 两个相关 Playwright spec 使用
--list加载。 - 前端 production build。
- Trellis governance、task validate 和
git diff --check。
2026-07-16 Execution Result
- 用户选择最小方案;部署规约已收敛为精确中文导航合同。
- 新视觉报告已移除重复
navPortalCopy字段,Portal英文负向检测保持不变。 - 当前 fixture 的旧导航 label 和活跃重复字段消费者均为 0。
- TypeScript、两个 Playwright spec 的
--list、production build 和 Trellis 治理通过。 - 验证生成物已清理;未运行公网或带凭据检查。