Integrate unfinished server-rs refactor worklists

This commit is contained in:
2026-04-30 13:39:06 +08:00
parent 62934b0809
commit 7ab0933f6d
676 changed files with 24487 additions and 21531 deletions

View File

@@ -1,30 +1,33 @@
# module-story 独立模块 package 占位说明
# module-story 剧情领域模块说明
日期:`2026-04-20`
日期:`2026-04-29`
## 1. package 职责
`module-story`故事主循环模块 package后续负责:
`module-story` RPG story session 的纯领域模块,当前负责:
1. `story_session``story_event` 等故事会话状态模型
2. story action 主循环与状态推进规则
3. `currentStory`、story state、兼容视图模型的模块级拼装
4. `apps/api-server` 的 story facade 与 SSE 输出对接
5.`apps/spacetime-module` 的 story 表、reducer、view 聚合对接
1. `StorySessionSnapshot``StoryEventSnapshot` 等故事会话与事件快照。
2. `begin / continue / state query` 相关输入命令的字段归一化与基础校验。
3. 剧情会话开局、续写事件追加、版本推进和只读记录投影。
4. `spacetime-module``spacetime-client``api-server` 提供可复用的纯 Rust 规则。
## 2. 当前阶段说明
当前提交仅完成目录占位,不提前进入 reducer、view 与 SSE 兼容实现。
当前模块已经完成 DDD 薄层物理拆分,不再是目录占位:
后续与本 package 直接相关的任务包括:
1. `src/domain.rs`:会话领域快照、状态和值对象。
2. `src/commands.rs`story session scoped 输入命令与校验。
3. `src/events.rs`:剧情事件类型、事件快照和事件 ID 生成。
4. `src/application.rs`:快照构造、续写应用服务和读模型记录映射。
5. `src/errors.rs`:剧情字段错误与中文错误文案。
6. `src/lib.rs`:只保留模块公开导出,保持 `module_story::*` 对外 API 稳定。
1. 设计 `story_session``story_event`
2. 设计 `resolve_story_action``continue_story``begin_story_session`
3. 对齐 `RuntimeStoryActionResponse``RuntimeStoryOptionView`
4. 落地 `/api/runtime/story/*` 兼容链路
当前仍未扩到完整运行态动作结算。`inventory action`、NPC interaction、forge、battle、quest 等写侧闭环继续归入 `WP-RS Runtime Story 去兼容层``WP-RPG Gameplay 域` 后续切片。
## 3. 边界约束
1. `module-story` 负责故事状态真相与主循环规则,不把外部 LLM、OSS、短信、微信等副作用塞进模块内部
2. 流式文本输出与 HTTP 协议兼容由 `apps/api-server` 暴露,但阶段状态与故事真相必须回写到 `apps/spacetime-module` 聚合的状态模型中
3. 跨模块联动通过明确的 reducer 与模块边界协作,不回到单大 service 直接改整包 JSON 的旧实现方式。
1. `module-story` 不调用 LLM、OSS、HTTP、SpacetimeDB client 或旧 Node 服务
2. `module-story` 不恢复旧 `/api/runtime/story/*` 兼容路由HTTP 主链固定走 G1 冻结的 `/api/story/*` session scoped route
3. SpacetimeDB 表、reducer、procedure 和 row mapper 只在 `spacetime-module` adapter 中落地。
4. `api-server` 只负责 BFF、鉴权、SSE、DTO 映射和平台能力编排,不复制本模块的领域规则。
5. 前端只消费后端投影和新 contract不在 UI 或 hooks 中重建 story session 真相。