Files
LWLT-AIBOT/agent设计规范/test-fixtures/lwlt-lifecycle/release-gate.md
2026-09-16 11:50:50 +08:00

20 KiB
Raw Blame History

生命周期发布门槛

当前基线

  • Chrome 插件:0.5.186

  • 0.5.186 修复车票说明中车次与时刻的数字边界,明确供应商与说明联合唯一匹配及多候选提示;新增/变更本地合成回归通过,真实 ERP 验收待部署方完成。见任务记录

  • Agent Promptltjt-agent-prompt-v1.8-independent-headcount-categories

  • 生命周期契约:ltjt-lifecycle-v2.9-roster-leader-contact-2026-08

  • 五个 Skill0.5.127;运营 DOCX0.5.134

  • 发布状态:核心窄能力已有真实证据;一笔名单附件 Program-only 任务已把 25 行及唯一领队联系人正确保存到 ERP后续只读逐字段核验全等。两种写后逐行读取方式都曾在真实成功写入后产生假阴性名单在全部写前门禁通过后以父表单 ERP 明确成功响应作为终结证据,不再执行写后逐行回查或自动名单对账。0.5.155 规定确认覆盖的指定序号同值也写;0.5.156 把原生游客位不足统一映射为包含名单人数和 ERP 实际上限的业务提示,原技术 blocker 仅留技术详情。0.5.157 新增散拼母团“整团游客信息”的 shared_plan + visitor-list + tid-only 窄分支,静态契约与回归已通过,仍待授权后的新版运行态只读复测。0.5.158 把正式控制面 https://lwlt.nianxx.cn 同步加入 Popup、后台、Manifest 权限和 content script 精确白名单;其他 HTTPS origin 仍保持阻断。0.5.159 修复 MV3 后台恢复被中断后持久化 running 永久阻断插件派发的问题:仅在内存恢复 Promise 已不存在时收敛为 interrupted,真实活动恢复仍保持阻断,下一次成功只读保活把状态归零为 idle0.5.160 为独立团单个下单写前漂移增加仅字段名诊断,并把数字后缀动态应收字段纳入保护。0.5.161 等待客户、跟单人和销售人原生 lookup 数据就绪后才开始单团预检;生产反馈证明仅检查 lookup 数据仍不足。0.5.162 进一步要求页面 jQuery Ajax 在预检前归零,并在 GetProduct 后等待原生 ajaxStop 再应用最终业务字段。0.5.163 按生产操作方明确要求恢复 0.5.156 的实际校验范围:核心订单字段继续写前阻断,带编号的动态 ys_* 应收行不再纳入保护哈希,允许 ERP 原生回调在预检后调整这些字段。0.5.164 新增平台账号、AgentBus 渠道、唯一云电脑 worker 与 ERP 登录身份四方一致门禁;旧未绑定渠道和历史未归属 AgentBus 任务默认不执行。0.5.165 让散拼新增计划和独立团批量下单在本地候选未命中时先使用表单原生非空产品检索,实测两类表单均能由完整关键词唯一返回目标产品;本轮未勾选或保存,自动选择与写入仍由原门禁保护。新增独立团房型/人数映射仍待实写;未验证宽能力继续失败关闭。

  • 0.5.166 在散拼母团列表入口加入立即检查、100ms 条件轮询和 15 秒总超时;每次探测都重新取得当前主 iframe document按钮一旦可用便立即继续。该等待只发生在点击前不固定拖慢快速页面也不触发业务写入重试。

  • 0.5.167 保留插件侧的空闲证明和受控重载安全协议,并继续包含 0.5.166 的散拼入口自适应等待。中央服务私有 OSS/ECS 云助手编排及迁移 019 已按用户决定从主线撤回,因此这些插件更新消息在当前主线没有服务端触发方,属于休眠能力;插件仍按现有人工发布/加载流程使用。

  • 0.5.168 将 ERP 身份门禁从整页子串搜索收紧为唯一 #Lable_UserName 登录节点的规范化精确全等;缺失、重复、空白、子串或其他页面文字命中均不再让云电脑进入可执行状态,观察到的账号文本不离开扩展。

  • 0.5.170 保留全部执行门禁,并新增 Program-only 散拼批量子单的“完整只读枚举后逐单执行、首错停止、不自动重试”门禁ERP 写入不确定后的人工只读核验责任仍明确绑定到任务归属账号,管理员仍完全不进入任务数据面。

  • 0.5.172 按维护方要求将酒店新增 DoInfo_jiudian 的固定字段门槛从 195 调整为 150恢复原来的预检流程0.5.171 的结构判定方案已撤回并归档。其他模式/业务原门槛及后续执行检查保留,低于 150 的页面仍会阻断。尚未部署或进行真实 ERP 写入验收;验证范围见任务记录

  • 0.5.173 修复名单 TSV 末尾空列被整体 trim() 删除的问题,覆盖服务端统一 operation 校验、插件派发及原生名单合并。13 列完整性、序号、覆盖确认及领队约束继续执行;服务端与插件需同步更新,数据库无需变更。该版本的本地验证与真实 ERP 验收边界见任务记录

  • 运营输入/DOCX 0.5.127 补齐第 19 项散拼团多个新增子单的可复制模板与示例;该入口仍固定为 Program-only不进入 Agent Prompt 或 Skill。

  • 名单工作簿 normalizer v1.6.0 继续选择 12 个必需源字段;新增固定身份证推算性别/生日公式的同一行来源和缓存一致性校验,顶部说明区错误值不作为表头。身份证只用于该公式校验,不进入 canonical 输出;其余普通额外列仍忽略。必需字段错误、宏/外链、全局超链接和外部公式等安全门槛保持失败关闭。验证范围见验证记录,未执行真实 ERP 导入。

