完善 server-rs DDD 重构计划与骨架

This commit is contained in:
Codex
2026-04-29 11:51:30 +08:00
parent 39200ea9cc
commit aa2e9b36d7
98 changed files with 1261 additions and 11 deletions

View File

@@ -6,6 +6,8 @@
目标是把 Rust + SpacetimeDB 后端统一成清晰边界:领域规则在 `module-*`,事务和持久化在 `spacetime-module`HTTP/BFF 在 `api-server`,外部能力在 `platform-*`,共享值处理和 DTO 分别在 `shared-kernel` / `shared-contracts`
全局并行执行任务清单见 `docs/technical/SERVER_RS_DDD_PARALLEL_TASKLIST_2026-04-29.md`。runtime story 去兼容层属于该清单中的 `WP-RS` 工作包,不再单独维护专项清单。
## Target Architecture
- `module-*`:领域模型、值对象、聚合方法、领域服务、命令、领域错误、领域事件、纯应用编排结果;禁止直接依赖 Axum、reqwest、OSS、LLM、文件系统、SpacetimeDB table 操作。
@@ -31,6 +33,12 @@
- `api-server` 中 handler 只保留 transport 逻辑,业务分支迁移到领域或应用层。
- `runtime_story``custom_world``puzzle``big_fish``inventory``quest``npc``combat``progression` 全部对齐同一结构。
- 去兼容层任务边界:
- `module-runtime-story-compat` 不作为目标架构保留,迁移为无 `compat` 命名的 `module-runtime-story` 或拆入对应领域模块。
- `api-server/src/runtime_story/compat*` 只允许作为待删除历史入口,不再新增兼容分支。
- 前端 runtime story / chat client 统一改到 `POST /api/runtime/story/sessions/:sessionId/...` 新接口族。
- 旧请求体里的 `worldType / character / monsters / history / context` 不再作为正式主链输入。
- 表结构硬约束:
- 默认保持现有 SpacetimeDB 主表兼容。
- 表结构变更采用最小必要原则。