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

18 KiB
Raw Blame History

LTJT 项目交接(归档快照)

last_updated: 2026-08-15

一分钟恢复上下文

新对话或新执行者按以下顺序恢复:

  1. 先读本文件,了解当前版本、边界、风险和下一步决策。
  2. 再读 生命周期发布门槛、运营需求能力矩阵 和 风险登记。
  3. 开发前读 开发维护规范 和 业务适配登记表,再进入对应业务页、Skill、Schema、mapping 和插件源码。
  4. 先运行 git status --short。当前工作树包含尚未统一提交的有效项目改动,禁止使用 git reset --hard、git clean 或批量回退。
  5. 除非用户重新授权真实测试,不进入 ERP、不创建测试订单,也不复用历史任务号、团号、子单号或安排行号。

当前结论

2026-08-16 当前插件发布为 0.5.123:无编号生命周期业务统一按业务主条件检索,产品和领队仅做候选补充校验。独立团的主条件为预订客户 + 出发日期;无客户的散拼母团计划修改按出发日期检索;散拼子单先定位母团,再在嵌套子单候选中校验客户、产品和领队。独立团客户检索增加中文分词模糊匹配;客户原生硬筛无结果时自动回退到日期主检索,再做客户、产品、领队候选校验。独立团列表继续兼容行级 OPEN_update(...) 与嵌套表格包装,避免 ERP 有结果而插件解析为 0。安排类和完整编号精确路径不变。独立团修改保留用户明确的多个目标字段,当前插件新增 SGL/TWN 房型到 frenshu0/frenshu1 的 set-only 映射,并要求保存后 fresh 回查;成人/占床儿童/领队人数映射继续保留,其余未验证宽字段仍转人工复核。本轮没有写入 ERP。

本轮用户任务的客户+日期定位与 Agent 解析均已通过;旧插件仅因 rooms.SGL/rooms.TWN 未列入白名单而在生命周期预检安全阻断,no_erp_write=true。0.5.123 已完成房型字段映射、非负校验和新表单回查门禁;需重载后用授权测试对象进行新任务实测。

17:26 与 18:32 两次解析日志均阻断于 operation_contract_validation,未进入插件或 ERP。项目内 Agent Schema 已允许多目标;直接请求重载后的 8765 也已用同一原始指令通过。18:32 的全新会话仍显示旧白名单,最终定位为 8786 控制面自 14:44 起未重启:控制面在启动时直接导入并缓存 external-agent-client.mjs,所以只重载独立适配器 8765 不会更新界面任务的解析 Worker。18:35 已重启 8786,新进程加载当前源码,数据库、AI 和 AgentBus 均就绪。以后修改解析器、Prompt 契约或 Agent Schema 后必须同时重启控制面。

18:40/19:04 新任务均已通过最新解析契约,正确保留 pax.adult=8、pax.child_bed=1、pax.leader=1。18:40 的阻断是选填产品被送入 ERP 原生订单列表硬筛选,0.5.119 已修复;19:04 已确认产品不再硬筛选,但 ERP 行解析仍得到 0 候选,0.5.120 增加行级动作和嵌套表格兼容。两个任务均 no_erp_write=true。

当前项目交付物统一由 /Users/inmanx/Documents/lwltAPI/dist/ 管理:插件 0.5.123、五个 Skill 0.5.118 和 DOCX 0.5.118。桌面不再保留当前活动副本;之前的桌面副本已可恢复地移入 /Users/inmanx/Desktop/LTJT-历史版本归档/。Chrome 当前仍需通过扩展管理页重载 0.5.123;重载后再以平台 PING 验证,ERP 会话在线且本轮未执行真实保存。

当前五个 Skill 与 DOCX 仍使用统一的 0.5.118 交付物;0.5.123 只修改插件房型执行映射和平台白名单,不需要重新打包 Skill 或 DOCX。当前制品哈希见下方清单。

2026-08-15 解析契约修复:日志确认外部 Agent 首轮和同会话修复轮次都把 operation.data.customer 返回为字符串,宿主已正确阻断,未进入插件或 ERP。平台每次解析/修复消息现显式要求 customer、product、leader、resource、supplier 等命名引用必须为 {name, keyword} 对象,主提示词副本同步,回归通过;本轮未修改插件执行逻辑和版本。