运行中的浏览器版本必须实时握手确认。当前制品文件名和 SHA-256 只看 ../../../dist/release-manifest.json,不从历史日志推断。

  • 0.5.174 与程序解析器 v1.0.8 支持“安排酒店变更”:按原入住及离店日期唯一定位已有酒店行,原生联动替换酒店和房型并更新间数。保持原记录 ID、日期、状态、备注和其他行付款/审核/已确认记录继续阻断。新能力已完成本地回归,真实 ERP 验收仍待部署方执行;服务端及插件需同步更新,无新增迁移。验证记录见当前任务

  • 0.5.175 与程序解析器 v1.0.9 增加四类 Program-only 安排变更。导游按团队唯一已有导游定位;车辆按原日期范围、大交通和其他/备案按原业务日期唯一定位。日期、记录 ID、状态、未填写字段和其他行保持原值供应商候选使用原生联动。其他/备案只修改明确提供的数量、备注、备案号和口岸,备案日期仅核对。服务端、插件、迁移 024_arrangement_update_routes 需同步更新,四项新权限由管理员明确授予。新增能力为本地验证通过、真实 ERP 待验收,不能当作已有实写证据。见当前任务

已证明的核心能力

能力 当前边界
创建 独立团单个/批量、散拼母团单个/批量及具体子单;批量逐日期保留响应和回查
名单 独立团和具体散拼子单;文字定位后等待单个 .xls/.xlsx,程序在前 100 行自动识别唯一 ERP 字段表头,只选择必需字段并读取其下连续名单,普通额外列忽略且不输出,随后规范化为 13 列 TSV 并固定 Program-only支持明确序号的动态扩行、安全合并、同值幂等和覆盖确认。解析阶段不以初始 16/31 行作统一上限;执行时若原生页实际物化游客位不足,则在保存前以人数/上限业务提示阻断。2026-08-28 已只读确认一笔具体散拼子单的 25 行及领队联系人真实持久化全等;另一次独立团 25 人只物化 16 位且未保存
安排 导游、车辆、酒店、大交通、其他/备案 create/clear酒店新增状态为未安排
独立团修改 twin_room_count 已真实持久化SGL/TWN 与成人/占床儿童/不占床儿童/领队人数已接入映射/回查但待新版本实写
散拼修改 母团 planned_capacity、具体子单最终长度 ≤50 的 lodging_note
酒店安排修改 唯一未安排/未确认酒店行的离店日期和/或房间数
状态 独立团/母团取消按唯一列表行读取状态后使用已验证列表路径,具体子单取消及三类恢复使用精确编辑页;母团恢复后子单单独核验
团队文件 独立团/具体子单“游客名单”按 did+tid,散拼母团“整团游客信息”按 tid-only,后者只允许单一游客类型且拒绝子单引用;读取并校验 ERP 文件源,游客源 XLS 归档并生成真实 XLSXAgentBus/微信只返回 XLSX其余类型转 PDF、失败回退源文件生产配置下保存到 OSS 并返回公共读取 URLXLSX 转换失败时阻断外部附件交付;不代表定时或发送。母团新分支仍待新版运行态只读复测
删除 仅授权测试清理,要求对象标记、账号归属、允许清单、子单缺席和最终 fresh absence requery

真实运行的逐项覆盖结论见 运营需求能力矩阵,仍影响发布的风险见 风险登记

