修复M002 V3字段矩阵迁移问题

This commit is contained in:
andy
2026-07-12 01:27:42 +08:00
parent ab303eea39
commit db95aece20
10 changed files with 330 additions and 19 deletions

View File

@@ -506,14 +506,26 @@ S99 与 S10 使用相同结构,但 `route_code=S99``agent_assessment.status
"message_events": [
{
"event_type": "New Booking",
"event_role": "travel_agent_request",
"source_event_index": "E1",
"current_or_history": "current",
"case_keys": {
"group_code": null,
"confirmation_number": "CNF-001"
"confirmation_number": "CNF-001",
"reservation_number": null,
"block_code": null
},
"relevant_message_excerpt": "Please create a new FIT reservation.",
"attachments": [],
"file_references": [],
"context_used": {},
"extracted_fields": {
"booking_object_type": "FIT Reservation"
"booking_object_type": "FIT Reservation",
"arrival_date": "2026-09-01",
"departure_date": "2026-09-03",
"room_quantity": 2,
"room_type": "Deluxe King",
"pms_room_type_code": "RM2"
},
"manual_review": null
}
@@ -533,9 +545,15 @@ V3 字段说明:
| `result_type` | S10/S99 必填 | 固定为 `source_message_review_notification` |
| `message_events[]` | 业务根必填 | SuperAgent 最终业务事件列表,本系统逐 event 派生路由 |
| `message_events[].event_type` | 是 | V3 active event 或 `Need Manual Review` |
| `message_events[].source_event_index` | 建议必填 | 可为 `E1` 或数字;后端会归一为数字序号 |
| `message_events[].case_keys` | | 订单关联候选键 |
| `message_events[].extracted_fields` | | 业务字段主体和 subtype 判别字段 |
| `message_events[].event_role` | 是 | 事件来源角色,第一版必须是非空字符串 |
| `message_events[].source_event_index` | | 可为 `E1` 或数字;后端会归一为数字序号 |
| `message_events[].current_or_history` | | 第一版只接受 `current` |
| `message_events[].case_keys` | 是 | 必须包含 `group_code``confirmation_number``reservation_number``block_code` 四个字段,值为 string 或 null |
| `message_events[].relevant_message_excerpt` | 是 | 当前事件的邮件证据摘录,必须是字符串 |
| `message_events[].attachments` | 是 | 当前事件引用附件数组,无附件传空数组 |
| `message_events[].file_references` | 是 | 当前事件引用文件数组,无文件传空数组 |
| `message_events[].context_used` | 是 | 当前事件使用的上下文对象,无上下文传空对象 |
| `message_events[].extracted_fields` | 是 | 业务字段主体和 subtype 判别字段,必须是对象 |
| `message_events[].manual_review` | 否 | `null` 表示普通任务;对象表示 type-known manual review |
| `unhandled_current_intents[]` | 否 | 第一版只保存 `UNHANDLED_CURRENT_INTENT` transition不自动创建业务任务 |
@@ -546,7 +564,8 @@ V3 字段说明:
- 业务 event 能派生到稳定路由时,复用现有订单 / 任务 / 任务卡创建链路。
- 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`
- type-known manual review 第一版在同一业务任务卡解阻New Booking 房型字段主路径已迁移为 `room_items[0]`,例如 `/extracted_fields/room_items/0/pms_room_type_code`。旧扁平字段仍可作为过渡提交 key但响应会归一化为 P0 主 `field_path`
- V3 `message_events[].relevant_message_excerpt` 入站后会归一化到任务卡 AI payload 根路径供旧字段矩阵读取证据字段SuperAgent 仍只需要按 V3 event 契约提供该字段
- type-known manual review 第一版在同一业务任务卡解阻New Booking 房型字段主路径已迁移为 `room_items[0]`,例如 `/extracted_fields/room_items/0/pms_room_type_code`。旧扁平字段仍可作为过渡提交 key解阻接口也支持提交 P0 主 `field_path` 或旧扁平 `field_path`,响应会归一化为 P0 主 `field_path`
`source_message.source_message_id` 缺失时返回 `HTTP 400`,响应体不使用通用错误包装: