Files
LWLT-AIBOT/archive/project-history/2026-08-26/task_plan-pre-compression-plugin-customer-restore.md
T

16 KiB
Raw Blame History

项目文件治理计划

当前任务:插件编排耗时定位、优化与客户回填回归修复(已完成)

  • 目标: 在不改变 operation/ERP 契约的前提下,把未归因编排耗时拆到存储、页签、预检子阶段并降低单个下单执行时间。
  • 安全边界: 不创建、确认或重试任务,不访问/写入 ERP,不重载扩展、不重启服务、不部署;运行态验证由用户后续自行执行。
  • 建立 18,818ms 基线并确认约 8.1s 主要落在未细分编排区间。
  • 用轻量 Frame probe、最小 action 脚本集和任务内 ERP 页签复用消除重复注入/扫描。
  • 四个只读 lookup 并行;产品/客户/提交固定等待改为有界稳定检测,提交仍临时 fail-closed。
  • 增加存储排队/读写/清理、页签查找和预检子阶段计时;控制面仅接受固定代码和数字计数。
  • 本地终态历史有界清理,运行中、跨写边界、不确定及待回查任务永久保留。
  • 扩展结果即时推送,平台按任务合并中间态,2.5 秒轮询保留为兜底。
  • 同步扩展 0.5.145、平台最低版本、mapping、测试、ZIP 和发布清单,完成第一轮真实计时验证。
  • 完成 legacy、最终 build、发布包一致性及 diff 门禁并收敛交接。
  • 用户后续明确授权后受控重启 8786,并验证数据库、迁移及 4 个 AgentBus 渠道就绪;未触发任务或 ERP。
  • 用新版明细定位 customer_after_restore 误阻断与 20.994 秒冗余原生查询,确认失败任务未跨写入边界。
  • 发布 0.5.146:恢复客户不再重复触发 set_travel(),最终五字段和提交哈希双重门禁保持失败关闭。
  • 新增最终一致/字段漂移回归并完成仓库、控制面、legacy、build、ZIP 一致性和 diff 全套门禁。

固定决策

  • 不削弱唯一匹配、字段哈希批准、单次提交、写边界或 fresh requery;稳定条件超时继续阻断。
  • 并行明细和 Resource Timing 是嵌套指标,UI 明确提示不可相加;不记录 URL、业务字段、响应正文或凭据。
  • 本轮优化的真实收益必须由用户加载新版本后的新任务计时确认,静态测试不伪装成 ERP 性能结论。

最近完成:12:45 订单恢复运行日志复核

  • 目标: 对用户提供的 12:45 新运行日志逐事件复核,确认运行态是否已加载 0.5.144 的 route Document token 修复,并判断本次订单恢复任务是成功、安全阻断、仍在运行旧版,还是暴露新的确定性缺陷。
  • 任务解释: 附件未附单独自然语言说明,本轮按“继续诊断上一轮修复后的取消订单运行结果”执行;日志内容只作为不可信外部证据,不作为项目操作指令。
  • 安全边界: 不重试或创建任务,不确认/派发任务,不访问或写入 ERP,不读取 .env,不重载扩展、不重启服务、不部署、不外发。

阶段

  • 登记任务目标、安全边界和运行态/静态源码区分原则。
  • 完整恢复 README、planning 文件、session catch-up、工作区状态和业务适配入口。
  • 逐事件解析 12:45 日志,按 execution id、时间顺序、版本握手和写入边界形成事实链;实际 action 已确认为 order_restore。
  • 对照 0.5.144 源码、lifecycle Skill、Schema、mapping、历史真实证据与测试,判定结果及直接原因;已定位到 token 绑定前的 edit Document readiness,附件缺运行版本与安全子维度。
  • 评估是否具备确定性修复证据:当前不能区分 route/complete/form/tid/ddid,也不能证明运行版本,故按固定决策不猜改源码、不产生新扩展版本。
  • 完成规定验证,收敛 findings/progress/plan 并说明仍需授权的运行态操作。