当前对象定位规则

  • 有完整团号/子单号时走精确编号路径。
  • 无编号独立团以预订客户 + 出发日期为主定位;客户原生筛选无结果时允许日期回退,再做中文分词客户匹配。
  • 产品和领队为选填候选补充校验,不进入独立团列表硬筛。
  • 散拼子单先解析母团,再在具体子单候选中校验客户、产品和领队;新增子单客户不作为母团客户筛选。
  • 无具体子团的散拼母团没有预订客户;计划收客数修改只强制出发日期。
  • 安排和安排变更继续要求团号。

任何需要唯一候选的路线出现零候选或多候选都在写前停止。酒店、大交通、其他/备案的统一选择框是明确例外:零候选停止,多候选按 ERP 下拉顺序默认第一条并由原生选择联动带入只读字段。

仍需实写复测

0.5.156 延续以下独立团目标的 ERP 原生字段、非负整数校验、写前快照和 fresh 回查,并保留名单动态游客行;名单未确认覆盖时,任一目标序号已占用(包括同值)都先停止并要求确认;full_replace + confirmed=true 后,所有附件指定序号都进入覆写集合,并在 DaoRuDones 后按原生去空白规则重写 pinyinxm,不再以“当前值相同”取消用户写入要求。若 DaoRuDones 物化的游客位少于名单所需数量,保存前以 erp_passenger_count_limit_exceeded 阻断,用户只看到名单人数和 ERP 上限,技术 blocker 保留在详情。若名单有唯一严格领队备注行,还会在恢复四个接送字段快照后只将该行姓名/电话投影到jj_lianxiren/jj_dianhua,并要求游客行和领队联系人在父表单保存前全部精确匹配。名单保存后不再逐行读取;父表单 ERP 明确返回成功即完成。以下独立团房型/人数映射仍待实写。同时保留酒店安排变更回填日期的 ISO 规范化及空备注字段校验:

  • rooms.SGL → frenshu0
  • rooms.TWN → frenshu1
  • pax.adult → darenshu
  • pax.child_bed → xiaorenshu
  • pax.child_no_bed → ertrenshu
  • pax.leader → quanrenshu

这些新增映射在本版本制作期间没有真实 ERP 保存。取得授权前只能进行静态、dry-run 或只读检查,不能把映射存在视为真实持久化证据。

继续失败关闭

  • 独立团日期、客户、团号、产品、备注、行程、OP/销售、航班、接送机及其他未逐字段验证的宽修改。
  • 安排变更中修改定位日期、直接修改房型/车型/项目和确认/落实/出票等状态;新资源只能由 ERP 候选联动选择。旧“安排变更/目标变更”仅支持酒店离店日期和房间数。
  • 自动触发、外部发送或通知。
  • 客户、产品、导游、酒店、供应商等主数据维护。
  • 真实收款、结算、采购、付款、审核及其他财务动作。
  • 把代表对象验证外推为每个批量对象都完成了完整后续生命周期。

安全门槛

  • Agent/Skill 只输出解析态业务事实ERP 内部引用和当前值由插件只读解析。
  • 修改类只接收目标值;系统自行读取当前值并形成 before/after不向用户索取旧值或内部 ID。
  • 写入前必须通过 action/Schema、对象归属、页面身份、状态、字段白名单和页面联动校验。
  • ERP 唯一解析后的取消按对象 kind 固定选路;列表状态必须唯一,编辑页身份优先由表单稳定引用证明并以 URL 参数作回退,引用冲突继续失败关闭。
  • route preparation 只以一次性不透明 token 把已精确选中的 Document 交给后台 frame discoverytoken 不进入业务 operation、日志或 ERP 请求,正式 preflight 仍再次执行完整引用、状态与 ownership 门禁。
  • 除名单录入外,写入后必须同时有明确服务端响应和 fresh requeryHTTP 200、弹窗或文件源响应不能单独证明完成。名单录入必须先通过附件、对象身份、覆盖确认、游客与领队完整写前投影并且只以父表单 ERP 明确成功响应作为完成证据;不做写后逐行回查或自动名单对账。
  • 目标值已等于当前值时不派发字段事件,write_attempted=false
  • 其他业务写入不确定时先由任务归属账号只读回查同一 execution禁止自动重试仍无法确认时面向用户明确显示“请勿重复提交等待人工核验”。名单若没有取得 ERP 明确成功响应则不宣称成功,也不自动重提。

正式放行条件

  1. 业务负责人明确接受“按已验证窄能力分批放行”以及人工复核边界。
  2. 当前版本通过 TypeScript、控制面、插件/解析/生命周期、仓库卫生、Skill、ZIP/Skill 源码一致性和 DOCX 渲染门槛。
  3. 新增 SGL/TWN 与四类人数只有在授权对象上取得明确响应与 fresh before/after 后,才可升级为已真实验证。
  4. 任何未通过项继续失败关闭,不为追求全绿扩大业务范围。