上一轮更新(插件 0.5.108 / Skill 0.5.111):散拼母团计划收客数在无团号时只要求出发日期,预订客户、产品和领队可选;母团计划领队检索映射 ERP S_youkexinxi(接团/接送地点/标志),独立团订单列表仍映射 S_lingdui。名单导入适配器当前只写游客名单并保护接送电话,leader 在该流程中仍是可选定位字段,未被误写到联系人/电话。该版本及其制品仅作历史记录。

以下紧接的 0.5.107 及更早条目仅作历史记录;当前版本、交付物和哈希以本段及“当前交付物”新增条目为准。

当前插件源码和制品为 0.5.123:酒店、大交通、其他/备案均在各自统一选择框的组合显示文本上匹配,忽略分隔符并支持不连续关键词;同一酒店或结算单位多条候选按下拉顺序默认选择第一条,再调用原生 SetValToObj 由 ERP 带入只读房型、车票/控位说明、项目及其他联动字段。其他/备案只要求团号、业务日期、结算单位搜索,数量可选,省略时保留 ERP 默认值;大交通仍要求数量,酒店新增状态固定为“未安排”。无编号生命周期业务不再把产品/领队作为 ERP 原生硬筛选,而是在主条件检索后的候选行上补充校验;客户字段支持中文分词匹配,客户硬筛无结果时回退到日期主检索;独立团候选还兼容行级更新动作和嵌套表格包装。独立团修改保留多字段目标,0.5.123 新增 SGL/TWN 房型到 frenshu0/frenshu1 的 set-only 映射,成人/占床儿童/领队人数映射和 fresh 回查继续保留,其他未验证字段进入人工复核。0.5.121 插件包已移入 archive/releases/2026-08-15/,Skill 与 DOCX 继续使用 0.5.118;ERP 未写入真实业务数据。

  • 当前 Chrome 会话插件:0.5.121(数据库心跳已核实);0.5.123 制品已就绪但尚未完成扩展管理页重载,平台自动化仍保持安全不写入。
  • 当前主提示词:ltjt-agent-prompt-v1.4-updating-wide-parse;安排其他/备案缺少项目或数量时不再向用户追问,独立团修改可保留多个识别出的目标字段。
  • 当前生命周期契约:ltjt-lifecycle-v2.8-updating-wide-parse-2026-08。
  • 发布判断:已验证核心窄能力可提交业务审批;运营宽能力继续失败关闭,尚未统一正式放行。
  • 0.5.86 已完成“轻量前门禁 → ERP 只读唯一解析 → 严格写前门禁”的工程接驳;0.5.87 为首次对象定位补执行日 ±1 年日期窗;0.5.88 完成客户来源关键词唯一解析与母团产品来源读取;0.5.89 加入名单真实游客位与按序号安全合并;0.5.90 补齐写前归属复核日期窗;0.5.91 统一全业务自动确认,并将名单写前 slot capacity 与写后非空持久行分离;0.5.92 修复扩展重载后遗漏 8786 平台页导致的全自动交接等待,并为 ERP 编号零/多候选提供直接错误提示;0.5.93 在不增加 action 或状态机的前提下,为九条受影响流程接入“预订客户 + 出发日期 + 可选产品/领队”的原生唯一检索,安排类仍保持编号必填。
  • 用户删除旧测试订单后,2026-08-13 又产生三条独立团回执 LW-260903A-A、LW-260905A-A、LW-260930A-B 和三条散拼母团 LW-260907A-B、LW-260915A-A、LW-260926A-A;散拼子单失败任务在写前阻断、没有创建子单。当前清理状态不能假定为空。
  • 最近一次工程门槛:控制面 37/37、插件/解析/生命周期 189/189,本轮生命周期定向 40/40;TypeScript、变更 JS 语法、git diff --check、业务模板回归和版本化 .zip/.skill 完整性检查通过。无编号散拼子单客户/日期主定位、客户中文分词匹配与日期回退、产品/领队补充校验、散拼子单母团筛选、散拼子单领队严格门禁、安排类组合候选、首条选择、原生联动和可选数量解析态均有回归覆盖。
  • 最近完整生命周期事实来自第四轮真实运行,并在 0.5.81 收敛;原需求 17/18 的窄修改事实来自 0.5.84。全量 16/16 名单仍有真实证据;原 2 行部分名单已真实保存,0.5.91 对同一 operation 只读回查得到 2/2 投影一致并将任务收敛为 completed,没有追加 ERP 写入。

