Start LangGraph backend migration foundation

This commit is contained in:
Xin Wang
2026-07-27 17:21:29 +08:00
parent 5c719ed2ea
commit 1c8e9da486
33 changed files with 1859 additions and 86 deletions

40
docs/domain/README.md Normal file
View File

@@ -0,0 +1,40 @@
# Phase 0 领域契约索引
> 基线版本2026-07-26
> 适用范围:`/chat`、`/set_info`、`/get_info`
> 规则来源优先级V1.0.9 接口文档 > 2026-07-26 workflow/Prompt > 当前服务代码 > 历史 workflow/Prompt
本目录冻结 LangGraph 迁移前的外部契约和业务规则。JSON 文件是后续代码生成、参数化测试和 Graph validator 的机器可读输入Markdown 文件解释兼容行为及来源。
## 交付物
| 文件 | 用途 |
|---|---|
| `api-contract.md` | 三个接口的当前兼容行为和已知偏差 |
| `stage-codes.json` | 状态码、内部/外部映射和产生方式 |
| `stage-transitions.json` | 权威迁移矩阵和拍照顺序 |
| `field-registry.json` | 字段、分组、类型、敏感性和写权限 |
| `business-rules.md` | 从 workflow、Prompt 和 endpoint 提取的规则 |
| `event-mapping.md` | 历史魔法字符串到结构化事件的映射 |
| `../baselines/fastgpt-baseline-20260726.md` | 迁移前可复现测试/性能基线 |
| `../../test/fixtures/golden/accident-scenarios.json` | 脱敏黄金场景 |
## 已冻结的关键决定
1. 对外继续使用 camelCase、字符串业务码和 JSON 编码的 `/get_info.value`
2. `3001``3002` 为内部信息确认状态,对外仍返回 `1002`
3. `2006``2017``2020` 仅作为历史别名接收,不作为新图的合法目标状态。
4. `0004` 纳入正式状态表;当前 endpoint 状态名称映射缺失是待修复偏差,不代表删除该状态。
5. 拍照完成、连续拍照失败、无回复和外部字段更新在新图中必须是结构化确定性事件。
6. `sfzmwh1/2``sjwh1/2` 是只读兼容字段,不允许 `/set_info` 写入。
7. `phase``stage_code`、计数器、版本和图路由字段禁止外部修改。
## 变更规则
Phase 0 冻结后,修改这里的状态、字段或外部契约必须同时:
1. 说明业务原因和兼容影响;
2. 更新机器可读 JSON
3. 更新黄金场景;
4. 更新对应契约/领域测试;
5. 获得接口调用方或产品确认。