# 当前邮件与历史边界

## 用途

区分当前邮件动作和历史证据。这个边界优先于所有业务类型判断。

本 reference 适用于 Main Agent 已经匹配至少一个支持业务事件并形成素材包的场景。输入可理解但没有匹配支持事件时由 Main Agent 输出 `S10`；输入不足、无法判断是否匹配支持事件时输出 `S99`，均不调用业务 skill。

## 当前邮件可以触发业务

当前素材包括：

- `body_current` 中的新请求，以及与具体预订对象相关的补充事实、安排、要求或备注。
- 当前附件、inline image、PDF、Excel、OCR、表格、文件链接。
- 当前邮件明确继续上文并要求处理，例如 `please proceed`、`see attached`、`please update as attached`。

只有这些素材可以触发新的业务事件。

## 历史只做证据

历史素材包括 quoted thread、forwarded old mail、`body_thread` 和历史查询结果。历史可以提供：

- 目标 key：`group_code`、confirmation number、reservation number、客人姓名 + 日期。
- amendment 的旧值。
- parent group / allocation 上下文。
- 当前 Trace / Guest Request 的最近目标。
- 解释当前证据所需的供应商或酒店上下文。

使用历史时，在 `context_used` 写明用途。

## 禁止事项

- 不得从 history-only 动作创建普通业务事件或 `unhandled_current_intents`。
- 不得为只有确认收到、感谢、裸 FYI 或其他没有具体预订业务信息的消息查询历史来制造业务事件。
- 不得用旧历史值覆盖当前值。
- 除非文件是当前邮件真实发送的附件或链接，不得把历史 voucher、名单或表格当作当前证据。

## 人工复核

以下情况输出 `Need Manual Review`：

- current/history 边界不清。
- 历史查询返回多个互不相关目标。
- 当前动作清楚但无法唯一绑定目标。
- 历史证据与当前目标冲突。
- 当前请求只针对部分 child group，但具体目标不清。

## Trace 例外

当前邮件包含可触发 Trace 的具体预订补充信息，但目标只在最近历史中清楚出现时，可以使用历史绑定目标。当前信息可以是要求，也可以是单纯告知。必须记录：

- `target_key_source`
- `body_thread_used_only_as_evidence=true`
- `requires_downstream_hard_validation=true`

历史本身仍不能触发 Trace。

同样地，历史只能帮助当前未覆盖意图绑定 `case_keys`，不能把历史中的审批询问、投诉、付款政策或其他内容变成当前展示 item。当前没有对应原文或附件证据时，`unhandled_current_intents` 必须为空。
