Files
LWLT-AIBOT/archive/evidence/2026-08-12/lifecycle-validation-campaign/original-demand-coverage-audit.md
T

248 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 运营原始需求 10—21 逐子项覆盖审计(历史证据)
审计日期:2026-08-13
原始需求:`/Users/inmanx/Desktop/运营梳理.rtfd`
事实基线:四个完整 ERP 生命周期运行,以及修改专项 `sept-2026-update-arrangement-live-03`
当前候选:插件 `0.5.91`、解析提示词 `ltjt-agent-prompt-v1.2-lean-router`、执行契约 `ltjt-lifecycle-v2.7-passenger-sequence-merge-2026-08`
## 判定口径
| 代码 | 含义 |
|---|---|
| `V2` | 至少两个全新运行中取得明确原生响应和 fresh requery;只证明表中写明的窄范围。 |
| `V1` | 至少一个真实对象取得明确原生响应和 fresh requery,或只有代表性对象覆盖。 |
| `S2` | 至少两轮完成 source-only 响应读取和哈希冻结;不等于下载、转换、发送或自动触发。 |
| `P` | 只覆盖了需求的一部分,剩余部分没有正向证据。 |
| `B` | 已用插件及/或 ERP 原生页面复现不持久化、无效或其他确定阻断。 |
| `N` | 当前没有足够真实证据,必须继续失败关闭。 |
| `D` | 已确认延后,不属于当前 source-only/no-external 发布范围。 |
| `X` | 超出 AI 测试账号授权或会触发被明确禁止的财务、采购、通知、外发/主数据副作用。 |
所有 `V1/V2/S2` 历史证据都要求对象属于 AI 测试账号、出团日期在 2026 年 9 月、带 `TEST-202609`,且写入后有唯一对象回查;这是证据运行边界,不是普通生产窄能力的输入要求。运营原文给出的客户、产品、酒店、车辆、导游名称是业务示例,不作为运行时硬编码;实际执行必须在业务页面候选中唯一匹配。
## 10 独立团单个下单
| 原文项 | 归一化能力 | 当前事实 | 判定与契约 |
|---|---|---|---|
| 10.1 单个下单 | `team_order_create` | 多个新运行均创建独立团并回查 tid/ddid/团号 | `V2`;已验证创建 action |
| 10.2 出发日期 | `data.departure_dates[0]` | 真实使用不同 9 月日期并逐单回查 | `V2`;每次严格一个日期 |
| 10.3 产品名称 | `data.product` + ERP 唯一候选 | 多个新运行使用不同来源组合,均先唯一匹配产品 | `V2`;不把示例产品写死 |
| 10.4 点击更新行程 | ERP `Find_product/GetProduct` 联动 | 插件要求可见“更新行程”、成功 `GetProduct` 响应及产品模板字段变化 | `V2`(仅创建时产品联动);不代表任意手工行程修改 |
| 10.5 订单人数 15+1 | `passenger_counts` | 成人 15、领队 1、总数 16 回查一致 | `V2` |
| 10.6 用房数量 8 | `room_counts.TWN=8` | 创建后列表/详情回查一致 | `V2` |
| 10.7 提交保存 | `DoInfoJH` + fresh requery | 明确成功响应、唯一团号/tid/ddid | `V2`;无响应或无回查不成功 |
| 10.8 名单导入 | `passenger_list_import` | 代表独立团 16/16 保存并逐字段投影回查 | `V2`(代表性单团);不是自动读取真实文件 |
| 10.9 团队安排 | 五个 `arrangement_*` | 代表独立团完成五类未确认 `create|clear` | `V2`(窄范围);普通 update/其他状态未开放 |
| 10.9 应收机票款 | `receivable_fixture` | 只验证 0.01 合成应收及 ERP 自动零额行清理 | `P`;不代表真实机票应收、收款或结算 |
| 10.9 两版客户确认单/团队申请书 | `confirmation_export` | 对代表独立团读取十类源,含两版确认和 JOB/source | `S2`;只读源响应 |
| 10.9 DOC→DOCX | 文档转换 | 当前不下载、不转换 | `D` |
| 10.9 导名单后提前两天自动导出 | 调度/触发器 | 当前 action 只在明确调用时读取源 | `D`;没有调度器或对外发送 |
## 11 独立团批量下单
| 原文项 | 归一化能力 | 当前事实 | 判定与契约 |
|---|---|---|---|
| 11.1 批量下单 | `team_order_batch_create` | 多个新运行均由一次原生批量提交创建 3 个日期 | `V2` |
| 11.2 日期范围 | `recurrence.start_date/end_date` | 范围和 3 个指定日期均进入原生表单 | `V2` |
| 11.3 预订客户 | `data.customer` | 客户唯一匹配并逐结果继承 | `V2` |
| 11.4 产品搜索 | `data.product` | 产品唯一匹配和模板联动通过 | `V2` |
| 11.5 预估人数 15+1 | `passenger_counts` | 3/3 结果回查人数一致 | `V2` |
| 11.6 用房数量 8 | `room_counts.TWN=8` | 3/3 结果回查一致 | `V2` |
| 发团周期 | `departure_dates` + `specified_dates` | 每个日期分别保留响应和引用 | `V2`;禁止只记录汇总成功 |
| 11.7 提交保存 | 原生批量 action + 逐日期回查 | 3/3 明确完成 | `V2` |
| 11.8 每个批量订单名单 | 每个 ddid 的 `passenger_list_import` | 只对代表独立团导入,不是对该批次 3/3 逐单导入 | `N`(批量规模);通用名单 action 本身为 `V2` |
| 11.9 每个批量订单安排/导出/应收 | 每个结果分别进入后续生命周期 | 只对代表独立团执行完整后续生命周期 | `N`(批量规模);不得用代表性覆盖冒充 3/3 |
| 11.9 DOCX/提前触发 | 转换与调度 | 未实现 | `D` |
## 12 散拼单个计划与具体子单
| 原文项 | 归一化能力 | 当前事实 | 判定与契约 |
|---|---|---|---|
| 12.1 单个新增计划 | `shared_plan_create` | 单日期母团成功并回查 tid/母团号 | `V2` |
| 12.2 单日期范围 | 一个 `departure_dates` 日期 | 多个新运行均为一个 9 月日期 | `V2` |
| 12.3—12.4 产品搜索/确认 | 唯一产品候选与联动 | 原生产品候选、计划表回查通过 | `V2` |
| 12.5 用房数量 8 | `room_counts.TWN=8` | 母团回查一致 | `V2` |
| 12.6 拼单信息设置 | 独立 `shared_child_order_create` | 母团与具体客户子单分两个 action 创建 | `V2`;不能把母团当子单 |
| 12.7 预订客户 | 子单 `data.customer` | 客户唯一匹配,来源条件兼容 | `V2` |
| 12.8 人数 15+1 | 子单 `passenger_counts` | 具体子单 16 人回查 | `V2` |
| 12.9 提交保存 | `DoInfoSPs` + `DoInfo_order` | 母团和子单各有明确响应/回查 | `V2` |
| 12.10 名单导入 | 子单 `passenger_list_import` | 16/16,母团 tid + 子单 ddid + `D<ddid>-客户` 定位 | `V2` |
| 12.11 团队安排 | 母团五类安排 | 代表母团五类未确认 `create|clear` | `V2`(窄范围) |
| 12.11 确认件与应收 | 子单 source-only + 合成应收 | 十类源两状态读取;0.01 应收 add/clear | `S2/P`;不代表真实机票款或交付 |
| 12.11 DOCX/提前触发 | 转换与调度 | 未实现 | `D` |
## 13 散拼批量计划
| 原文项 | 归一化能力 | 当前事实 | 判定与契约 |
|---|---|---|---|
| 13.1 批量新增计划 | 多日期 `shared_plan_create` | 多个新运行均创建 3 个母团并逐日期回查 | `V2` |
| 13.2 日期范围 | `recurrence` | 3 个 9 月指定日期位于声明范围 | `V2` |
| 13.3—13.4 产品搜索/确认 | 唯一产品及原生联动 | 3/3 母团继承产品并回查 | `V2` |
| 13.5 用房数量 8 | `room_counts.TWN=8` | 3/3 母团回查 | `V2` |
| 13.6 拼单信息设置 | 批量母团的 `split_order` | E2E3 与 E2E4 均在 3 个日期各形成 1 个具体子单 | `V2`;仍要求专用测试上下文和逐日期事实回查 |
| 13.7 批量预订客户 | 每个日期客户引用 | 两个新运行均 3/3 在原生子单列表持久化同一唯一客户 | `V2`;不得只信提交载荷 |
| 13.8 批量人数 15+1 | 每个日期子单人数 | 两个新运行均 3/3 回查成人 15、领队 1、总数 16 | `V2` |
| 13.9 发团周期 | 3 个显式日期 | 3/3 母团逐日期成功 | `V2` |
| 13.10 提交保存 | 原生多日期创建 + 逐结果回查 | 3/3 | `V2` |
| 13.11 每日期名单 | 每个具体子单名单 | 只有一个代表子单名单 | `N`(批量规模) |
| 13.12 每日期安排/导出/应收 | 每个母团/子单后续生命周期 | 只有一个代表母团/子单 | `N`(批量规模) |
| 13.12 DOCX/提前触发 | 转换与调度 | 未实现 | `D` |
## 14—15 名单导入
| 原文项 | 归一化能力 | 当前事实 | 判定与契约 |
|---|---|---|---|
| 14.1 进入独立团 | 团号 + tid + ddid 唯一路由 | 插件从列表自主进入编辑页和原生导入 frame | `V2` |
| 14.2 名单格式 | 13 个固定 TSV 表头 | 16 行合成名单;证件类型仅允许护照且不单独持久 | `V2` |
| 14.3—14.4 导入/确认 | `DaoRuDones()` | 全量导入已实测;按序号部分补录、未指定行恢复与覆盖保护已完成工程回归,待真实复跑 | `V2`(全量)/ `E`(部分补录) |
| 14.5 提交保存 | `DoInfoJH` + fresh detail | 16/16 投影 hash 匹配 | `V2` |
| 15.1 进入散拼具体子单 | 母团 tid + 子单 ddid/编号 | 唯一 `OPEN_update(parentTid, childDdid)` 和子单链接定位 | `V2` |
| 15.2—15.4 格式/导入/确认 | 同一 TSV 契约,散拼证件号映射 `haoma` | 全量 16 行原生导入已保存;部分补录工程回归通过,待真实复跑 | `V2`(全量)/ `E`(部分补录) |
| 15.5 提交保存 | `DoInfo_order` + fresh detail | 16/16 投影 hash 匹配 | `V2` |
## 取消、恢复与应收前置
| 原文步骤 | 归一化能力 | 当前事实 | 判定与契约 |
|---|---|---|---|
| 进入目标并打开修改 | `existing_refs` 唯一路由 | 独立团、母团、子单均已覆盖 | `V2` |
| 清除应收价格条目 | `receivable_fixture.clear` / `clear_generated_zero` | 只验证当前运行 0.01 行和两条自动零额行 | `P`;已收/已结或任意历史金额不得自动清理 |
| 应收清零后保存 | 原生详情页保存 + 活动行 0 回查 | 测试 fixture 明确通过 | `V2`(仅 fixture) |
| 状态预订/已确认/已取消 | `order_cancel` / `order_restore` | 取消与编辑页恢复覆盖三种对象;列表恢复无效 | `V2/P`;不开放任意状态宽修改 |
| 母团对子单影响 | 取消传播、恢复不传播 | fresh 子单详情逐一证明 | `V2`;恢复后需逐子单恢复 |
## 独立团修改内容
原文把订单可见宽表几乎全部列为“可直接修改”。ERP 实际并不能据此推断所有字段都能安全保存;当前正式契约必须逐字段白名单,而不是发送整张表。
| 原文业务字段 | 当前证据 | 判定与处理 |
|---|---|---|
| 出发日期 | 未做单字段 before/response/requery | `N` |
| 预订客户 | 未做安全单字段切换;还受产品来源兼容约束 | `N` |
| 团号设置 | 只验证创建 suffix,不验证既有订单改号 | `N` |
| 业务名称 | 未验证 | `N` |
| 产品名称/更新行程 | 只验证创建时产品联动,不验证既有订单换产品 | `N` |
| 订单人数 | 只验证创建,不验证既有订单修改 | `N` |
| 用房数量 | 专项运行在 `14420/14482` 上取得 `frenshu1` 标间数 `8→9→8` 两次明确成功与 fresh GET;其他房型未验证 | `V2/P`;只开放正整数 `twin_room_count` |
| 下单备注 | 插件与页面原生 `SubmitInfoForm` 均 HTTP 200 空响应且不持久 | `B`;0.5.77 四层阻断 |
| 行程天数 | 创建时由产品模板派生,既有订单修改未验证 | `N` |
| 计调 OP/销售人 | 创建时使用 ERP 登录默认/联动,既有订单修改未验证 | `N` |
| 团队状态 | 取消/恢复专用 action 已验证 | `V2`(仅专用转换);禁止普通 update 替代 |
| 备案需求 | 五类安排中的备案四字段已验证,订单宽表字段未验证 | `P` |
| 购物说明/自费说明/领队分账 | 未验证 | `N` |
| 订房说明 | 独立团普通字段没有正向白名单;散拼子单 `lodging_note` 已验证 | `B/P`;不能把子单证据外推到独立团 |
| 接待备注/领队佣金/分账政策/现收代收 | 未验证 | `N` |
| 团费说明/机票政策 | 未验证 | `N` |
| 团队文件上传/文件 1/文件 2 | 未上传任何文件 | `D`;真实文件还涉及敏感数据传输 |
| 应收团款删除 | 只验证测试行精确清理 | `P`;真实已收/已结行属于 `X` |
| 结算单位/控位说明/占位数/结算项目/币种/数量/单价/金额/备注 | 只对固定 `其他费用 × 1 × CNY 0.01` 做 add/clear | `P`;不开放任意真实财务行 |
| 航班信息第 1/2 程及增加/减少 | 未逐字段验证 | `N` |
| 入境/出境关口 | 只在 `arrangement_other.filing` 中验证备案口岸,不是航班行字段 | `P` |
| 接送机地点/标志/联系人/电话 | 未验证;名单 adapter 只证明不会污染这些字段 | `N` |
## 16 团队安排源文件
| 原文项 | 当前事实 | 判定与契约 |
|---|---|---|
| 16.1 选择团号 | 独立团或具体子单精确定位;母团不能冒充子单 | `V2` |
| 16.2 联泰确认单 | source-only HTTP/类型/字节/hash | `S2` |
| 16.3 星游确认单 | source-only HTTP/类型/字节/hash | `S2` |
| 名单后提前两天自动导出 | 没有调度器 | `D` |
| 16.4 导游通知书 | `guide-confirm` source-only | `S2`;提前一天自动触发为 `D` |
| 16.5 接机牌 | `pickup-sign` source-only,需具体游客名 | `S2` |
| 16.6 游客信息 | `visitor-list` source-only | `S2` |
| 16.7 酒店预订单 | `hotel-preorder` source-only | `S2` |
| 16.8 备案确认书 | `filing-current/history` source-only | `S2` |
| DOC→DOCX/下载/定时/外发 | 当前根结果与每个 artifact 固定 `downloaded=false/converted=false/scheduled=false/sent=false` | `D` |
## 17 大交通
| 原文项 | 当前事实 | 判定与契约 |
|---|---|---|
| 17.1—17.4 团队列表进入大交通 | 插件按 `data_tr_<tid>` 和原生入口自主路由 | `V2` |
| 17.5 日期 | 代表独立团/母团均保存并回查 | `V2` |
| 17.6 结算单位 | 业务页候选 `ID+名称+item` 唯一匹配 | `V2` |
| 17.7 车票/控位说明 | `item` 保存并回查 | `V2` |
| 17.8 数量 | 16 张保存并回查 | `V2` |
| 17.9 未确认 | 固定未确认 create/clear | `V2` |
| 17.9 已确认/自损/取消/出票 | 未验证且可能改变真实业务状态 | `N/X`;当前 Schema 固定“未确认” |
| 17.10 备注 | 测试标记备注保存并回查 | `V2` |
| 17.11 已落实 | 未验证,当前 clear guard 要求未落实 | `X` |
| 17.12 提交保存 | `DoInfo_piao` 明确响应 + 子页/总表回查 | `V2` |
| 17.13 团体票申请书 | `transport-preorder` 已 source-only 读取 | `S2`;护照复制/模板加工/外发为 `D` |
## 18 酒店
| 原文项 | 当前事实 | 判定与契约 |
|---|---|---|
| 18.1—18.3 进入并安排酒店 | 精确团队路由、空槽 0 create | `V2` |
| 18.4—18.5 入住/离店日期 | 两个日期保存,且强制离店晚于入住 | `V2` |
| 18.6 酒店 | 业务页资源 ID+名称+房型唯一匹配 | `V2`(代表资源) |
| 18.7 间数 8 | 8 间保存并回查 | `V2` |
| 18.8 未确认 | 当前唯一允许状态 | `V2` |
| 18.8 回传后改已确认 | 未验证;可能代表供应商确认 | `N/X` |
| 18.9 备注/预订号 | 测试备注保存;真实预订号流程未验证 | `P` |
| 18.10 提交保存 | `DoInfo_jiudian` 响应 + 双回查 | `V2` |
| 中英文/泰文预订模板 | 没有生成或发送模板 | `D` |
| 增加用房/减少用房/更改住宿日期 | 专项运行在 row `88528` 上把离店日 `09-12→09-13`、房间数 `8→9`,明确响应后子页/总表均匹配;测试行随后清除 | `V2/P`;只接受目标房间总数和/或目标离店日,不开放 delta、入住日、房型、酒店或状态 |
## 19 车辆
| 原文项 | 当前事实 | 判定与契约 |
|---|---|---|
| 19.1—19.3 进入并安排用车 | 精确团队路由、空槽 0 create | `V2` |
| 19.4 开始日期 | `date` 保存并回查 | `V2` |
| 19.5 结束日期 | 当前 operation 没有独立 `end_date` 正向证据 | `N` |
| 19.6 结算单位/车型项目 | 业务页 `ID+名称+item` 唯一匹配并保存 | `V2`(代表资源) |
| 19.7 已确认 | 所有已验证运行均统一保存未确认 | `N/X`;当前不允许已确认 |
| 19.8 备注 | 测试备注保存并回查 | `V2` |
| 19.9 提交保存 | `DoInfo_cheliang` 响应 + 双回查 | `V2` |
| 预订车/更改车模板 | 没有生成、更新或发送 | `D` |
| 更换车队、车辆、日期 | 既有行 update 未开放 | `N` |
## 20 备案/其他
| 原文项 | 当前事实 | 判定与契约 |
|---|---|---|
| 20.1—20.3 进入备案/其他 | 精确团队路由、空槽 0 create | `V2` |
| 20.4 日期 | 保存并回查 | `V2` |
| 20.5 结算单位/项目 | 代表性零额候选唯一匹配并保存 | `V2`(机制);原文指定“备案磨丁进”资源未单独验证 |
| 20.6 数量 | 正整数保存并回查 | `V2` |
| 20.7 其他备注 | 测试备注保存并回查 | `V2` |
| 备案号/日期/进出境口岸 | 同载荷保存,清成本行后逐字段保持 | `V2` |
| 既有备案/成本普通修改 | 未开放;clear 只删本轮成本并保留备案 | `N` |
## 21 导游
| 原文项 | 当前事实 | 判定与契约 |
|---|---|---|
| 21.1—21.3 进入并安排导游 | 精确团队路由、空槽 0 create | `V2` |
| 21.4 导游姓名 | 业务页候选 ID+名称唯一,电话/等级由同候选联动 | `V2` |
| 21.5 其他备注 | 测试备注保存并回查 | `V2` |
| 21.6 提交保存 | `DoInfo_daoyou` 明确响应 + 双回查 | `V2` |
| 导游资料维护 | 当前账号无主数据权限,且不需要 | `X`;只引用现有候选 |
## 删除与收尾(计划要求)
| 能力 | 当前事实 | 判定与契约 |
|---|---|---|
| 具体子单删除 | `Del_order` 明确响应 + absence requery | `V2` |
| 无子单母团删除 | preflight 与写边界两次证明 child_count=0,再 `DelRecord` | `V2` |
| 独立团删除 | 精确 tid/ddid/团号/账号/标记/allowlist 后 `DelRecord` | `V2` |
| 聚合清理证明 | E2E2 为 9/9,E2E3 与 E2E4 为 12/12;均 `present=0`、`running_tasks=[]` | `V2`(聚合门槛) |
## 审计结论
1. 已稳定成立的是“订单核心生命周期窄契约”,不是原文所有宽字段、状态和交付自动化。
2. 当前可执行正向修改包括独立团 `twin_room_count`、散拼母团 `planned_capacity`、散拼子单 `lodging_note≤50`,以及两种精确测试应收清理;其他独立团字段继续失败关闭。
3. 五类安排允许“未确认空槽新增 + 当前运行精确清理”;另仅开放一个精确未确认酒店测试行的 `end_date`/`room_count` update。确认、出票、落实、其他安排变更和模板外发仍不能从现有证据推导。
4. `confirmation_export` 实际语义是“源响应读取和证据冻结”。DOCX、定时触发、下载、转换和发送是独立未来模块。
5. 原文 13.6—13.8 的机制事实已经由 E2E3、E2E4 连续确认:每日期形成具体子单,客户与 15+1 持久化。当前仍保留 `shared_batch_split_order_probe` 测试上下文,直到业务负责人批准正式能力边界。
6. 第四轮继续遵守无外部副作用边界:不测试已落实/出票/已确认、不上传真实文件、不触发采购付款通知或外发。上述能力只有在业务负责人另行确认副作用和回滚规则后才能进入真实验证。
## 后续验证焦点
- 业务负责人先确认是否按已验证核心窄能力分批放行;未验证模块保持阻断。
- 若发布制度要求同一不可变制品证据,在 0.5.91 或后续不变候选上再跑一次创建到删除的最终验收。
- 运营宽字段按单字段建立 before/response/requery;独立团已知无效的 `booking_note` 不再向 ERP 重发。
- 安排确认/出票/落实、酒店除离店日/目标房间数外的变更、车辆变更和文件交付必须先单独确认副作用、回滚和授权范围。