Skip to content

feat(console-web): 拆分 Potter 的 Team-first 路由与 runtime-lens 落地任务 #170

@potter-sun

Description

@potter-sun

Parent Context

Why Split This Out

#146 目前同时承载产品背景、页面重构、后端配合和架构验收,范围过大。

基于 2026-04-08 的分工 comment,需要补一条 只跟踪 @potter-sun 负责边界 的 issue,把路由、导航骨架、scope deep-link 和 runtime-lens 这条主干从总 issue 中拆出来,方便独立验收与收口。

另外,原 comment 里标记为前置阻塞的 #141 已于 2026-04-09 关闭,因此这条子任务现在可以单独推进。

Potter Scope Only

  • Team-first feature flag 与默认首页切换
  • /teams/teams/:scopeId 路由骨架与 legacy redirect
  • src/app.tsx / src/layouts/MainLayout.tsx 的 Teams + Platform 导航分组
  • scopeId 解析与 URL 构建 helper 的共享收口
  • page-local team runtime lens 组合层与其派生事实契约
  • Team 页面进入 Studio / runtime surface 时的显式 scopeId deep-link

Out Of Scope

  • 团队详情页的 tab 组件内容、术语文案替换、视觉 polish
  • 新后端 contract 或新 API
  • query-time replay、projection priming、进程内事实缓存
  • 伪造 multi-team list、fake KPI strip、unsupported row actions

Acceptance Criteria

  • AEVATAR_CONSOLE_TEAM_FIRST_ENABLED 只在共享配置层集中解析,/teams route 内完成 legacy / team-first 切换,不向全局 bootstrap 扩散条件分支。
  • config/routes.ts 明确收口 /teams/teams/:scopeId、legacy redirect,以及 flag 打开时 / -> /teams 的默认入口行为。
  • src/app.tsxsrc/layouts/MainLayout.tsx 对齐 Teams + Platform 双层信息架构;Studio 不再作为一级导航独立入口。
  • src/shared/navigation/*src/shared/scope/context.ts 成为 scopeId 解析和 route builder 的唯一共享入口;禁止继续在页面内散落重复 query 语义。
  • team runtime lens 只组合现有 API 已提供的 committed 事实,不做 query-time replay、不维护进程内 truth cache、不发明第二套 runtime state。
  • Team -> Studio / Explorer / Runs 的 deep-link 优先携带显式 scopeId;只有路由缺失时才允许退回 app context / auth session fallback。
  • 相关前端测试保持通过,至少覆盖 route shell、scope helper、runtime lens、Studio deep-link 这几条主路径。

Suggested Verification

  • cd apps/aevatar-console-web && pnpm test -- --runInBand src/pages/teams/index.test.tsx src/pages/teams/runtime/teamRuntimeLens.test.ts src/pages/teams/detail.test.tsx src/pages/studio/index.test.tsx src/shared/navigation/scopeRoutes.test.ts src/shared/navigation/consoleHome.test.ts src/shared/config/consoleFeatures.test.ts
  • cd apps/aevatar-console-web && pnpm tsc --noEmit

Notes

  • 页面层模块内容与术语替换继续按 #146@AbigailDeng 的边界推进。
  • #163 继续作为主实现 PR,本 issue 作为 Potter 边界的验收清单与 follow-up tracker 使用。

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions