# server-node 冻结隔离说明(2026-04-24) ## 1. 当前状态 `server-node/` 已进入冻结隔离状态,不再作为可运行、可扩展、可引用的后端工程使用。 冻结原因:项目后端主线已经切到 `server-rs/` 的 Rust + SpacetimeDB 多 crate 方案,继续保留可执行的 `server-node/` 入口会误导后续开发,并增加提示词资产、AI 工作流与运行态逻辑的迁移漂移风险。 ## 2. 冻结边界 1. 禁止新增任何以 `server-node/` 为目标的运行脚本、开发入口、CI 入口或工程依赖。 2. 禁止新增从前端、Rust 后端、脚本或配置主动调用 `server-node/` 的逻辑。 3. 禁止在 `server-node/` 内继续新增业务能力;后续能力必须落到 `server-rs/` 对应 crate。 4. 历史文档、审计文档、迁移基线中允许保留 `server-node/` 作为旧系统来源说明,但不得把它描述成当前推荐实现。 5. 删除 `server-node/` 前,必须先完成提示词资产与提示词相关工作流的最终迁移确认。 ## 3. 删除前阻断项 以下资产仍需要在删除目录前逐项确认迁移或废弃: 1. `server-node/src/prompts/customWorldEntityPrompts.ts`:自定义世界实体生成 prompt。 2. `server-node/src/prompts/customWorldSceneNpcPrompts.ts`:自定义世界场景 NPC prompt。 3. `server-node/src/prompts/questPrompts.ts`:任务意图识别 prompt。 4. `server-node/src/prompts/runtimeItemPrompts.ts`:运行时物品意图识别 prompt。 5. `server-node/src/prompts/customWorldOrchestratorPrompts.ts`:旧 Custom World JSON 生成与修复 prompt。 6. `src/services/ai.ts` 与 `src/prompts/customWorldPrompts.ts` 中仍由前端承载的 AI orchestration / prompt 编排。 ## 4. 工程防线 1. 根目录 `package.json` 中的 `server-node:*` 脚本统一改为冻结失败入口。 2. 新增 `npm run check:server-node-freeze`,用于阻止新增 `server-node` 引用。 3. 新增 `scripts/server-node-frozen.mjs`,任何旧 `server-node:*` 入口被误执行时都会直接失败并提示迁移到 `server-rs/`。 4. 新增 `scripts/server-node-freeze-baseline.json`,只允许冻结前已经存在的引用继续作为迁移基线存在。 ## 5. 后续处理顺序 1. 优先迁移或废弃提示词资产与 prompt 工作流。 2. 确认前端不再通过任何路径调用 Node 后端能力。 3. 删除旧脚本、旧 smoke、旧 manifest 与 `server-node/` 目录。 4. 删除冻结基线检查中对历史引用的豁免。