不可变证据

  • 完整生命周期:2026-08-12 E2E4 证据登记

  • 修改专项:U1718 证据登记

  • 专项允许清单:allowlist.live-20260812-u1718.json

  • 原始需求逐项历史审计:original-demand-coverage-audit.md

  • 治理前完整候选版本流水:lifecycle-release-gate.pre-governance.md

  • 名单覆盖行写前阻断:2026-08-28 证据摘要

  • 名单写后回查假阴性:2026-08-28 证据摘要

  • 0.5.176 与程序解析器 v1.0.10 增加选填用车类型。新增和变更均按类型与结算单位共同筛选唯一候选,原日期仍只定位;筛选不匹配、多匹配或执行前候选变化均阻断。仅本地验证,真实 ERP 待验收;不新增迁移,数据库基线仍为 024。见当前任务

  • 0.5.177 与程序解析器 v1.0.11 增加选填车票说明,用于大交通新增和变更的唯一候选过滤。省略保持原行为;日期仅定位原安排。已完成本地验证后发布,真实 ERP 验收待部署方执行;不新增迁移。见当前任务

  • 运营指令表 0.5.132 将第16节统一为五种独立变更模板并单列旧酒店格式的日期修改及首行定位边界仅文档和输入版本元数据同步插件保持 0.5.177,不改变执行逻辑。见文档修订任务

  • 0.5.178 酒店新增以原生 MaxI、逐行必要控件、已连接完整页面、无加载及观察稳定 1 秒替代固定 150 字段下限;保留其余写入门禁。回归含 76 字段两行及不完整页面,真实 ERP 验收待部署方执行。见任务记录

  • 0.5.179 酒店新增选择首个完整空行,整条写入链路绑定同一行;阻断未保存草稿,保存前检查其他行不变;按保存前 ID 集合与业务摘要回查唯一新增记录,支持 ERP 排序和只读核验。真实 ERP 验收待部署方执行。见任务记录

  • 0.5.180 将空行新增、完整行结构预检、写前保护和按新记录 ID 回查扩展至用车、大交通、其他费用/备案;导游保持单人约束。其他费用保护共享备案和省略数量。已完成本地模拟回归,真实 ERP 验收待部署方执行。见任务记录

  • 0.5.181 与程序解析器 v1.0.12 保留安排变更原日期中省略的年份,按指定团号下 ERP 原记录的月日唯一定位后固定完整日期;显式年份严格匹配。酒店、用车、大交通和其他/备案一致;歧义显示候选并停止,不修改原日期。服务与插件需同步更新,无数据库迁移;真实 ERP 验收待部署方执行。见任务记录

  • 0.5.182 修复 0.5.181 日期匹配组件未注入 ERP MAIN world 的回归。上一版测试手动装载依赖未覆盖真实脚本装载清单现已改用生产注入列表的全新隔离页面测试并在依赖缺失时单独报错。原安排唯一性、原日期、ID 和付款/审核门禁保持。服务端已为 v1.0.12 时只需升级插件并刷新 ERP 页面,无迁移;真实 ERP 验收待部署方执行。修复任务

  • 0.5.183 修复安排联动检测在定时回调延迟时缺少末次采样的误报:延迟间隔不作为稳定证据,恢复后重新观察,持续变化/延迟及失效表单继续在保存前阻断;增加字段名与采样间隔诊断。用户本次失败的具体触发因素尚未有现场证据;本地回归与发布校验完成后记录于修复任务,真实 ERP 验收待部署方执行。

  • 0.5.184 对原生列表搜索按当前 iframe 文档等待完整加载、搜索函数和按钮就绪,并保留缺失条件与耗时诊断;平台将接单等待调整为 10 秒。仅派发超时且同任务、同执行编号、原连接返回明确只读检索未写入证据时,服务端接收迟到阻断结果。不会重新派发任务或放宽真实写入不确定状态。待回查派发任务读取插件已保存结果,历史超时任务可手动读取。需同步更新平台、服务端和插件,无数据库迁移;现场加载失败的具体缺失条件仍待新版诊断确认。见任务记录

  • 0.5.185 只读目标查询主框架移除恢复:有限稳定等待和一次重新注入查询,实际失败阶段及自动恢复快照;不重试保存。新增合成回归覆盖短暂导航、持续切换、执行边界、取消和阶段归属;真实 ERP 验收待部署方完成。见任务记录