Files
LWLT-AIBOT/archive/project-history/2026-08-16/lifecycle-release-gate.pre-governance.md
T

194 lines
26 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.
# 生命周期发布门槛(治理前完整快照)
## 0.5.100 安排用车按结算单位模糊搜索与起止日期修复
- 安排用车解析契约改为团号、用车起止日期、结算单位搜索词和数量;不再要求用户填写车型/项目。
- 插件在原生结算单位候选的名称、车辆/项目和结算方式字段上执行同语义模糊匹配,唯一命中后沿用既有车辆项目、隐藏 ID 和后续原生联动;数量默认 1。
- 安排 Skill、操作契约、业务模板/示例、Agent/执行 Schema、平台门禁和插件版本同步升级到 0.5.100。安排导游、酒店、大交通及其他流程保持既有字段和边界。
- 本轮只读核验车辆页字段和候选数据,未创建或修改业务数据;0.5.100 插件 SHA-256:`b995984d1cef214bc2d3f23b5bc8f55a1da228d086c7c97896bc38b13375553f`;安排 Skill SHA-256:`f988edda86e64ddb2c8d46a480010a770a70b2b063196e64cab4d3dca2d049c7`。真实安排用车验证需重载 0.5.100 后执行。
release_decision: validated_core_candidate_ready_for_business_approval_broad_original_scope_blocked
## 当前结论
核心订单生命周期的窄契约已经达到可提交业务审批的候选状态,但尚未获得统一正式放行。2026-08-12 在用户授权的本地 Chrome 登录会话完成第四轮 sept-2026-lifecycle-plugin-e2e4-01:8 个 9 月日期、四条创建路线、12 个真实测试对象、两类 16 行名单、两组五类安排、散拼窄修改、测试应收、7 次状态转换、40/40 源响应、12/12 删除和最终聚合缺席回查。
第四轮同时是一次运行中稳定化:0.5.79 开始执行,真实回放暴露并关闭应收串改住宿说明、取消态子单父 tid 误选、保存后编辑窗残留;随后又发现辅助 about:blank 日历 frame 继承业务 URL,导致旧逻辑把唯一业务列表误判为两个 frame。0.5.81 已排除该辅助 frame,并在同一真实运行的取消、恢复、导出和删除尾段完成验证。最终探针 READONLY-REFS-sept-2026-lifecycle-plugin-e2e4-01-1786510672875 证明 present=0/12、running_tasks=[]。
这意味着此前“安排、修改、导出没有测试”和“散拼批量客户/15+1 真实行为不清楚”的核心缺口都已关闭。后续修改专项 `sept-2026-update-arrangement-live-03` 又真实证明独立团标间数 `8→9→8`,以及未确认酒店 row `88528` 的离店日 `09-12→09-13`、房间数 `8→9`;两项都有明确原生响应和 fresh 回查,且测试安排已清除、标间数已恢复。它不意味着运营原文所有宽字段、安排变更状态、文件交付和自动触发已经支持。
## 已满足的核心事实门槛
- 独立团单个/批量、散拼单个母团+具体子单、散拼批量四条路线均取得明确原生响应和逐日期/逐对象 fresh requery。
- 散拼批量在 E2E3 与 E2E4 两个全新运行中,每个日期均形成具体子单,客户与 15+1 均在原生列表持久化。
- 客户与产品先唯一解析;产品有可识别地域词时客户来源必须兼容。北京与广东两组来源组合均真实成功。
- 代表独立团和具体散拼子单各导入 16 行合成游客,输入、页面、保存后回查均为 16/16。
- 导游、车辆、酒店、大交通、其他/备案共 10 次创建和 10 次精确清理,统一为未确认测试态,备案保持。
- 独立团 twin_room_count、散拼母团 planned_capacity 与子单 lodging_note 均已持久化;0.5.123 已把独立团 `rooms.SGL`/`rooms.TWN` 映射到 `frenshu0`/`frenshu1`,并保留 `pax.adult`/`pax.child_bed`/`pax.leader` 到 `darenshu`/`xiaorenshu`/`quanrenshu` 的写前/写后回查门禁;新增房型与三类人数尚待新版本授权 ERP 实写复测,其他独立团字段继续失败关闭。
- 未确认酒店安排只开放精确 row 的 end_date/room_count update;原生联动清空备注后由插件恢复 frozen remark,子页/总表同时回查。
- 0.5.80 后最小应收 add/clear 与业务字段修改完全分离;第四轮 row 31568 新增/清零均通过且住宿说明不变。独立团两条自动零额应收也按 row 31566/31567 精确清理。
- 取消/恢复覆盖独立团、母团、子单与传播边界;列表恢复禁用,母团恢复后子单保持取消并单独恢复。
- 两个生命周期状态分别读取独立团与具体子单的十类源,共 40/40;所有 artifact 明确 downloaded=false、converted=false、scheduled=false、sent=false。
- 删除严格按具体子单 → 两次证明无子单的母团 → 独立团;12 个对象均有明确成功响应和 fresh absence requery。
- 0.5.81 的辅助 frame 修复已覆盖真实受影响路径;目标业务 frame 必须是顶层或拥有显式非空 frame source。
- 当前执行契约为 `ltjt-lifecycle-v2.8-updating-wide-parse-2026-08`,当前解析提示词为 `ltjt-agent-prompt-v1.4-updating-wide-parse`,插件最低版本为 0.5.123。
## 仍保持的产品边界
- 独立团当前插件开放标间数、SGL/TWN 房型数量正/非负整数 set、成人/占床儿童/领队人数非负 set 和内部自动零额应收精确清理;SGL/TWN 与三类人数尚未完成新版本授权 ERP 实写复测,其他业务字段不能宣称支持。
- 日期、客户、团号、产品、非三类人数、非标间房型、行程、航班、接送机、OP/销售等宽字段尚未逐项取得安全持久化证据。
- 五类安排开放“未确认空槽 create + 当前运行精确 clear”;另仅开放唯一未确认酒店测试行的目标离店日/房间总数 update。其他类型/字段及已确认、出票、落实、自损状态不在当前自动化范围。
- 用户侧名称为`导出团队文件`,内部 `confirmation_export` 当前只验证 ERP 文件源内容;下载、DOC→DOCX 等格式处理、提前触发和外部传输由后续平台模块负责。
- 批量创建只证明逐日期创建与引用;名单、安排、导出仍是代表对象全生命周期验证,不能声称每个批量对象都逐项完成。
- 主数据维护、真实财务、采购、付款、通知和外部沟通均超出 AI 测试账号授权。
## 0.5.84 专项候选制品与静态门槛
- TypeScript 类型检查与正式构建均通过;控制面测试 33/33、核心插件/解析/生命周期回归 129/129,合计 162/162。
- 三个受 17/18 影响的 Skill(updating、arrangement、lifecycle)均通过官方 quick_validate;所有当前 JSON、JS/MJS 语法和 `git diff --check` 通过。
- 0.5.84 扩展包含精确 18 个文件,与源码逐文件一致;通用别名包与版本包字节一致。
- 历史里程碑扩展包 [ltjt-order-assistant-0.5.84.zip](../../../archive/releases/2026-08-12/ltjt-order-assistant-0.5.84.zip) SHA-256:`cade01f0973454f43a904c71cec53329076b132486714e39e81b43eea538d3b9`。
- 更新后的 Skill 包与源码逐文件一致,SHA-256:`lwlt-updating 0867901b62bcf1a2f467e8b8f28f02d0d63dc9ed77379c70c9caec341452133a`、`lwlt-arrangement fd1a56736791dcdd77764d5279ce46ea7d07c5d862bd6423d985efa5c82efe6f`、`lwlt-lifecycle b25fde0bff43e682f8a28d666cbdda9b33147d4a79d306b027a0ee27e7ad5f62`。
- Chrome 运行时 PING 已确认平台与插件均为 0.5.84、测试账号匹配且 ERP 自动化开启;两个终态探针均 `matched=true`、`write_attempted=false`。
- 0.5.81 仍是第四轮完整生命周期稳定化基线,其不可变包 SHA-256 为 `79a9b49035f707d8ca297e7803ab89faf47b14d2bdabb02ce39c948f7ab0c535`;0.5.84 在其上增加 17/18 窄修改能力与专项真实证据。
## 0.5.85 当时的提示词与无变化写入硬化
- 0.5.85 不扩大 ERP 业务白名单;它沿用 0.5.84 的 17/18 真实回执,只硬化三层契约一致性和无变化写入门槛。
- 0.5.85 候选形成时,主提示词与运行时解析消息使用 `ltjt-agent-prompt-v1.0-u1718-live`;该版本事实保留用于解释当时的测试证据。
- 独立团修改和酒店变更会先比较 fresh 当前控件;已达目标的字段不赋值、不派发事件,全部无变化时在原生提交前阻断且 `write_attempted=false`。
- `lwlt-updating`、`lwlt-arrangement`、`lwlt-lifecycle` 已重构为精简工作流 + 独立 operation/execution reference,不再把具体任务号和 row ID 当成可复用操作规则。
- TypeScript 类型检查与正式构建通过;控制面测试 33/33、插件/解析/生命周期回归 133/133,合计 166/166。三个 Skill 均通过 `quick_validate.py`。
- 0.5.85 扩展包含精确 18 个文件,与源码逐文件一致;通用别名包与版本包字节一致。[历史扩展包](../../../archive/releases/2026-08-12/ltjt-order-assistant-0.5.85.zip) SHA-256:`569b858fca9ef1e41dac8564a79c4f860bae6d11947fc601994ce8d3ec9ba58b`。
- Skill 包与源目录逐文件一致,SHA-256:`lwlt-updating f3b8149fa00967bdf5627a3738f8395d8f60e8f2f1994c3b79a903ba9566097f`、`lwlt-arrangement f3d43cbd86553df35dc4f128461ab76be068827aa47c5c9ff9ebf096c61660ac`、`lwlt-lifecycle 1bc5e58b82de8827ed06d2d620b46ea2a27b404a9fc8b89a14d9c7738ee1d256`。
- Chrome 运行态已确认平台 `required=0.5.85`、插件 `version=0.5.85`、测试 AI 账号匹配、ERP 自动化开启且无登录/权限错误。旧 17/18 对象只读终检返回 0 候选,用户确认已全部手工删除;因此本轮不将对象级终态写为通过,两次探针均 `write_attempted=false`。
## 解析层 v1.1 职责纠正与 v1.2 精简
- 当前 Agent 提示词为 `ltjt-agent-prompt-v1.4-updating-wide-parse`;主提示词不再重复 18 路由、action 和字段规则,五个 Skill 负责业务路由、用户可见字段、归一化和解析结果,并额外明确安排其他/备案的项目与数量均可省略、修改类保留多个业务目标,且不包含插件、页面、请求、回查、测试上下文或执行门槛。
- 新增独立的 `agent_operation.schema.json`;自然语言结果先按解析态校验,完整 canonical 执行 JSON 继续按 `standard_system_operation.schema.json` 校验。
- 解析态通过只表示业务事实完整,不等于执行态引用已解析或插件可以立即写入。0.5.86 已由插件在 ERP 内执行只读唯一解析,严格执行门槛保持在解析完成之后。
- 五个 Skill 仍保持 parse-only,既不接收平台任务/会话元数据,也不承担 ERP 候选解析或执行判断。
## 0.5.86 分段门禁候选
- 运行链已拆分为:平台任务/会话信封 → Agent 解析态 operation → 插件轻量前门禁 → ERP 只读唯一解析 → execution operation → 严格写前门禁 → 原生操作 → fresh requery。
- 前门禁只检查 action、最小业务必填、格式、自洽性、窄能力白名单和禁止伪造的内部字段;客户、产品、订单、安排资源、当前状态和内部 ID 均由 ERP resolution 产生。
- 普通生产窄能力不再要求 `TEST-202609`、测试账号、9 月日期和测试允许清单;显式历史测试上下文仍保持原门槛,删除仍为 test-only。
- 平台 task/session/execution、确认、重要摘要、事件、用户通讯和解析版本不进入 Agent operation 或 ERP 业务字段;解析版本保留在 `parse_response` 信封。
- 当前 execution operation 的 `source` 只允许显式历史测试 `test_context`;instruction、operator、received-at 和 batch 序号不再是当前 operation 字段。
- TypeScript 检查与正式构建通过;控制面测试 34/34、插件/解析/生命周期回归 144/144,合计 178/178。
- 0.5.86 扩展包含精确 18 个文件,与源码逐文件一致;[历史版本包](../../../archive/releases/2026-08-13/ltjt-order-assistant-0.5.86.zip) SHA-256:`54c7855ce1b531e7e6d1a6b2623648cbb7939fee2f0e7b635f84960dbcfd306d`。
- 本轮没有进入 ERP 或创建测试数据;以上为工程与契约门槛,不新增真实业务回执。0.5.81/0.5.84 的历史业务事实继续有效,但不能冒充 0.5.86 的单制品全生命周期实证。
## 0.5.87 缺日期编号检索修复候选
- 仅当原生列表检索同时缺少起止日期、且已有明确团号/订单号时,插件按浏览器执行日补前后各一个日历年的日期窗;用户提供的日期保持原值,没有编号的空日期查询也不会被放宽。
- 列表筛选改为静默赋值,避免 ERP 的 `blur → AjaxLoadData` 绑定提前发起部分条件请求;插件先等待既有 AJAX 空闲,再只调用一次原生 `AjaxLoadData(true)`。
- 插件通过与当前字段完全一致的 `ajaxSend/ajaxComplete` 对证明本次检索真实发起并完成,HTTP 非 2xx、未发起或超时均写前阻断,不再把旧列表行作为新查询证据。
- TypeScript 检查与正式构建通过;控制面测试 35/35、插件/解析/生命周期回归 145/145,合计 180/180;专项检索测试覆盖既有日期不覆盖、无编号不扩窗及闰日钳制。
- 0.5.87 扩展包含精确 18 个文件,与源码逐文件一致;[历史版本包](../../../archive/releases/2026-08-13/ltjt-order-assistant-0.5.87.zip) SHA-256:`086b5af492b74851ed99674d91b8eb40af1ac3c78cfb39de757459ad120f2cee`。
- 本候选未执行 ERP 写入。故障母团已在修复前通过按日期只读查询确认存在;0.5.87 仍需在 Chrome 重载后复跑原无日期散拼子单,才能形成该制品的真实执行回执。
## 0.5.88 散拼子单客户语义解析修复候选
- 0.5.87 重载后的真实任务已证明执行日 ±1 年日期窗生效,并唯一定位 `LW-260907A-B`(tid `14427`);任务随后在子单客户匹配写前阻断,没有创建子单。
- Chrome 只读核验确认子单表单有 99 条客户主数据。“广东衡阳客户”不是正式名称,但全部来源地词“广东”“衡阳”在当前客户名称中只命中 `LW衡阳国旅云南分社(广东市场)`(ID `661`)。
- 0.5.88 保持精确和唯一包含优先,只有两者失败时才使用全部来源地词回退,并仍要求恰好一个候选;0 条或多条均失败关闭。
- 子单母团产品从已选 `tdid` 原生表格行读取,再对最终客户执行来源兼容校验;阻断列表只收集实际失败项,不再附带通过/不适用检查的 reason。
- TypeScript 检查与正式构建通过;控制面测试 35/35、插件/解析/生命周期回归 165/165,合计 200/200;新增正向唯一候选和多候选失败关闭测试。
- 0.5.88 扩展包含精确 18 个文件,与源码逐文件一致;[历史版本包](../../../archive/releases/2026-08-13/ltjt-order-assistant-0.5.88.zip) SHA-256:`32dca6b01452c605df989235eaf28d7ff34c4b34148726b4fb7d809d407f2c85`。
- 本候选只读打开并关闭 ERP 子单表单,没有保存或提交;仍需在 Chrome 重载后复跑该子单,取得明确服务端响应和 fresh requery。
## 0.5.89 名单按序号安全补录候选
- 故障任务的 Agent 解析、订单唯一定位和原生页面打开均成功;失败发生在插件把用户本次提交的 2 行误作订单总人数,随后与 ERP 的 16 个游客位比较。该任务 `write_attempted=false`,没有写入 ERP。
- 0.5.89 改为从精确订单编辑页读取真实游客位数量;用户可提供一个或多个明确序号。空白目标行允许补录,相同内容视为幂等,已有不同内容必须明确填写覆盖确认,越界或重复序号写前阻断。
- 为兼容原生 `DaoRuDones` 固定从第 1 行覆盖的行为,插件先构造完整合并载荷,调用原生解析后恢复所有未指定游客行及其隐藏字段,再保存父页面;目标行电话和订单接送机电话继续分别保护。
- 即时写后回查比较完整的合并后游客投影;后续不确定状态协调只比较用户明确提供的序号,同时继续核对订单身份和页面总行数。
- 独立团与散拼子单的全量 16/16 真实证据继续有效;0.5.89 当时的部分补录、覆盖保护、未指定行保持、越界和重复序号仅有工程回归,真实任务随后暴露二次归属复核缺日期问题并由 0.5.90 接替。
- TypeScript 检查与正式构建通过;控制面测试 35/35、插件/解析/生命周期回归 166/166,合计 201/201;五个 Skill 均通过 `quick_validate.py`。
- 0.5.89 扩展包含精确 18 个文件,与源码逐文件一致;[历史版本包](../../../archive/releases/2026-08-13/ltjt-order-assistant-0.5.89.zip) SHA-256:`130ad84b802e72e9a1e3cee193c1073f7d0558528aebf4d39089f1c50348ce09`。
## 0.5.90 名单归属复核日期窗候选
- 0.5.89 重载后的真实任务已正确读取 16 个游客位并规划序号 1/2,但在写前归属复核因空日期查询误报订单不存在;任务 `write_attempted=false`,没有 ERP 写入。
- 首次解析缓存证明编号在 ±1 年日期窗内唯一命中;Chrome 只读对照进一步证明空日期响应不含订单,而日期窗响应同时包含订单号、tid 和 ddid。
- 0.5.90 让写前归属复核复用同一缺日期编号日期策略;未找到具体行时不再派生 marker、账号、状态、tid 或 ddid mismatch。
- TypeScript 检查与正式构建通过;控制面测试 35/35、插件/解析/生命周期回归 166/166,合计 201/201。
- 0.5.90 扩展包含精确 18 个文件,与源码逐文件一致;[历史版本包](../../../archive/releases/2026-08-13/ltjt-order-assistant-0.5.90.zip) SHA-256:`9ce60be57e884aa59bfdda2720b6f8dc21fe784f5f3900e4f00745b8c8cb8608`。
- Agent Prompt、五个 Skill、解析 Schema 和 v2.7 业务 operation 均未改变;0.5.90 已在 Chrome 重载,真实部分名单保存仍待重新提交任务验证。
## 0.5.91 全业务自动确认与名单持久化回查候选
- 全自动开关已改为所有 AgentBus 业务的统一模式;自动判定不读取 action,不存在生命周期人工例外。缺资料、解析阻断与插件校验失败仍失败关闭。
- 真实 2 行部分名单保存中,ERP 明确返回成功并只持久化 2 条非空行;旧版因强制要求 16 个空白游客位仍存在而误报待回查。
- 0.5.91 回查全部预期非空投影,仍阻止任一未指定已有游客丢失或额外非空行,仅容忍 ERP 原生空白 slot 压缩。
- 在不重新保存 ERP 的情况下,同一 operation 只读 fresh requery 已证明 2/2 投影和身份引用匹配,原任务收敛为 completed,`no_additional_erp_write=true`。
- 控制面 36/36、核心回归 166/166,合计 202/202;0.5.91 版本包与通用别名 SHA-256 为 `b711af85297ea10eafdc02f131d03fc18df84f10c4a4808cdcf9742a25a2a561`。Agent Prompt、Skill、解析 Schema 与业务 operation 字段未改。
## 0.5.93 业务字段唯一定位候选
- 保持现有 action、解析态与执行态分层以及插件执行链不变;没有增加定位 action、状态机或新的顶层定位对象。
- 散拼新增子单、两类名单、三类窄修改、取消、恢复和团队文件导出可使用“预订客户 + 出发日期”进入原生列表检索;产品名称和领队是可选补充校验事实。名单导入不得把它们作为 ERP 列表硬筛选,已有完整团号/订单号的旧路径继续兼容。
- 散拼新增子单的预订客户属于新子单数据,不作为母团客户条件;母团只按出发日期及可选产品、领队、已知团号定位。安排和变更安排仍要求完整编号,未放宽。
- 执行适配只接受原生列表检索后的唯一候选;零候选、多候选或页面缺少任一主筛选控件均在写入前停止。名单导入的可选产品/领队若在候选可见文本中有匹配,可参与候选排序;不可见时不凭空制造零候选。解析得到内部引用后仍进入原有严格校验和既有回查链。
- 指令模板、四个受影响 Skill、解析 Schema、平台校验、插件前门禁和 ERP 解析适配已同步;五个 Skill 均通过 `quick_validate.py`。
- TypeScript 检查通过;控制面 36/36、插件/解析/生命周期回归 173/173,合计 209/209;变更 JS 语法检查通过。
- 0.5.93 扩展包含精确 18 个文件并与源码逐文件一致;版本包与通用别名 SHA-256 均为 `f83e3cec691be23f21252965040b4bf10bbefd867e20f1bb9bd05ffeec018292`。
- 本轮未进入 ERP、未创建或修改业务数据;四字段真实列表行为与全流程结果仍需重载 0.5.93 后按发布制度验证,不能用工程回归冒充真实业务回执。
## 0.5.94 团队安排总表请求识别修复
- 保留 0.5.93 的业务字段唯一定位契约,不新增 action、状态机或顶层定位对象。
- 团队安排路由准备现在接受 ERP 实际发送的 `Act=PrintGridLists` 总表请求,并从 URL 或 body 读取原生筛选条件;此前请求已发出但插件误判为未启动,导致 `native_list_search_request_not_started`。
- 扩展 manifest、运行时版本、平台最低版本和测试断言统一为 0.5.94;旧 0.5.93 包继续作为上一版可追溯制品保留。
- 0.5.94 未进入 ERP、未创建或修改业务数据;真实安排导游验证仍需重载新包后按发布制度执行。
## 0.5.95 安排导游异步候选加载修复
- 0.5.94 已证明团队总表请求识别正确;本轮日志的阻断发生在精确导游页打开后,资源 SelectBox 数据和当前导管值尚未异步完成。
- 0.5.95 在唯一候选解析前等待导游资源候选数据与当前导管值,仍保持零/多候选和字段缺失失败关闭。
- 0.5.95 版本包与通用别名 SHA-256 均为 `84b6e3061806272161b670181c8eb8eb6c0c2d0511615994940c90729cc20b50`。
- 0.5.95 未进入 ERP、未创建或修改业务数据;真实安排导游验证仍需重载新包后执行。
## 0.5.96 安排导游导管上下文派生修复
- 0.5.95 已证明资源候选加载完成;本轮日志显示导游页的 `daoguan` 当前值为空,而正常用户输入不提供导管。
- 0.5.96 在表单当前值为空时,从同源 ERP 登录上下文与 `ProDanwei_Yuangong` 候选中唯一派生导管;供给值与当前值冲突、或登录上下文无法唯一命中时继续失败关闭。
- 0.5.96 版本包与通用别名 SHA-256 均为 `147fe3100c9c639d87f553e6628f6bce4fef22ae691efddaa9b7fc52dfd95b1a`。
- 0.5.96 未进入 ERP、未创建或修改业务数据;真实安排导游验证仍需重载新包后执行。
## 0.5.97 安排导游原生当前操作人派生修复
- 0.5.96 已证明候选数据加载完成,但登录页面文本不一定能在安排弹窗的同源文档中提供当前员工身份;最新日志仍因此停在 `arrangement_guide_current_coordinator_missing`,没有 ERP 写入。
- 0.5.97 优先读取导游安排原生表单的当前操作人控件 `czr`,仅当它与 `ProDanwei_Yuangong` 中的员工账号唯一匹配时带入 `daoguan`;再使用同源身份证据或单一员工候选作为受限后备,多候选、冲突和无法匹配继续失败关闭。
- 0.5.97 版本包与通用别名 SHA-256 均为 `b6306d3e0480ee6ea5b630f1a80df2842ba735130ad2eddb2e466d44e8a204ce`。
- 0.5.97 未进入 ERP、未创建或修改业务数据;真实安排导游验证仍需重载新包后执行。
## 0.5.98 安排导游按导游候选原生导管映射修复
- 登录 ERP 只读核验确认安排导游原生表单没有可作为导管来源的 `czr` 当前操作人字段;`daoguan` 是独立必填控件,导游 `daoyou0` 候选元组由原生 `setval="daoyouid0:1,daoyou0:2,dianhua0:3,dengji0:4,daoguan:5"` 将第 5 项关联到导管。
- 0.5.98 使用唯一导游候选行的第 5 项作为 `daoguan`,并要求页面导管选项与该值精确一致;缺少导游关联值、非唯一或页面当前值冲突时继续在写入前阻断。`existing_refs.owner_account`、登录身份和计调 OP 只用于目标归属证据,不再推导导管。
- 安排 Skill、操作契约、业务模板与示例、扩展运行时和平台最低版本已同步;桌面 docx 示例已更新并完成渲染检查。
- TypeScript、正式构建、控制面 `36/36`、插件/解析/生命周期 `176/176`、变更 JS 语法和 Skill 校验通过;0.5.98 扩展 SHA-256:`d97bf00d84d4cbc725d208efe4cfe798d64ee71118c6e1f72c29e6cc8c1bd0ef`。
- 本轮未进入 ERP 写入、未创建或修改业务数据;真实安排导游验证仍需重载 0.5.98 后执行。
## 0.5.99 安排导游写后团队总表回查日期兜底修复
- 任务 `TASK-20260814031230-xAkqMqw` 的只读证据显示 ERP `DoInfo_daoyou` 返回 HTTP 200 且响应为“操作成功”;安排导游子页面的导游、ID、电话、等级、导管、备注和勾选状态全部回查匹配。
- 误报根因是输入只有团号 `LLW-260903A-A` 时,团队总表 `PrintGridLists` 写后回查把 `S_chufariqi/S_chufarizhi` 留空,导致 ERP 返回无目标行;初始定位已使用的团号日期范围兜底没有被复用。
- 0.5.99 让团队总表回查复用 `resolveNativeListSearchValues` 的日期策略,保留已提供日期,团号无日期时使用执行日 ±1 年范围,并记录 `date_strategy`、`date_range` 和 `date_fallback_applied`。
- 本轮只修回查,不重新提交该任务或其他 ERP 写入;真实验证仍需重载 0.5.99 后执行。TypeScript、正式构建、控制面 `36/36`、插件/解析/生命周期 `176/176`、安排回归 `36/36` 和业务模板回归通过。
- 0.5.99 扩展 SHA-256:`478090b79ed06bf2a0c809559575728b89e5b231fd2f45d8d216274461af7965`;安排 Skill SHA-256:`f6c3cccca029f6fd6dff08841dfe50e64f7705946ff163f9278aecba12c855b4`。
## 正式放行前的决策门槛
1. 业务负责人明确选择“按已验证核心窄能力分批放行”,并接受上述人工处理边界;否则统一发布继续阻断。
2. 独立团除标间数外的修改必须正式排除自动化,或等待逐字段取得明确响应与 before/after 回查。
3. 运营宽字段、酒店其他字段、其他安排类型/状态和文件交付模块只能逐项建立新的安全边界与回滚方案后再实测,不能一次性放开宽表。
4. 如果发布制度要求“同一不可变制品从创建到删除”的证据,应在 0.5.91 或后续不变候选上再跑一次最终验收;当前证据由完整生命周期稳定化运行与后续窄修改专项共同构成。
5. 未通过项继续失败关闭,不得为了追求全绿扩大到主数据、财务、采购、通知、下载、转换、定时或发送范围。
完整生命周期历史证据见 [evidence-register-live-20260812-e2e4-01.md](../../../archive/evidence/2026-08-12/lifecycle-validation-campaign/evidence-register-live-20260812-e2e4-01.md);17/18 修改专项见 [evidence-register-live-20260812-u1718.md](../../../archive/evidence/2026-08-12/lifecycle-validation-campaign/evidence-register-live-20260812-u1718.md) 及 [allowlist.live-20260812-u1718.json](../../../archive/evidence/2026-08-12/lifecycle-validation-campaign/allowlist.live-20260812-u1718.json)。逐子项运营审计见 [original-demand-coverage-audit.md](original-demand-coverage-audit.md),剩余风险见 [risk-register.md](risk-register.md)。