系统链路

平台任务/会话信封 → Agent Prompt + Skill → agent_operation(解析态)→ 插件前门禁 → ERP 只读唯一解析 → execution operation → 严格写前门禁 → ERP 原生操作 → fresh requery

职责边界:Agent/Skill 只负责意图、用户业务事实、归一化和解析态 operation;不查询业务对象、不生成内部引用、不接触插件门槛。平台任务 ID、会话、执行 ID、收件时间、批次进度、确认、重要摘要、事件和用户通讯只留在平台/插件任务信封。当前执行契约的 operation.source 仅允许显式历史测试使用的 test_context。插件在已登录 ERP 会话内把业务可见编号与关键词唯一解析为执行态引用,再做严格校验和确定性执行。解析通过不等于业务执行成功。

当前重要边界:散拼新增子单、名单、三类窄修改、取消/恢复和导出可按预订客户与出发日期检索,产品名称和领队只用于收窄;完整团号/订单号仍可直接使用。散拼新增子单的客户属于新子单,不能当作母团客户筛选。安排和变更安排仍要求编号。插件只接收 ERP 原生检索后的唯一对象,零候选、多候选或已提供筛选控件缺失均在写入前停止。历史显式 TEST-202609 上下文仍走原测试限制,删除仍只允许测试清理。

当前已验证能力

能力 当前开放边界
四条创建路线 独立团单个/批量、散拼单个母团与具体子单、散拼批量;逐日期保留响应和回查
名单导入 独立团和具体散拼子单;全量 16/16 已真实验证。0.5.91 支持按明确序号补录,空行可填、同值幂等、已有不同内容需确认覆盖、未指定非空行保持不变;真实部分补录 2/2 已通过只读 fresh requery
五类安排 导游、车辆、大交通、其他/备案为未确认测试态;酒店新增为未安排,资源/房型由唯一 ERP 模糊匹配带入;全类支持当前运行精确 clear
独立团修改 保留全部识别出的目标字段;仅当前已验证字段自动执行,其余进入人工复核
散拼母团修改 仅 planned_capacity
散拼子单修改 仅最终长度不超过 50 的 lodging_note
酒店安排修改 仅唯一、未安排或未确认测试行的 end_date 和/或 room_count
取消与恢复 独立团、母团、子单;恢复只走编辑页,母团恢复后子单需单独核验
导出团队文件 confirmation_export 只读取并校验 ERP 文件源;不代表下载、转换、定时或传输
删除 仅测试运行内部收尾,必须满足标记、账号归属、允许清单、证据冻结和 fresh absence requery

继续阻断的范围

  • 独立团日期、客户、团号、产品、人数、非标间房型、备注、行程、OP/销售、航班、接送机等宽字段。
  • 非酒店安排的 update;酒店的入住日、酒店、房型、备注以及已确认、已落实、出票等状态变更。
  • 文件下载、DOC→DOCX、自动触发、平台传输、外部发送或通知。
  • 客户、导游、酒店、供应商等主数据维护。
  • 真实收款、结算、采购、付款、审核及其他财务动作。
  • 把代表对象验证外推为每个批量对象都完成了名单、安排和导出。

ERP 安全事实

  • 产品和客户必须分别唯一解析;产品含地域词时,客户来源必须兼容。来源不一致可能表现为超时或 HTTP 500。
  • 写入状态不确定时先只读回查,禁止自动重试。
  • 修改类只接收用户目标值;系统自行读取当前值并生成 before/after,不向用户索取旧值或内部 ID。
  • 目标值已经等于当前值时,不派发字段事件,并在原生提交前以 write_attempted=false 阻断。
  • 母团不能代替具体子单执行名单导入或团队文件导出。
  • ERP HTTP 200、文件源响应或页面提示都不能单独代替写后回查。

权威入口

当前实现事实按以下顺序解释:

  1. 开发维护规范
  2. 业务适配登记表 与对应业务一页式入口
  3. 业务行为登记表
  4. 主提示词 与五个 Skill
  5. Agent 解析态 Schema、解析结果 Schema、执行态 Schema 与 ERP mappings
  6. tools/、chrome-extension/、control-plane/、LianSyn-platform/ 的当前源码
  7. 生命周期发布门槛 与不可变证据

