实现M002 V3 P0.1 Parent Group路由修订

This commit is contained in:
andy
2026-07-12 11:42:01 +08:00
parent 0358b34159
commit 92489af18e
42 changed files with 3971 additions and 79 deletions

View File

@@ -107,23 +107,25 @@ SuperAgent 不应知道或依赖内部 SourceMessage Inbox ID。任务结果通
## 3.1 M002 V3 迁移提醒
2026-07-11 起,项目需求基线已确认采用 `docs/project/requirements/M002-order-task-workflow-v3.md`
2026-07-11 起,项目需求基线已确认采用 `docs/project/requirements/M002-order-task-workflow-v3.md`2026-07-12 起Parent Group / Allotment 路由采用 `docs/project/requirements/M002-v3-p0.1-parent-group-routing-update.md`
- 新入口结果将从旧文本 `S000/S999` 迁移为结构化 `S10/S99`
- 新业务输出将从旧 `ai_task_results[]` 迁移为 `source_message + message_events[] + case_candidates[] + extraction_warnings[] + unhandled_current_intents[]`
- 后端会完整保存 AI 三元组、`route_code` 和系统处理分类;`S10/S99` 仍以只读源邮件通知卡展示,任务列表可见,订单列表不可见。
-`S000/S999` 数据继续兼容展示,语义上分别映射到 `S10/S99`
- 完整 Parent split 的父事件必须使用 `Cancel Allotment + cancel_allotment_control_block``relationship_type=linked_parent_release_after_child_split` 只用于关联和 Preflight不再作为独立任务 subtype。
- 当前新入站不接受 `Cancel Booking + linked_parent_release_after_child_split` 作为合法业务任务;该组合仅允许历史数据只读兼容。
当前后端已完成 M002 V3 CP1-CP6
- 已建立 42 条 P0 路由枚举 / 稳定配置。
- 已建立 40 条 P0.1 路由枚举 / 稳定配置`route_code` 保持历史稳定,不按总数连续重编号,`R41/R42` 仍可能出现在响应和历史 transition 中
- 已支持结构化 `S10/S99` 入站,创建只读 `SOURCE_MESSAGE_ONLY` 任务。
- 已支持 V3 业务根 `source_message + message_events[]` 的基础解析;可派生到现有任务模型的 event 会创建业务任务,无法派生、显式契约错误或基础 manual_review / parent split 结构不完整的 event 只落 `adapter_contract_error` transition不创建业务任务。
- 已支持 `unhandled_current_intents[]` 最小落库:只写 `UNHANDLED_CURRENT_INTENT` transition不创建业务任务也不按 adapter 契约错误返回。
- 已在 `workflow_reservation_ai_transition` 保存 `route_code``system_process_category``adapter_error_code``adapter_error_message`
- 已支持 type-known manual review 同卡解阻、当前订单归属确认、P0 fixtures 回归测试和 V3 typed `infrastructure_input_error` 响应。
尚未完成:真实 OPERA / OHIP、普通任务切换订单、字段矩阵从当前扁平结构整体迁移到 0711 P0 新结构。
尚未完成:真实 OPERA / OHIP、普通任务切换订单、字段矩阵从当前扁平结构整体迁移到 0711 P0 新结构、历史旧 Parent Cancel Booking payload 批量迁移
## 4. 接口 1查询订单上下文
@@ -559,9 +561,13 @@ V3 字段说明:
当前已支持的 V3 行为:
- 42 条 P0 路由进入后端枚举 / 稳定配置。
- 40 条 P0.1 路由进入后端枚举 / 稳定配置。
- `route_code` 是稳定代码,不因路由总数从 42 调整为 40 而重编号;联调方不要按数字连续性判断合法性。
- 结构化 `S10/S99` 创建只读 `SOURCE_MESSAGE_ONLY` 任务,任务列表可见,订单列表不可见。
- 业务 event 能派生到稳定路由时,复用现有订单 / 任务 / 任务卡创建链路。
- 完整 Parent split 父事件必须提交为 `event_type=Cancel Allotment``extracted_fields.cancel_scope=entire_allotment_control_block``task_subtype=cancel_allotment_control_block`,并保留 `relationship_type=linked_parent_release_after_child_split` 作为关系字段。
- 当前新入站若提交 `event_type=Cancel Booking``relationship_type=linked_parent_release_after_child_split`,写入 `adapter_contract_error` transition不创建业务任务旧 V2 兼容 `ai_task_results[]` 中的同等三元组按请求级 `ADAPTER_CONTRACT_ERROR` 拒绝。
- 同一个 Parent split cluster 重复提交 Parent 候选时,后续重复 Parent 写入 `adapter_contract_error` transition不创建第二张 Parent 业务任务。
- event 判别字段不完整、显式携带 `contract_errors`、根 `missing_fields`、不完整 `manual_review` 或不完整 parent split 候选时,写入 `adapter_contract_error` transition不创建订单和任务同一邮件其他 sibling event 继续处理。
- `unhandled_current_intents[]` 写入 `UNHANDLED_CURRENT_INTENT` transition不返回 `adapter_error_code`
- V3 `message_events[].relevant_message_excerpt` 入站后会归一化到任务卡 AI payload 根路径供旧字段矩阵读取证据字段SuperAgent 仍只需要按 V3 event 契约提供该字段。