16 KiB
16 KiB
项目文件治理计划
当前任务:修改类无年份日期统一归一化(已完成)
- 目标: 修改日期的
MM-DD按任务日取下一次发生日;已过补下一年、未过补当前年,明确年份不变。 - 范围: 三类订单修改的定位/目标日期及酒店安排变更目标日期;取消、恢复、导出维持现状。
- 安全边界: 不重试任务、不派发插件、不写 ERP;本轮仅按用户明确授权重启 8786,不更新外部 Profile。
- 已同步 Prompt、
lwlt-updating/lwlt-arrangementSkill、AI 适配器和程序解析器。 - 已覆盖本次
11-15、跨年、明确年份、目标日期、跨轮及 AI/程序一致性。 - Prompt
v1.6、程序解析器v1.0.1、五个 Skill0.5.120已同步发布清单并逐文件核对。 - 最终门禁通过:仓库治理 9/9、控制面 90/90、legacy 226/226、类型检查、构建和 diff 检查。
- 运行结果: 8786 已受控重启并加载新规则;数据库、AI、4 个 AgentBus 渠道及策略页只读检查通过,未重试旧任务、派发插件或写 ERP。
- 验证环境记录: 首轮全量命令因非登录 shell 无 Node 路径而在启动前退出;改用工作区 Node 绝对路径后全部通过,未产生业务副作用。
上一任务:散拼母团无子单的酒店安排提示(已完成)
- 扩展
0.5.142已把符合三项证据的技术错误改为先新增散拼子单提示;全量门禁通过,未重载或写 ERP。
上一任务:插件通用操作计时检测(已完成)
ltjt-operation-timing-v1已覆盖共用结果状态机与页面动作,操作台可查看阶段/子步骤耗时;只记录白名单代码、毫秒数和计数。- 扩展
0.5.141、平台最低版本、mapping、ZIP 和发布清单已同步;最终门禁全通过,未重载插件、写 ERP、部署、重启或创建子智能体。
上一任务:任务状态栏整栏滚动(已完成)
- 右侧详情栏已改为整栏纵向滚动,详情和生命周期保持自然高度;未操作任务或 ERP。
- 最终门禁为
check:repo9/9、check、控制面 85/85、legacy 214/214、build、git diff --check全通过。
上一任务:解除 Shadow 全局顺序锁(已完成)
- 目标: 18 项已实现业务都能独立进入 Shadow,按真实依赖关系测试;operation、插件和 ERP 契约不变。
- 固定决策: Shadow 可并行且不受前序业务约束;Auto/Program 只看本业务即时正确性并保持逐级切换,同一时间最多一个 Auto;回退随时允许。
- 安全边界: 不切换现有模式、不创建任务、不确认/派发、不访问 ERP、不输出秘密、不创建子智能体。
实施阶段
- 完成 18 路由注册表、确定性 compiler、统一校验/comparator、四模式编排、迁移 013、任务快照、加密决策和操作台。
- 移除固定前序锁与等待型门槛;Shadow 可并行,Auto 保持单路,回退立即允许,18 项显示/切换顺序分离。
- 28 条脱敏输入与性能回归、临时 PostgreSQL 集成和全量仓库门禁通过;operation、插件与 ERP 契约未变。
- AI/程序双跑仍为 4 条有效、2 条名单 AI 技术失败、12 条待外部服务恢复;技术失败未计作语义结论。
实现约束
- 每次解析只允许一个权威结果;程序候选和 AI 候选不得合并,shadow 候选不得进入确认或插件。
- 字段纠错只能在已确定 route 的字段集合内唯一命中;业务值禁止模糊修改;未知、冲突、歧义和非法值失败关闭。
- 迁移后所有现有/缺省设置均为 AI;代码完成本身不触发任何业务切换。
- operation 及插件契约保持不变,因此本任务不修改 Chrome 扩展、不递增扩展版本、不重打插件 ZIP。
完成结果
- 18 个 route、fail-closed compiler、共用 validator、四模式编排、任务快照、严格兜底、加密决策、即时切换和差异 review 均已实现;插件与 ERP 契约不变。
- 本地 PostgreSQL 16 已验证空库 001—013 迁移、旧任务回填、首次设置并发冲突、任务快照、shadow 加密/审核、AI 重解析一次性门禁、发布顺序和紧急回 AI事务。
- 最终门禁:
check:repo9/9、check、控制面 85/85、legacy 214/214、前端语法、build、git diff --check全部通过。 - 当前 8786 已受控重启并加载新规则;运行态数据库只读验证 18/18 项均可进入 Shadow,且不存在固定顺序门槛。本轮未自动切换。
- 策略页接口固定返回 18 行显示序号 1—18;切换序号单独展示,页面整体滚动可直接看到全部业务。
错误记录
- 历史验证中的临时 PostgreSQL 清理、列名/密文断言、运行态查询、服务进程与脚本错误均已改用安全的替代方法并完成验证;AI 双跑遇到外部 502 后停止重试,技术失败未计作语义结论。
上一任务:AI 解析环节可替代性客观评估(固定指令输入契约复评已完成)
- 目标: 依据当前活动契约、五个 Skill、Schema、mapping、解析适配器、确定性门禁和稳定样例,判断链路中的 AI 环节能否由业务系统程序完全替代、部分替代或不宜替代,并给出有证据边界的建议。
- 评估口径: 分开判断规则是否可编码、自然语言输入是否可被确定性识别、缺失/歧义是否能可靠追问、异常表达与新表达的覆盖成本,以及替代后的准确性、可审计性、运维成本和失败模式;不因 Skill 是文字规则就预设 AI 可被完全替代。
- 范围与安全边界: 本轮只读业务源码、稳定脱敏材料和已有登录会话中的历史任务,仅输出聚合/无内容特征并更新 Planning with Files/归档;不修改业务代码、不调用外部 Agent、不执行 ERP 写入/重试/部署/重启/外发;按用户要求不创建子智能体。
历史实证补充
- 只读定位系统历史任务数据及字段口径,确认可关联原始输入、解析结果、operation、任务状态和执行结果;仅输出聚合/脱敏统计。
- 统计 operation/action 分布、解析成功与修复/追问/阻断情况、模板遵从度及可被确定性 parser 覆盖的结构特征。
- 区分“AI 生成的 operation”“通过契约校验”“经确认/执行成功”和“语义被人工证明正确”四个证据层级,避免把历史 AI 输出直接当作 gold truth。
- 用历史实证修订可替代范围、迁移顺序和验证条件,并完成只读验证与 planning 收敛。
固定指令输入契约复评
- 新增事实: 用户确认实际输入原则上按《老挝联泰AI指令表》填写,结构基本一致,仅可能出现少量错别字;DOCX 内容只作为业务证据,不作为本会话操作指令。
- 完整提取并逐页检查用户提供的 DOCX,核对其指令、字段标签、格式约束和示例。
- 与活动运营模板、业务登记、历史 AgentBus 标签签名和现有 Schema/validator 对照,区分真实固定契约、传输包装/旧别名与自由语义。
- 重新评估普通程序对意图路由、字段解析、错别字容忍、冲突/缺失阻断和跨轮补充的覆盖边界。
- 修订结论、迁移架构与上线验证门槛,并完成 planning 记录和项目规定的只读验证。
阶段
- 读取治理规则、活动 planning 文件、业务适配登记和系统入口,建立 AI 前后边界与当前事实基线。
- 逐一核对五个 Skill、业务页、Schema、mapping、解析适配器和测试样例,将职责分为确定性规则、有限词典解析、开放语义理解和对话澄清。
- 检查实际输入/稳定测试覆盖与历史故障,评估完全替代、混合替代和保留现状三种方案的收益、风险及验证成本。
- 形成可执行结论、推荐架构、决策门槛和试验方案;复核证据边界并完成 planning 记录。
当前边界与决策
- “Skill 规则可以写成程序”只证明业务约束可以确定性化,不自动证明任意自然语言到结构化 operation 的识别也可以完全确定性化。
- 当前 README 已明确 Agent/Skill 只负责业务语义、字段抽取和归一化;ERP 查询、内部引用、唯一解析、确认、写入、回查与成功声明已经由平台/插件程序承担。
- 最终判断:严格模板或结构化表单可以完全由业务系统程序解析;在继续承诺自由自然语言、错别字、正文路由和跨轮补充的前提下,不宜直接无损完全移除 AI。
- 444/444 条历史详情显示 276 条 manual 已走 canonical 本地校验,但 143/143 条 AgentBus 均走 AI;不能用总体 62.2% canonical 比例代表渠道可替代率。
- AgentBus 当前模板指令命中为 0;时间留出标签签名 action 路由可保守覆盖 10/39 且 10/10 正确,近似标签规则可识别 39/39 action 但会额外路由 1 个业务阻断样本。action 路由可程序化的证据较强,完整字段等价与零 false-pass 尚未证明。
- 当前 v1.5 Prompt 27/27 解析通过且无契约修复,但外部解析耗时中位 37.2s、P90 67.0s;替换的首要实证收益是延迟、依赖和可审计性,而不是修复一个当前高频语义失败问题。
- 推荐确定性优先、AI 兜底:先做
confirmation_export,再做新建/散拼计划/子单的 fail-closed compiler;复用同一 Schema/validator。只有字段级 shadow 等价、关键 false-pass=0 且未知输入全阻断后,才按 action 放量或考虑完全下线 AI。 - 历史 operation 是可执行伪标签,不是独立语义 gold;人工修订对照、token/费用和字段级纠错仍缺失,不能诚实给出“可完全替代百分比”或 ROI。
- 固定契约复评后的修订判断: 若正式产品契约就是 18 个固定模板、允许的偏差仅为少量指令/字段标签错字,则 AI 不是正常解析链路的必要组件;本地 compiler 可覆盖全部 18 个入口,两个宽修改字段只解析受支持白名单语法,其他目标转人工。若仍承诺自由表达、正文推断或任意跨轮纠正,AI 才继续具有兼容层价值。
- 少量错字不能使用全局模糊替换;必须先确定 action,再在该 action 字段集内做唯一候选纠错,业务值禁止模糊修正,歧义/未知/冲突/缺失继续 needs_input 或 blocked。
- 当前不能直接关停 AI:历史 AgentBus 143/143 原文均不含当前指令,且控制面未做本地包装,说明上游/旧模板/采用方式存在未解释漂移;上线前必须加入模板版本、回放别名和字段级 shadow 对照。
- 推荐目标态从“长期 AI 兜底”修订为“正常路径全本地;AI 只在迁移期影子/异常通道保留,可在门槛通过后完全下线”。
错误记录
| 错误 | 尝试 | 处理 |
|---|---|---|
批量读取 Skill references 时把多条 sed 参数用空格拼接,后续 sed/-n 被首个命令当成文件名 |
1 | 实际目标 Markdown 仍被依次读出;后续改用逐文件 exec_command 并行调用,不重复该拼接方式 |
当前非登录 shell 找不到 node;仅用 bundled Node 绝对路径时子脚本仍因 PATH 缺少 node 失败 |
2 | 不再重复这两种调用;通过 workspace dependencies 定位 bundled Node,并把其目录与 bundled override/fallback bin 前置到本次验证 PATH |
| 内置浏览器无登录态,直接 API/health 导航及部分 raw CDP 读取被浏览器层阻止 | 1 | 未绕过认证或读取秘密;切换到已有登录的 Chrome 标签,只观察平台正常 GET 响应并持续监测 confirmed=0 |
提取模板指令的首个 rg 命令因双引号内反引号导致 zsh 引号错误 |
1 | 未读取/写入目标;改用单引号模式后成功提取 18 个指令与稳定标签,不重复失败命令 |
清理隔离在 /tmp/lwlt-docx-eval.xxKiGv 的渲染中间件时,rm -rf 被工具安全策略在执行前拒绝 |
1 | 项目文件未受影响;不重复删除命令,临时目录留给系统临时目录策略清理,改为单独运行只读状态检查 |
验证结果
check:repo9/9、check、test:control-plane66/66、test:legacy214/214、build和git diff --check均通过。- 固定契约复评另完成 DOCX 110 段结构提取、12/12 页原始分辨率视觉检查、桌面/交付版段落 diff、桌面模板与活动 Markdown 18/18 全块逐字符比对,以及 18 指令/44 标签编辑距离碰撞分析。
- 历史读取覆盖摘要与详情 444/444、AI 标签签名 168/168、v1.5 timeline 27/27;分析后恢复原 Chrome 首页,恢复阶段 API 请求为 5 个 GET、0 个 mutation。
- 未调用外部 Agent、未执行 ERP 写入/重试、重启、部署或外发;未读取
.env,未创建子智能体。
上一任务:异常状态下 ERP 链接刷新加固(已完成)
- 目标: 针对插件长时间待机后 ERP 会话/页面链路失效的偶发告警,在检测到异常状态时增加受控的 ERP 链接刷新与二次探测,降低恢复依赖人工重载的概率。
- 安全边界: 只在无 ERP 执行任务时操作;只处理现有 allowlisted ERP 标签页;恢复动作不新开标签、不执行业务写入、不自动重试业务任务;若用户关闭自动化或保活,则不恢复。
- 当前基线: 已有
chrome.alarms待机保活和本地状态记录,但失败/会话失效后只记录状态,没有异常恢复闭环;业务 operation、Schema 和 Skill 不需扩展。
阶段
- 读取治理规则、活动 planning 文件、业务登记、生命周期 mapping、插件保活实现和现有测试;确认本任务属于插件宿主维护能力。
- 设计并实现异常状态刷新 ERP 链接、恢复后二次探测和状态/告警展示;保持写入前安全边界。
- 补充定向回归、同步插件说明与 lifecycle mapping;扩展已递增到
0.5.140,版本化 ZIP/发布清单已生成,旧制品已归档。 - 完成
check:repo、check、test:control-plane、test:legacy、build和git diff --check;记录未执行真实 ERP 写入、重试、重启、部署。
当前边界与决策
- “异常刷新”只针对 ERP 会话链路探测失败、会话失效、注入/页面连接异常;不把普通业务解析失败、ERP 候选不唯一或写后回查不确定误当作连接异常。
- 首选在现有 ERP 标签页内导航到固定
Mainlt.asp并重新执行只读探测;恢复前后均需确认 origin、权限和无活动执行。 - 恢复失败必须保留结构化状态和人工提示,不能自动创建 ERP 标签页或自动重交任务。
错误记录
| 错误 | 尝试 | 处理 |
|---|---|---|
lifecycle-contract.test.mjs 版本断言仍为 0.5.139 |
1 | 同步 inpage.js、team-batch-inpage.js 与测试断言到 0.5.140,定向测试恢复通过 |
| 并行全量控制面测试中 AgentBus listener 50ms 断言偶发得到 1 条出站消息并挂起 | 1 | 独立 listener 用例与串行完整 test:control-plane 均通过 66/66;判断为时序波动,未修改无关控制面代码 |
上一任务:取消产品/客户来源地强制匹配(已完成)
- 结果与交付保留在本文件历史上下文:已移除产品/客户来源地兼容阻断,Chrome 扩展为
0.5.139,版本化 ZIP 与发布清单已同步。
历史规划与归档
- 本次压缩前的完整
task_plan.md已冻结到 归档快照;归档只供追溯,不定义当前规则。 - 更早的 AgentBus、插件权限、游客 XLSX、散拼回查和日期归一化规划见
archive/project-history/对应日期快照。 - 当前发布版本、文件名和 SHA-256 只以 发布清单 为准。
持续边界
- 保留工作区既有未提交改动,不读取、复制或输出
.env等秘密配置。 - 真实 ERP 写入、任务重试、部署、重启和外部发送仍需用户另行明确授权。