archive/ 只供追溯,dist/ 只放交付物,reports/ 只接收临时运行输出;三者都不能反向定义业务规则。

当前交付物

  • 当前交付物不再从桌面读取;桌面历史归档仅用于追溯和恢复
  • dist/ltjt-order-assistant-0.5.123.zip、dist/ltjt-order-assistant.zip
  • dist/lwlt-arrangement-0.5.118.skill、dist/lwlt-confirmation-0.5.118.skill、dist/lwlt-lifecycle-0.5.118.skill、dist/lwlt-newbooking-0.5.118.skill、dist/lwlt-updating-0.5.118.skill
  • dist/老挝联泰AI指令表-0.5.118.docx(项目内唯一当前 DOCX 交付物)
  • 旧版本包:archive/releases/2026-08-15/插件/、archive/releases/2026-08-15/Skill/

历史 0.5.107 插件 ZIP 的 SHA-256:

4e205a118be999e0f0f92d31d97985f152957e26be3454c46bdf9c9e7a89532a

当前 0.5.123 插件、0.5.118 五个 Skill 与 DOCX 制品 SHA-256:

  • ltjt-order-assistant-0.5.123.zip: e7cf3097cb78ad237f56ff22161fcda2a32d55c8df6e628a1e4818b527cac637
  • lwlt-arrangement-0.5.118.skill: aa180c527cb6ac51763f710ef79f475ca0a0f79f71eebdb74cc018b8ec9a8c92
  • lwlt-confirmation-0.5.118.skill: a0bda2922dda6316aa6e8a21335b2539021b9e7e756645c6be8ba9d7eda8d515
  • lwlt-lifecycle-0.5.118.skill: 0c472cf59e25060c93f1f9bad7dd209454f251c7cd7556b04351a8bb01463d98
  • lwlt-newbooking-0.5.118.skill: cfa4c6c081d5843b98db949214c18ae492a13c1a47ca19258fc5d75e611a9f95
  • lwlt-updating-0.5.118.skill: 77ddd502b253efd84f47922569e9626b1954fb7b054a9f030848ddc85fa71dab
  • 老挝联泰AI指令表-0.5.118.docx: cf7d90ec4049d83a053272f23100b13bafef599722f2beb1e64502e2a404fbb0

验证与启动

npm test
npm run build
npm run dev
  • 正式操作台:http://127.0.0.1:8786/
  • 独立解析适配器:npm run start:platform-adapter,默认 http://127.0.0.1:8765/
  • Codex 环境若没有全局 Node,应先加载工作区依赖,把返回的 Node bin 加入测试子进程路径,再分别执行 pnpm run check、pnpm run test:control-plane、pnpm run test:legacy 和 pnpm run build。仅调用 pnpm test 仍可能因脚本内部找不到 npm 而在测试启动前失败。
  • 真实 ERP 测试必须另行获得本轮授权,并建立新的运行 ID、9 月日期、合成数据和精确清理允许清单。

归档位置

下一步决策

当前没有自动续跑的业务任务。项目内五个 Skill 与 DOCX 维持 0.5.118 统一交付基线,主提示词和解析 Schema 使用各自当前契约版本;插件及平台最低版本已升至 0.5.123。无编号生命周期业务只把客户/日期等业务主条件送入 ERP 原生列表,产品/领队改为候选补充校验;客户支持中文分词匹配,硬筛无结果时回退到日期主检索;独立团候选兼容 ERP 行级更新动作和嵌套表格包装,独立团修改保留多字段目标,当前插件新增 SGL/TWN 房型与三类人数映射,未验证字段转人工复核。控制面和 AgentBus 已就绪,Chrome 待重载 0.5.123,ERP 会话在线但本轮没有真实业务写入。0.5.121 插件已移至 archive/releases/2026-08-15/;外部 Agent Profile 仍由独立部署管理,本轮未修改云端。重载后先以新任务验证 SGL/TWN 与成人/占床儿童/领队字段的真实保存与回查,业务执行侧再由负责人选择:

  1. 按已验证窄能力分批放行;或
  2. 在下一条新的 AgentBus 业务中观察 confirmation_mode=automatic与无人工停顿,不重放已完成的 2 行名单;或
  3. 继续逐字段研究尚未开放的宽修改;或
  4. 单独开发团队文件下载、处理与传输平台模块。

未经明确选择,不扩大能力白名单,也不创建新的真实测试数据。