# 项目文件治理计划 ## 当前任务:异常状态下 ERP 链接刷新加固(已完成) - **目标:** 针对插件长时间待机后 ERP 会话/页面链路失效的偶发告警,在检测到异常状态时增加受控的 ERP 链接刷新与二次探测,降低恢复依赖人工重载的概率。 - **安全边界:** 只在无 ERP 执行任务时操作;只处理现有 allowlisted ERP 标签页;恢复动作不新开标签、不执行业务写入、不自动重试业务任务;若用户关闭自动化或保活,则不恢复。 - **当前基线:** 已有 `chrome.alarms` 待机保活和本地状态记录,但失败/会话失效后只记录状态,没有异常恢复闭环;业务 operation、Schema 和 Skill 不需扩展。 ### 阶段 - [x] 读取治理规则、活动 planning 文件、业务登记、生命周期 mapping、插件保活实现和现有测试;确认本任务属于插件宿主维护能力。 - [x] 设计并实现异常状态刷新 ERP 链接、恢复后二次探测和状态/告警展示;保持写入前安全边界。 - [x] 补充定向回归、同步插件说明与 lifecycle mapping;扩展已递增到 `0.5.140`,版本化 ZIP/发布清单已生成,旧制品已归档。 - [x] 完成 `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` 已冻结到 [归档快照](archive/project-history/2026-08-22/task_plan-pre-compression-source-region-rule.md);归档只供追溯,不定义当前规则。 - 更早的 AgentBus、插件权限、游客 XLSX、散拼回查和日期归一化规划见 `archive/project-history/` 对应日期快照。 - 当前发布版本、文件名和 SHA-256 只以 [发布清单](dist/release-manifest.json) 为准。 ## 持续边界 - 保留工作区既有未提交改动,不读取、复制或输出 `.env` 等秘密配置。 - 真实 ERP 写入、任务重试、部署、重启和外部发送仍需用户另行明确授权。