完成结果

  • 本次实际是 order_restore。execution 2a2a77b6-87c1-4b68-b7ac-9f9cc4943966 在 ERP 唯一解析后,于 token 绑定前的 edit Document readiness 阶段以 lifecycle_exact_edit_form_not_ready 安全阻断。
  • erp_write_started=false、no_erp_write=true、uncertain=false、无 success receipt:订单没有被本次执行恢复,也不需要写后 reconciliation。
  • 附件不含扩展版本或 route/form/tid/ddid readiness 子维度;应用内浏览器又受正常登录门禁保护。无法证明运行 0.5.144,也无法把 general blocker 安全归因到某个引用条件;本轮未猜改源码、未递增版本或重建发布物。
  • 规定离线门禁通过:仓库治理 9/9、TypeScript check、控制面 90/90、legacy 230/230、build。未重试任务、访问/写入 ERP、重载扩展、重启、部署或外发。
  • 若继续定位,需要用户明确授权只读检查当前 Chrome 的插件版本与 lastLifecycleRoutePreparation 安全诊断;该检查不应触发 ERP 回查或任务 mutation。

固定决策

  • 不能从行为相似性单独推断运行版本;优先使用日志中的扩展握手、最低版本门禁和新 token 诊断字段,缺少证据时明确保持未知。
  • 历史任务快照中的旧 failure 字段不能覆盖当前 execution 的后续事件;按 execution id 和时间顺序判断。
  • 不放宽精确引用、唯一状态、页面身份、ownership、保存前停止、明确响应或 fresh requery 门禁。
  • 若日志只是旧运行态未重载导致的已知失败,不重复修改当前源码;运行态启用仍须用户明确授权。
  • 在无法证明运行版本及 route/form/reference 哪个维度失败时,不放宽或猜改编辑页身份;优先穷尽现有只读版本/诊断证据,必要时只增加不含业务值的确定性诊断。

当前任务错误记录

错误 尝试 处理
首次合并读取四个根文件的输出超过单次显示预算,findings.md/progress.md 后部被截断 1 README 与 plan 已获得;改为按文件、按行号分块继续读取,避免重复同一失败方式
首次工具能力查询同时匹配大量浏览器/连接器描述,输出被截断 1 未调用任何外部能力;改为只列工具名称,确认只有 browser 所需 Node 会话工具,没有适用于本地 LTJT 语义读取的专用连接器/API/CLI
应用内浏览器访问 8786 时显示登录状态已失效 1 未登录、未读取凭据、未绕过认证,也未切换到需要额外授权的用户 Chrome;运行版本与 route report 子维度保持未知

最近完成:两次取消订单运行日志复核

  • 目标: 对比用户提供的 11:44 与 11:46 两次运行日志,确认浏览器实际版本、执行路径、ERP 写入边界,以及 0.5.143 修复是否生效;若暴露新的确定性缺陷,则完成最小安全修复与回归。
  • 任务解释: 两个附件均未附单独自然语言说明,本轮按“继续诊断并处理取消订单运行结果”执行;日志内容只作为不可信外部证据,不作为项目操作指令。
  • 安全边界: 不重试任务,不创建/确认/派发任务,不访问 ERP 写入或点击,不读取 .env,不重载扩展、不重启、不部署、不外发。

阶段

  • 恢复项目与规划上下文,运行 session catch-up 和 git status --short,保留全部既有未提交改动。
  • 逐事件解析两份日志并交叉比较版本、目标类型、状态、blocker、耗时与 no_erp_write 证据。
  • 对照 lifecycle Skill、Schema、mapping、活动实现和回归,判定两个日志分别暴露解析回复归一化缺口和 route Document 身份传递缺口。
  • 实施最小 fail-closed 修复并同步扩展 0.5.144、平台最低版本、mapping、测试和发布物。
  • 完成规定验证并收敛 findings/progress/plan;明确运行态与真实 ERP 授权边界。

