Skip to content

feat(network): Stage-3 RoleRouter 路由缝 + 语义等价 CI 门禁 #483

Description

@AlianBlank

背景

C143 umbrella 的 Stage-3 落地。跨 Role 消息路由缝 + 语义等价验证(DynamicPhase-0 核心契约,C2 在线平台依赖)。

设计源:gfx-doc/dev/online-platform/process-topology-isomorphism-design-2026-09-21.md § D3 / D9。
Change 文件:gfx-doc/dev/startup/changes/C143c-process-topology-stage3-rolerouter-equivalence/change.md

范围

  • IRoleRouter 接口 + InProcessRoleRouter 实现(仅 case 1 本地直投)。
  • RoleRouter 占位 case 2/3(先抛 NotImplementedException,C143d 后续实现)。
  • 语义等价验证用例集(4 条代表性链路 × 2 拓扑)进 CI。

任务

  • IRoleRouter 接口设计 + InProcessRoleRouter 实现
  • RoleRouter 占位 case 2/3
  • RouteNotFoundException 类型
  • DI 注入 InProcessRoleRouterAppBootstrapper
  • 等价用例集:Gate→Game 会话建立 / Game→Social 好友查询 / Game→Match 匹配请求 / Match→Game 结算回调
  • All-in-One 拓扑测试 fixture
  • MultiProcess 拓扑测试 fixture
  • 断言:消息序、超时行为、最终状态一致
  • .github/workflows/topology-equivalence.yml CI workflow
  • dotnet test 全绿 + CI gate 绿

验收

  • AC-2 语义等价:等价用例集在两拓扑下全绿(CI 门禁)。
  • AC-3 现状兼容:单 Role 启动 + 单 Role 跨链路行为零变化。
  • D3 路由缝:case 1 本地直投路径在 All-in-One 形态下被 100% 命中。

依赖

  • 依赖:C143b(多 Role 启动 + RoleSet)
  • 阻塞:C143d

标签约定

P2 project:gameframex.server.source blocked-by-dependency

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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