M1:镜生域后端闭环——灵胚/照心试演/启镜原子闸门/执镜关系/命台租约/魂籍签名导出/死亡冷静期(迁移 001,测试 7 用例)

This commit is contained in:
chenxin committed 2026-08-21 22:39:07 +08:00
1 parent c090893e63
commit 1cd0069d65
24 files changed
+1508 -9

No files matched your search

+7 -1
View File
@@ -47,7 +47,13 @@ GET /api/v1/characters/{id}/identity-baseline # 道体(只读展示)
POST /api/v1/characters/{id}/reforge-request # 铸魂请求(高影响确认流)
POST /api/v1/characters/{id}/branch-off # 分灵
POST /api/v1/characters/{id}/death-request # 死亡请求(强认证+冷静期)
POST /api/v1/characters/{id}/identity-records # 魂籍导出(版本化包)
POST /api/v1/characters/{id}/death-cancel # 冷静期撤销
POST /api/v1/characters/{id}/death-finalize # 冷静期满后落定(确认短语强校验)
GET|POST /api/v1/characters/{id}/identity-records # 魂籍列表/导出新版本(版本化包)
GET /api/v1/characters/{id}/identity-records/{record_id} # 完整魂籍 payload
POST /api/v1/characters/{id}/identity-records/{record_id}/verify # 摘要+签名校验
POST /api/v1/characters/{id}/seat/acquire # 命台租约获取(冲突 HJ-1101 + seat.contested)
POST /api/v1/characters/{id}/seat/release # 命台租约释放
```
### 3.3 镜树(灵台域·对话)
+4 -2
View File
@@ -217,7 +217,7 @@
### 8.2 `run.kind`
`foreground`(前台意识流)/ `background_task`(天工阁受托任务)/ `awakening`(应感)
`foreground`(前台意识流)/ `background_task`(天工阁受托任务)/ `awakening`(应感)/ `rehearsal`(照心试演:幻境 Run,无正式人物、不产生人物经历)
### 8.3 事件类型 `event.type`(一炁)
@@ -231,7 +231,9 @@
- 接纳:`result.pre_accept` / `result.accepted`
- 镜树:`tree.created` / `tree.node_created` / `tree.node_solidified` / `tree.node_sealed`(残答封存)/ `tree.adopted` / `tree.canonized` / `tree.transplanted`
- 记忆:`memory.candidate_created` / `memory.confirmed` / `memory.denied` / `memory.superseded` / `memory.deleted`
- 人物:`character.activated`(启镜)/ `character.reforged`(铸魂)/ `character.branch_off`(分灵)/ `character.death_requested` / `character.deceased`
- 人物:`character.activated`(启镜)/ `character.reforged`(铸魂)/ `character.branch_off`(分灵)/ `character.death_requested` / `character.death_cancelled` / `character.deceased`
- 灵胚:`embryo.created` / `embryo.abandoned`(放弃灵胚是删草稿,非死亡)
- 命台:`seat.acquired` / `seat.released` / `seat.contested`(租约冲突留痕)
- 缘契:`covenant.proposed` / `covenant.disclosed`(问心)/ `covenant.confirmed`(铭契)/ `covenant.changed` / `covenant.withdrawn`
- 司命:`safety.ruled`(裁决记录)/ `safety.confirm_requested` / `safety.confirm_resolved`
- 能力:`capability.granted` / `capability.revoked`
+1 -1
View File
@@ -20,7 +20,7 @@
| 能力 | 里程碑 | 当前状态 | 说明与缺口 |
| --- | --- | --- | --- |
| 灵台 Kernel 与插件运行时 | M0 | 局部实现 | M0 骨架已验证(本地开发档,2026-08-21):`backend/tests/test_kernel.py` 5 用例(事件序列/命台串行/否决/不变量/SSE),Kernel 经 DbEventStore 事件溯源;投影仍为占位,九枢插件与禁域裁决待 M2+/M5 |
| 镜生闭环(灵胚/启镜/魂籍/命台) | M1 | 未实现 | 旧 characters 表将重建;命台唯一性无实现 |
| 镜生闭环(灵胚/启镜/魂籍/命台) | M1 | 局部实现 | M1 后端闭环已验证(本地开发档,2026-08-21):`backend/tests/test_jingsheng.py` 7 用例——启镜前零人物行/零 activated 事件、并发启镜原子闸门单赢家(409 HJ-1103)、命台租约冲突被拒且 `seat.contested` 留痕、过期接管 epoch 递增、魂籍摘要+签名双校验(篡改与移植冒充均 422)、死亡冷静期撤销/落定(数据保留);随缘候选生成与角色卡导入对接随 M2,前端人物页随 M2+ |
| 镜树对话(问节/候答/采用/归真/引文/移栽) | M2 | 未实现 | 现有 chat 为线性会话,将被替换删除 |
| 三级记忆(微痕/明忆/重忆/实录/心痕) | M3 | 未实现 | 旧 memory/extraction 模块待退役;新管线未建 |
| 神识 Go 网关 | M4 | 局部实现 | M0 骨架已上线(2026-08-21):IR 入站/SSE 出站/stub 适配器/服务令牌/健康检查,`go test` 5 用例,与灵台 HttpShenshiClient 联调通过;云 Provider 与元炁端点、路由冷却计量待 M4 |
+4 -2
View File
@@ -83,10 +83,12 @@
- 验收:登录(复用 auth)→ 创建占位 Run → SSE 端到端流到浏览器(经照壁);"模型可见即可重建"断言在 stub 上可跑;旧 chat/memory 模块仍可用但不再新增调用。
- 证据:`backend/tests/test_kernel.py` 5 用例(事件序列/命台串行/否决/不变量/流式);`shenshi` `go test` 5 用例;`bff` vitest 4 用例;三服务(照壁 18100 / 灵台 18000 / 神识 18081)真实进程 E2E 冒烟:注册→登录→POST /api/v1/runs→SSE 流读至 run.finished,模型流经 Go 神识 stub("【神识回声桩】"前缀可证);全量后端回归 925 passed(另有 20 个预存失败,根因本地缺 `config/models.yaml`,与本次改动无关,stash 验证);Alembic 基线合并为单一迁移(41 表,空库 upgrade 干净)。
### M1 镜生闭环(灵胚→启镜→魂籍→命台)
### M1 镜生闭环(灵胚→启镜→魂籍→命台)— ✅ 后端闭环已完成(2026-08-21)
- 交付:embryo_drafts/custodianships/runtime_seats/identity_records 表与 API;灵胚创建(原创/导入占位/随缘)、照心试演(幻境 Run 标注)、启镜、放弃;死亡请求与冷静期骨架;魂籍版本化导出。
- 交付:embryo_drafts/custodianships/runtime_seats/identity_records 表与 API(迁移 `001`,顺序编号);灵胚创建(原创/领养/导入来源受理)、照心试演(`run.kind=rehearsal`,幻境 Run、无人物、不产生经历)、启镜(原子闸门)、放弃;死亡请求/撤销/落定与冷静期;魂籍版本化导出与校验;命台租约 API(冲突留痕、过期接管、epoch 递增)。
- 验收:启镜前无正式人物 ID;同一人物并发启镜/命台抢占被拒且留痕;魂籍导出可验证、复制不能冒充(签名摘要校验用例)。
- 证据:`backend/tests/test_jingsheng.py` 7 用例全绿;全量回归 932 passed(20 个预存失败与 M0 时相同,缺 `config/models.yaml`);`make db-upgrade` 空库 000→001 干净应用(含 SQLite batch alter)。
- 遗留到 M2:随缘灵胚候选生成、角色卡导入对接灵胚、Kernel 前台串行接入 DB 租约(多进程一致)、前端人物页。
### M2 镜树闭环(核心主线)