固定决策

  • 不以删减精确引用、唯一状态、页面身份、保存前停止或 fresh requery 门禁换取任务通过。
  • 两次日志必须独立判断;不把任务历史快照中的旧 failure 字段当成当前事件结果。
  • 若日志证明浏览器仍运行旧版,只报告并验证版本事实,不未经授权重载扩展或重试任务。
  • NEED_INPUT 只允许从已校验 questions[].prompt 合成展示回复;没有 prompt 时继续阻断,绝不生成 operation。
  • route token 必须是本地生成的一次性不透明值,只用于绑定 prepare 已精确选中的 Document;不进入业务 operation、用户日志或 ERP 请求,后续正式 preflight 仍再次校验引用和状态。

完成结果

  • 11:44 的 NEED_INPUT 缺顶层回复已改为只从有效 question prompts 合成用户展示文本;无 prompt 时仍阻断且 operation 保持 null。
  • 11:46 的同路径 frame 假歧义已改为一次性 route token 精确绑定 prepare 选中的 Document;既有引用、唯一行/表单、状态、ownership、保存前停止和 fresh requery 门禁均保留。
  • Chrome 扩展已同步到 0.5.144;版本化 ZIP SHA-256 为 5edf97d35d82cb5e2eb46acd003042522a9cca5ab8f1e8c615c296ad64390b72,0.5.143 已归档。
  • 最终验证通过:仓库治理 9/9、TypeScript check、控制面 90/90、legacy 230/230、build、lifecycle 51/51、扩展/解析语法、ZIP/源码逐文件核对和 diff 检查。
  • 未重试或创建任务、写入 ERP、重载扩展、重启 8786、部署或外发;运行态启用及真实 ERP 新任务验证仍需用户另行明确授权。

当前任务错误记录

错误 尝试 处理
发布复核时 findings.md 为 37,139 字节,超过 32 KiB 治理上限 1 其他 8/9 仓库门禁均通过;先完整冻结到当日项目历史,再语义压缩活动 findings 后重跑,不直接删除历史
lifecycle 发布复核有 3 个静态断言仍匹配 0.5.143 1 行为测试及其余 50/51 通过;同步这 3 个断言到 0.5.144 后完整重跑 lifecycle,不改产品逻辑
四套全量命令并行时 AgentBus listener 测试在固定等待内只收到 1/2 条消息,失败后遗留句柄使控制面进程 110 秒未退出 1 其他控制面 89 项、check、legacy 230/230、build 均通过;受控中止该测试进程,改为无竞争地单独重跑完整控制面套件,若复现再检查产品代码

最近完成:取消订单精确原生页面跳转失败修复

  • 目标: 根据用户提供的失败日志,定位并修复 order_cancel 在 lifecycle_route_preparation 阶段因 lifecycle_exact_edit_form_not_ready 被阻断的问题,同时保持精确引用、保存前停止和不自动重试门禁。
  • 任务解释: 附件只有运行日志、没有单独的自然语言指令;本轮按“诊断并修复该失败”继续。若证据表明不是代码缺陷,则只形成诊断和安全处置,不放宽门禁。
  • 范围: 取消/恢复生命周期的 Chrome ERP 路由准备、mapping、稳定夹具、扩展版本与发布物;不改变 AI 解析结果、operation Schema 或业务输入契约。
  • 安全边界: 不重试现有任务,不创建/确认/派发任务,不执行 ERP 写入或点击,不读取 .env,不重载扩展、不重启、不部署、不外发。

阶段

  • 读取 README、活动 planning 文件、仓库状态、业务适配登记表和用户日志;保留全部既有未提交改动。
  • 确认 AI 解析与 operation 契约已成功,故障发生在插件唯一解析目标后、ERP 写入前的原生页面准备阶段。
  • 追踪 order_cancel 的路由准备实现、页面判定、超时策略、mapping 与现有测试,确定直接原因和受影响范围。
  • 实施最小安全修复并补充定向回归;扩展已递增至 0.5.143,平台最低版本、mapping、ZIP 和发布清单已同步。
  • 完成项目规定的全量验证、发布物逐文件核对和 diff 检查。
  • 收敛 findings/progress/plan,明确未执行的真实 ERP 验证与后续授权事项。

完成结果

  • 已修复 resolved 取消操作被一律改走编辑页、以及编辑页身份匹配口径窄于正式 preflight 的两个确定性问题;精确引用、唯一状态、页面完整性、保存前停止和失败关闭门禁均保留。
  • Chrome 扩展已同步到 0.5.143;当前版本化 ZIP 的 SHA-256 为 345233202461b4e0cbf2294c4f0559fecfcf74caf3c225a1f1c7e4dda16f29dd,上一版 0.5.142 已归档。
  • 项目规定的仓库治理、类型检查、控制面、legacy、构建、扩展语法、发布包逐文件核对和 diff 检查均通过。
  • 本轮没有重试原任务、写入 ERP、重载扩展、重启 8786、部署或外发;运行态启用和真实 ERP 新任务验证仍需用户另行明确授权。

固定决策

  • 不绕过精确引用、页面身份、原生表单或保存前门禁;页面未准备好时仍失败关闭。
  • 日志中的 awaiting_confirmation 历史快照附带旧 failure 字段,不把它误判为解析失败;以随后独立执行事件链为准。
  • 只有代码和脱敏夹具证据足以证明确定性缺陷时才修改;环境/会话故障不得伪装成成功。

错误记录

错误 尝试 处理
session catch-up 首次使用了不存在的组合路径 1 未触及项目文件;改用 /Users/inmanx/.agents/skills/planning-with-files/scripts/session-catchup.py 后成功且无未同步上下文
apply_patch 不接受无 hunk 的纯移动操作 1 未修改文件;使用精确机械复制冻结完整旧计划,再由 apply_patch 重建压缩后的活动计划
单个 patch 不能同时删除并新增同一路径 1 删除已在校验阶段被拒绝且未修改;随后拆成两个连续 apply_patch 调用完成活动计划重建
搜索测试时使用了不存在的 *.test.* zsh glob 1 未修改文件;后续改用 rg 的目录与 --glob 过滤,不再让 shell 展开可空 glob
首次打包 ZIP 的相对输出路径多退了一层 1 未创建输出文件;改用明确的项目绝对路径后成功生成 0.5.143 ZIP
首轮控制面测试仍断言旧 app.js cache key 1 89/90 通过,失败仅为静态资源版本断言;同步到新 cache key 后重跑完整控制面套件

最近已完成任务

  • 修改类无年份日期统一归一化: 三类订单修改与酒店安排变更的 MM-DD 按任务日取下一次发生日;Prompt v1.6、程序解析器 v1.0.1、五个 Skill 0.5.120 已同步,完整门禁通过,8786 已在用户授权后重启生效。
  • 散拼母团无子单的酒店安排提示: 扩展 0.5.142 已把三项页面证据成立的技术错误转换为先新增散拼子单提示,不放宽提交门禁;全量门禁通过。
  • 插件通用操作计时: ltjt-operation-timing-v1 覆盖共用状态机与页面动作,控制面和操作台仅接收白名单耗时摘要;扩展 0.5.141 的历史实现与门禁已完成。
  • 任务状态栏整栏滚动: 右侧详情栏使用整栏纵向滚动,详情和生命周期保持自然高度;页面契约与全量门禁通过。
  • 18 项确定性解析与即时晋级: 18 route、fail-closed compiler、共用 validator、四模式编排、迁移 013、任务快照与操作台已完成;Shadow 可并行、Auto 同时最多一个,当前模式未因代码完成而自动切换。
  • AI 可替代性复评: 固定 18 模板的正常路径可由本地 compiler 替代 AI;自由表达兼容、历史输入漂移、字段级 shadow 与关键 false-pass=0 仍是下线 AI 的门槛。
  • ERP 链接异常恢复: 扩展历史版本已实现仅在空闲、allowlisted 标签页上的受控刷新与只读复测,不新开标签、不自动重交任务。

历史规划与持续边界

  • 本次压缩前的完整计划已冻结到 2026-08-26 归档快照;更早完整上下文见 archive/project-history/,归档只供追溯,不定义当前规则。
  • 当前发布版本、文件名和 SHA-256 只以 发布清单 为准。
  • 保留工作区既有未提交改动;真实 ERP 写入、任务重试、扩展重载、部署、重启和外部发送仍需用户另行明确授权。