Files
LWLT-AIBOT/archive/project-history/2026-08-28/progress-pre-compression-shared-plan-visitor-export.md
T

235 lines
31 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.
# 项目进度
## 2026-08-28 — 名单人数超过 ERP 容量的业务提示(已完成)
- 报告中的 25 人独立团名单只生成 16 个原生游客位,后续缺行和投影 blocker 是同一容量不足的连锁技术证据;父表单未保存。
- 插件 `0.5.156` 现在返回 `erp_passenger_count_limit_exceeded`,主提示明确名单人数、对象类型和 ERP 上限;原始 blocker 继续保留在技术详情。
- 平台最低版本、缓存键、mapping、业务登记、风险和发布门槛已同步;旧 `0.5.155` ZIP/清单归档,新 ZIP SHA-256 为 `9a0d4941728a49a40a8734c560b4dfcb3f5026756ffb46af3f32f38fbbac652a`。
- 门禁通过:仓库治理 9/9、TypeScript、控制面 126/126、legacy 246/246、build、JS/JSON/ZIP 与 diff。未重试历史任务、访问 ERP、重载扩展、重启或部署。
## 2026-08-28 — 名单覆盖确认强制覆写(已完成)
- 已复现 `passenger_import_no_changes`:旧插件把确认覆盖后的同值游客行归为幂等并在保存前阻断,违背用户明确写入要求。
- 合并规则已改为:未确认且目标行占用时要求覆盖确认;`full_replace + confirmed=true` 后所有指定序号都进入 changed/write 集合,同值也原生覆写。
- 扩展、平台最低版本和 mapping 已推进到 `0.5.155`;旧 `0.5.154` ZIP/清单已归档,新 ZIP SHA-256 为 `3159e6700fcb9aea6d18099c5c84bccf2578de6bceaf3b7e2f369ec44ff66574`。
- 验证通过:仓库治理 9/9、TypeScript、控制面 125/125、legacy 245/245、build、JS/JSON/ZIP 与 diff 检查。
- 未修改或重试报告任务,未访问 ERP、重载扩展、重启或部署;插件运行态切换仍需另行授权。
## 2026-08-28 — 8786 已加载名单明确成功终结规则(已完成)
- 用户明确授权重启。旧标准入口进程组 `13643` 已优雅退出,新进程组 `29571` 启动,服务 PID `29588` 为 8786 唯一监听。
- live/ready、数据库、Schema、迁移 `014_task_input_attachments` 和 4/4 AgentBus 渠道均正常;服务已提供最低扩展版本 `0.5.154` 与新页面缓存键。
- 未读取 `.env` 内容,未调用历史任务、回查/重试、插件派发或 ERP;Chrome 扩展未重载,仍需另行授权。
## 2026-08-28 — 名单明确成功响应终结规则(已完成)
- 名单保存成功的业务判定已改为:全部写前门禁通过后,父表单 ERP 明确成功响应即完成;不再逐行写后回查,也不再自动启动名单对账。
- 控制面只接受 `passenger_list_import + passenger_list_explicit_server_success` 这一专用凭据;其他 action 仍要求真实写后回查,防止例外外溢。
- 扩展/平台/mapping 已推进到 `0.5.154`;后台自动名单对账入口已删除,用户成功提示改为“ERP 明确成功响应,按业务规则确认录入成功”。
- 旧 `0.5.153` ZIP/清单已归档;新 ZIP SHA-256 为 `0e568940046ed8863123501c15ec292c0c3d79dd246799aebb9dba3842dfaa35`。
- 验证通过:仓库治理 9/9、TypeScript、控制面 125/125、legacy 245/245、build、JS/JSON/ZIP 与 diff 检查。
- 尚未重载扩展、重启或部署,也未修改、回查或重试历史任务;运行态切换需另行授权。
## 2026-08-28 — 8786 已加载名单回查提示修复(已完成)
- 用户明确授权重启并要求不处理历史任务。旧 `pnpm run dev` 进程组 `97618` 已优雅终止,新进程组 `13643` 按同一标准入口启动,服务 PID `13663` 成为 8786 唯一监听。
- live/ready 均通过;数据库、Schema、迁移 `014_task_input_attachments` 与 4/4 AgentBus 渠道 connected/session ready。
- 当前服务已提供 hydrated-requery 页面缓存键、最低扩展版本 `0.5.153` 和“待管理员核验,请勿重复提交”提示。
- 未读取 `.env` 内容,未调用历史任务 API、回查/重试/修改任何任务、派发插件、访问 ERP、部署或外发。Chrome 扩展未重载,须另行明确授权。
## 2026-08-28 — 名单写后假阴性与用户防重提提示修复(已完成)
- 已只读复核报告任务:ERP 25 个非空游客行与 canonical 名单逐字段全等,领队姓名/电话也全等;旧任务提示是回查假阴性,不是写入失败。
- 根因是旧逻辑把散拼编辑页初始 31 个游客位当成保存后最小行数,并用未经过 ERP 脚本 hydration 的 raw HTML 比较字段;ERP 正常压缩尾部空白位后因此误报。
- 扩展 `0.5.153` 在“服务端明确成功 + 名单唯一回查 blocker”时自动执行一次全新精确页面的 hydrated DOM 只读复核;匹配直接完成,仍不匹配继续 reconciliation。复核链不调用原生保存,不发第二个 POST。
- 平台、控制面与 AgentBus 的不确定提示统一为“待管理员核验/请勿重复提交同一任务”;成功收敛会明确说明没有重复保存。
- mapping、业务登记、风险表、release gate、扩展 README、证据索引、平台最低版本与缓存键已同步;旧 `0.5.152` ZIP/清单已归档,新 ZIP SHA-256 为 `a52082e57cdd62e50e58e77bae83f1c7c4b6982213296ab649f9870853604d44`。
- 验证通过:lifecycle 53/53、控制面 124/124、legacy 245/245、仓库治理 9/9、TypeScript、build、ZIP 完整性、包/源码一致性与 diff 检查。
- 未修改或重试当前任务,未重载扩展、重启/部署服务、访问 ERP 写路径或外发;新逻辑进入运行态及现有任务只读收敛需用户另行授权。
## 2026-08-28 — 8786 已加载名单领队解析修复(已完成)
- 11:52 任务的附件事件仍记录规范化器 `v1.0.0`,而插件已执行新版 `leader_contact` 门禁,属于控制面旧进程与新版插件的运行态版本错配;任务在写前安全阻断并明确 `no_erp_write=true`。
- 用户明确授权重启后,已优雅停止 8 月 27 日启动的旧进程树(服务 PID `51627`),按原 `pnpm run dev` 入口启动当前源码。新服务 PID `97636`,`127.0.0.1:8786` 只有一个监听。
- `/health/live` 与 `/health/ready` 均通过;数据库、Schema、必需迁移 `014_task_input_attachments` 及 4/4 AgentBus 渠道 connected/session ready。
- 没有重试 blocked 任务、派发插件或访问/写入 ERP。该历史任务不会自动重解析;后续新名单任务应在附件事件中记录规范化器 `v1.1.0`。
## 2026-08-28 — 名单领队联系人投影与 0.5.152 发布(已完成)
- 工作簿规范化器现固定忽略第一行团信息、要求第二行精确 14 列表头;仅唯一一行`备注`去空格后严格等于`领队`时提取同一行姓名和电话,缺值、重复标记或结构与 canonical TSV 不一致均失败关闭。
- Program parser、双 Schema、平台独立校验和 Chrome operation gate 已接入 `passenger_list.leader_contact`;正文`领队`继续只是可选查单关键词,不作为联系人写入来源。
- 名单适配器在原生解析前快照 `jj_lianxiren/jj_dianhua/sj_lianxiren/sj_dianhua`,完成游客行恢复后只写目标联系人两字段;无标记时保留原值,写前全等投影和保存后 fresh GET 脱敏哈希复核均保持失败关闭。
- 业务登记、Skill 解析契约、运营模板、mapping、风险登记、release gate 与 README 已同步。当前制品为扩展 `0.5.152`、五 Skill `0.5.124`、运营 DOCX `0.5.122`;旧制品和历史清单已日期化归档。
- 指令表 12 页已按 Documents 工作流逐页检查,无方框字、截断或布局缺陷;五个 Skill 通过官方 validator,插件 ZIP/Skill 包与源目录逐文件一致。
- 验证最终通过:仓库治理 9/9、TypeScript、控制面 124/124、legacy 244/244、build 及定向名单回归。未重载 Chrome 扩展、重启/部署服务、重试任务或访问/写入真实 ERP。
## 2026-08-28 — 名单覆盖行英文名投影修复与 0.5.151 发布(已完成)
- 已根据用户运行时间线确认平台手工附件上传、25 行工作簿规范化、Program 解析和自动确认均正常;当前失败点是扩展调用 `DaoRuDones` 后的父表单写前投影,未发生 ERP 保存。
- 已先加入失败回归,再在 `applyPassengerImport()` 中只对合并计划确认变化的序号回写规范化 `NAME → pinyinxm`;未变更行继续恢复原快照,完整字段投影不一致仍失败关闭。
- 扩展、平台最低版本和运行脚本版本已统一为 `0.5.151`;mapping、风险登记、release gate、平台缓存键与回归同步。旧 `0.5.150` 包已日期化归档,当前 ZIP 和发布清单哈希一致。
- 证据摘要已保存于 `archive/evidence/2026-08-28/`,不含游客个人值;真实模板只作只读结构核验,未复制到项目。
- 验证通过:lifecycle 52/52、仓库治理 9/9、控制面 121/121、legacy 244/244、TypeScript、build、ZIP 压缩完整性与包/源码逐文件一致。
- 未重载 Chrome 扩展、重启服务、部署、重试任务或访问/写入 ERP;`0.5.151` 的真实保存仍需用户另行授权复测。AgentBus OSS 下载的 DNS 判定问题保持为独立待修项。
## 2026-08-27 — 运营指令表示例合并与精简(已完成)
- 已将桌面改稿中有效的 18 项示例合并到活动 Markdown,同时保留当前必填字段和名单“文字定位 + Excel 附件 + 等待附件 + Program-only”规则。
- 面向运营人员的内部实现释义已删除或压缩;技术契约仍由 Skill、release gate、控制面说明和源码维护,没有缩减程序安全边界。
- 已发布 `老挝联泰AI指令表-0.5.121.docx`,旧 `0.5.120` 日期化归档;发布清单、输入契约版本、README 和门槛文档已同步。
- 新版 12 页已全部渲染检查,字体、分页、长行和名单附件段落正常。仓库治理 9/9、TypeScript、控制面 121/121、legacy 244/244、build 和 diff 全绿。
- 未创建/修改真实任务,未调用 AI、访问/写入 ERP、重载扩展、重启、部署或外发。
## 2026-08-27 — 名单 Excel 附件 Program-only 改造(已完成)
- 两类名单 route 已固定为不可切换的 Program-only。任务识别后先进入 `awaiting_attachment`;附件到齐并确定性规范化后才进入 `parse_queued`,不会把原始工作簿送给 AI、Prompt、operation 或 Chrome。
- 新迁移 014 和 TaskService 只持久化安全元数据、校验状态及加密 canonical TSV;原始 `.xls/.xlsx` 仅在内存处理,解析通过或终止后清除规范文本。手工/API 支持单文件 base64,AgentBus 支持 attachment-only 续接及 HTTPS/DNS/重定向/大小/hash 安全下载。
- XLS/XLSX normalizer 严格校验单可见工作表和 14 列模板,确定性转换为 Program parser 的 13 列 TSV;宏、外链、隐藏数据、额外列、越界公式、身份证名单、坏序号和超过 5000 行均失败关闭。
- 平台已增加名单附件选择、等待/错误反馈和补传入口;浏览器只在提交时读取文件。Chrome 端不再把独立团 16 行或散拼子单 31 行视为上限,按当前行数与最高序号动态扩行,并保留合并、覆盖确认、写前快照和保存后 fresh requery。
- 用户提供的旧版 `.xls` 用实际仓库 normalizer 只读验证成功:单可见工作表、表头第 2 行、25 条数据,输出内部 13 列;未记录个人值或提交真实文件。
- 活动模板、业务登记、Skill、mapping、控制面说明和 release gate 已同步;扩展 `0.5.150`、五 Skill `0.5.123`、运营 DOCX `0.5.120` 已发布,旧制品可恢复地归档。DOCX 15 页完成字体与布局检查,五个 Skill 通过官方 validator,所有压缩制品与源码逐文件一致。
- 最终验证:仓库治理 9/9、TypeScript、控制面 121/121、legacy 244/244、build、压缩完整性和 `git diff --check` 全绿。没有创建/修改真实任务、调用 AI、读取 `.env`、访问/写入 ERP、重载扩展、重启服务、部署或外发。
## 2026-08-27 — 历史任务手动与批量删除(已完成)
- 已新增 `POST /api/tasks/bulk-delete` 与 `TaskService.hardDeleteTasks()`;最多 100 条、禁止重复、按组织隔离,全部目标在单一事务中锁定和核验,失败时整批不落库。
- 单任务删除已复用同一事务核心;task-scoped audit/outbox 显式删除,关联数据库记录级联清理,OSS 附件对象在提交后由现有 storage key 清理器处理。
- `/history` 已增加卡片单删、逐条勾选、“选择本页”和批量删除;筛选/翻页清空选择,删除中统一禁用相关控件,成功/失败结果在工具条与任务详情中反馈。
- 已加入运行中任务不可回滚警告、插件尽力停止、本地缓存清理和在途旧同步抑制。
- 并行名单附件 WIP 写入前,仓库治理 9/9、TypeScript、页面 JS 语法、历史删除定向回归、完整控制面 99/99、build 与相关 diff 通过;其后历史删除定向复跑仍通过。当前全局工作区另有名单 WIP 的缺失 workbook 源文件、两项动态游客行红灯及扩展源码/ZIP 不同步,未代为修复或回退。
- 用户随后明确授权重启:旧服务 PID 84022 已正常退出,新服务 PID 29562 成为 `127.0.0.1:8786` 唯一监听者;ready 检查确认数据库、Schema、迁移 `014_task_input_attachments` 与 4/4 AgentBus 渠道均就绪。未认证的随机假 ID 路由探针中,批量删除返回 401 而非 404,证明新路由已加载;未删除真实任务、未读取 `.env` 内容、未部署。
## 2026-08-27 — AgentBus 渠道配置删除(已完成)
- 已新增组织隔离、管理员 mutation/CSRF 保护的 `DELETE /api/channels/:channelId`;删除事务保留审计,移除渠道行和 key,按既有外键保留历史任务并清理该渠道全部持久化回执记录。
- 渠道公开模型增加 `deletable`。仍由完整旧环境变量托管的 `legacy-env` 兼容渠道在服务端返回明确冲突,页面显示不可点击的“环境托管”,不会执行删除后又被自动重建的假动作。
- `/channels` 每行新增“删除”动作和影响说明二次确认;成功后立即更新目录。控制面说明与页面 cache key 已同步。
- manager reload 已改为重放在途期间的新请求;并发回归证明渠道 mutation 不会因复用旧 reload Promise 而留下已删除 listener。
- 验证通过:AgentBus/控制面定向 61/61、TypeScript、页面 JS 语法、完整控制面 99/99、build,以及本次文件 diff 检查。
- 规定仓库治理及 legacy 内重复治理仍有 3 个暂挂人数发布链红灯:未登记的运营 DOCX 0.5.119、扩展源码 0.5.149 与发布清单/ZIP 0.5.148 不一致、更新 Skill 源与 0.5.121 包不一致;legacy 其余 236 项通过。本轮保留这些既有半发布改动,不回退或越权代发。
- 用户随后明确授权重启;新服务已加载渠道删除路由。未认证的随机假 ID `DELETE /api/channels/:channelId` 探针返回 401 而非旧服务的 404,未删除真实渠道配置、未读取 `.env` 内容、未部署。
## 2026-08-27 — 独立团占/不占儿童人数解析修复(已完成)
- Program parser 已将报告输入确定解析为 `pax.adult=8`、`pax.child_bed=1`、`pax.child_no_bed=1`、`pax.leader=1`;双标签倒序可用,旧三段与旧四/五段位置语法保持兼容,错误分类和异常数值继续失败关闭。
- 组合人数不再隐式生成 `pax.infant=0`;业务 Prompt、更新 Skill/契约和运营模板均明确要求清零婴儿时单独写“婴儿改为0”。
- operation plan、平台目标目录、lifecycle adapter 和 mapping 已接入 `pax.child_no_bed → ertrenshu`,复用写前快照、非负校验、原生设值和 fresh requery;仍属于待授权 ERP 实写复测能力。
- Program/Prompt/扩展/Skill/DOCX 基线分别收敛到 `v1.0.4`、`v1.8-independent-headcount-categories`、`0.5.149`、`0.5.122`、`0.5.119`。旧 0.5.148/0.5.121/0.5.118 制品已移入 `archive/releases/2026-08-27/`。
- 运营 DOCX 0.5.119 已渲染检查全部 15 页,无方框字、溢出或截断;五个 Skill 通过官方 quick validator,扩展 ZIP/Skill 包与源码逐文件一致。
- 定向回归通过:Program 22/22、lifecycle 52/52、运营模板 15/15、外部解析边界 66/66。最终规定门禁通过:仓库治理 9/9、TypeScript、控制面 117/117、legacy 244/244、build 和 `git diff --check`。
- 没有修改或重试用户报告任务,没有调用 AI、派发插件、访问/写入 ERP、重载扩展、重启服务、部署或外发;新源码尚未进入现有运行服务/浏览器。
## 2026-08-27 — 09:32 下单误阻断修复与 0.5.148 发布(已完成)
- 用户授权后通过 Chrome CDP 只读取证:扩展 `0.5.147` 预检表单/拦截请求 protected hash 均为 `5f3d…`,原生 `SubmitInfoForm()` 返回后的当前表单为 `a5f4…`;字段数均为 822,且没有 ERP 请求/响应/回查/副作用。
- 已把预检批准拆为 post-intercept browser form 与 intercepted native request 两套哈希,正式保存分别校验;受保护字段门禁仍严格失败关闭。
- 已新增网络请求边界事实和零写证据函数;明确网络前阻断现在发布 `blocked / prewrite_blocked / write_attempted=false / no_erp_write=true`,未知失败仍为 uncertain。
- 已在服务端与扩展本地双重证据校验后,将 `TASK-20260827013256-D06X1n4` 从 reconciliation_pending 纠正为 blocked/no-write,审计记录已写入、队列已释放;没有重试或向 ERP 保存。
- 扩展、平台最低版本、mapping、release gate 与回归已推进至 `0.5.148`;`0.5.147` 原 ZIP 按原 SHA-256 归档,新 ZIP SHA-256 为 `c457814d8011d7d8ef5d596647bfe95f13fbb2574d480006ff4ea5f87270d659`,仓库治理已确认 ZIP 与源码逐文件一致。
- 规定门禁最终通过:仓库治理 9/9、TypeScript、完整控制面 97/97、legacy 全量、build 和 diff。控制面首次 96/97 仅因测试仍断言旧页面缓存键;同步到 `0.5.148` 缓存键后完整重跑 97/97。
- 未重载扩展、未重启服务或改变自动化/解析设置;运行中的 Chrome 仍为 `0.5.147`,须用户另行授权重载后才能执行新版逻辑。
## 2026-08-27 — 全自动化按钮权威状态同步(已完成)
- 只读核验最新 AgentBus 任务:Program 解析通过,任务级开关快照为 true、确认模式为 automatic,最终 completed;组织数据库开关同为 true。
- 定位到页面只在登录时读取组织开关,服务重连、后台刷新和重新回到页面都不会更新按钮,因此旧 false 与执行端 true 并存。
- 已补齐 EventSource 建连/重连、30 秒后台刷新、visibility/focus 的权威设置同步,并用在途 Promise 合并读取、串行用户切换,避免竞态覆盖。
- 页面缓存键已推进到 `20260827-automation-state-sync-1`,8786 已直接提供新版资源且保持数据库、迁移 013、AgentBus ready;无需重启。
- 仓库治理 9/9、TypeScript、控制面 96/96、legacy、build 和 diff 全部通过。未改变开关当前 true、未修改任务或触发 ERP。
## 2026-08-27 — 授权启用与重启(已完成)
- 用户确认授权同时开启组织全自动化并重启 8786。启用前确认无在途解析或 ERP 任务。
- 已通过控制面事务方法把组织开关从 false 更新为 true,并写入系统审计;18/18 route 保持 Program revision 3。
- 旧 PID `76113` 已优雅退出,新 PID `84022` 通过标准入口启动;8786 单一监听,数据库、Schema、迁移 013 和 4/4 AgentBus 会话 ready。
- 报告任务未被重解析、确认或派发;本轮未调用 AI、未访问或写入 ERP。
## 2026-08-27 — AgentBus 微信信封解析修复(源码完成)
- 已核对用户附件并定位 `TASK-20260827004712-_PGgTzg`;日志中的外部 Agent SSE 不是显示误差,该任务确实由 AI 解析。
- 只读数据库复证:任务 route null、configured AI、AI affinity;18/18 route 仍为 Program revision 3。根因是 AgentBus 微信桥接正文带 `New WeChat message / Conversation / Text` 传输信封,两个传输标签污染全局字段签名。
- 146 条 AgentBus 任务聚合验证 144 条同形包装;严格解包后 142 条可命中登记 route,4 条继续安全 unresolved。
- 已在 AgentBus listener 增加严格信封解包,并用同形脱敏 fixture 固定有效、近似、缺字段和空正文边界;listener 集成测试确认 TaskService 收到纯业务正文。
- 报告任务原文只读离线重放已精确命中 `team_order_create`,Program v1.0.3 解析通过且无 AI fallback。
- 定向 33/33、仓库治理 9/9、TypeScript、控制面 96/96、legacy 全量、build 与 diff 已通过;控制面说明同步完成。
- 未重试或修改现有任务,未触发 AI/插件/ERP;修复随后已在用户明确授权开启全自动化并重启后进入运行态。
## 2026-08-27 — 受控重启 8786(已完成)
- 用户明确授权重启项目;已按项目规则恢复 README、task plan、findings、progress、工作区状态和业务登记,保留所有既有未提交改动。
- 精确确认旧 8786 服务 PID `41546` 由标准 `pnpm run dev` 启动;重启前 live/ready 正常。对该 PID 发送 TERM 后,旧进程树退出且端口完全释放。
- 已用相同入口启动新进程树:启动器 PID `76096`、服务 PID `76113`,项目根目录为 cwd,8786 仅有一个监听进程。
- 新实例数据库、Schema、迁移 `013_business_parser_modes` 和 4 个 AgentBus 渠道均 ready;正式页面已提供 `app.js?v=20260826-global-parser-automation-1` 与“所有来源”新版文案。
- 重启记录同步后的规定门禁已通过:仓库治理 9/9、TypeScript、AgentBus 11/11、控制面 95/95、legacy 全量、build 和 diff。首次并行控制面测试残留进程已终止并改为串行完整复证,8786 未受影响。
- 未创建、确认、重试或派发任务,未调用 AI,未访问/写入 ERP,未读取 `.env` 内容,未修改任何解析模式或组织全自动化开关。
## 2026-08-26 — 解析策略与全自动化全局生效(已完成)
- 已登记用户反馈:操作台策略似乎只影响手工输入,AgentBus 仍固定走 AI;目标是让解析模式和全自动化规则对所有受支持任务来源统一生效。
- 已完整恢复 README、task plan、findings、progress;session catch-up 未报告未同步上下文,`git status --short` 显示大量前序未提交源码、发布物、规划和归档改动,现均保留。
- 历史事实提供直接调查线索:18 项业务曾在运行态全部切到 Program,而历史 143 条 AgentBus 任务全部走 AI;下一步从任务接入、解析编排、任务快照和自动确认/执行源码验证当前分叉。
- 活动 `task_plan.md` 和 `progress.md` 新增本任务后超过治理上限;已先完整冻结到 `archive/project-history/2026-08-26/` 并用 SHA-256 核对一致,再压缩活动文件。没有删除历史信息。
- 本轮安全边界保持:不创建/确认/重试/派发真实任务,不访问或写入 ERP,不读取 `.env`,不重启、部署或外发。
- 初读四模式编排器确认其不区分来源;手工和 AgentBus 的插入点表面上都请求模式快照,正在继续追踪 AgentBus 是否在文本路由、会话复用或旁路中丢失快照。
- 已确认组织全自动化函数硬编码 `source === 'agentbus'`,因此它目前不是全局开关;后续会在统一安全门禁下移除此来源限制并补两类来源回归。
- 已读完快照函数和两条新任务 INSERT:二者没有来源差异;但快照只识别原始文本首个非空行,未识别即固定 AI affinity。正在结合 AgentBus inbound handler 和真实帧契约确定是否需要统一“业务文本提取/路由”入口,而不是为 AgentBus 增加另一个特判。
- AgentBus handler、server parse queue 与迁移已核对:AgentBus 没有独立 AI 调用,和手工任务共用编排器;旧任务 AI affinity 只属于迁移历史。下一步以现有测试/帧样例复现“新 AgentBus 仍 AI”,再围绕统一 route snapshot 与全局 automation 写失败回归。
- 测试缺口已确认:现有 automation 单测反而固定“仅 AgentBus 自动确认”,listener 测试不覆盖 route/mode/authority。下一步寻找项目现成 PostgreSQL 测试夹具,先写来源对称性的失败回归,再实现最小修复。
- 项目没有现成数据库集成测试夹具;将优先提取可纯测的快照解析边界,并用控制面静态契约确保两条 INSERT 都调用同一入口。历史 143 条统计属于迁移前背景,不会被误当作新代码失败证据。
- 已从历史输入研究确认当前首行 resolver 对 AgentBus 形成结构性偏差:历史渠道文本没有现行指令行,但字段高度结构化。接下来设计保守的全消息 route 识别/审计契约,让模式先全局落到任务快照;旧包装能否成功 Program 解析仍只按明确 fixture 放行。
- 活动输入契约仍要求首行业务指令,故不会静默删除未知前置文本;会让唯一嵌入指令决定 route 快照,但 Program 对额外包装继续失败关闭。实时终端不可用,已记录一次并转用源码/测试证据。
- 根因阶段完成:共用 INSERT/编排器无来源分支;偏差来自首行-only route snapshot,全自动化偏差来自 `source==='agentbus'`。已固定保守方案并进入测试先行实现。
- 已加入预期失败回归:全消息嵌入指令、唯一完整字段签名、歧义保持不路由、消息新会话识别,以及 manual/AgentBus 全自动化对称性。首次运行因 shell 无 Node 未启动,已定位 bundled Node 绝对路径。
- bundled Node 下失败回归按预期得到 3 项红灯;实现全消息 resolver 和全局 automation 后新回归转绿,但暴露 1 项既有多动作错误码退化。正在保留首行主动作,让后续提取继续精确阻断第二动作。
- 多动作退化已修复,定向 parser + control-plane 68/68 通过。发现全消息扫描对 500 行名单有不必要的编辑距离开销,下一步先优化候选行筛选,再同步 UI/文档并扩大回归。
- 候选长度窗口与 64 标签上限已把 500 行测试墙钟降至 22ms;parser 21/21 通过。进入 UI 文案、控制面说明、机器注册入口与静态页面契约同步。
- 已同步后端、页面提示、控制面/根 README、设计入口、业务登记和静态页面契约;程序 parser 递增为 `v1.0.3`。运营模板已恢复原字节哈希,未触发 DOCX 重建;Schema、mapping、扩展和发布 ZIP 不在本次变更范围。
- 已修正字段签名与会话续接的边界:签名可选 parser route,但只有明确指令开启新会话。页面语法及 parser/control-plane/AgentBus 定向套件 79/79 通过;准备把新增行为纳入版本化脱敏 corpus 后运行类型和全量门禁。
- 新增行为已进入 `v1.0.3` 脱敏 corpus。首次规定门禁调用因 `node --run` 的子脚本在空 PATH 内找不到 Node 而未启动;将直接使用 bundled Node + TypeScript/test 绝对入口,避免修改环境。
- 直接入口门禁已完成仓库治理 9/9、TypeScript 和控制面 95/95;实现阶段标记完成,继续串行运行 legacy 与 build。
- legacy 首次完整输出超过会话显示预算,随后以相同测试集合和 dot reporter 重跑,退出码 0;构建与 `git diff --check` 同样通过。
- 本任务已收敛:未来手工与 AgentBus 新任务统一应用 parser route/mode 快照和组织全自动化安全门禁;历史任务、当前策略值与组织开关不变。未重启 8786,运行态加载仍需用户另行授权。
## 近期有效里程碑
### 插件后台页节流与成功任务伪错误(已完成)
- 成功样本 `TASK-20260826091949-jHQfo6s` 的 105.6 秒已定位为后台 timer 节流和全 Frame probe,不是 ERP 保存接口;保存与 fresh requery 网络合计约 1.3 秒。
- 历史扩展 `0.5.147` 使用原生 Ajax complete、同步客户五字段复核和 `webNavigation` 精确 Frame;当前 `0.5.148` 继续保留一次哈希匹配提交并修正预检后表单快照。
- 控制面与页面已停止把成功解析的 no-write 边界事实合成“获取回执失败”。
- 仓库治理、类型、控制面 94/94、legacy 238/238、构建、定向生命周期/计时和 diff 门禁全部通过;8786 已在用户授权后重启,Chrome 扩展未重载。
### 18 项确定性解析与即时策略(已完成)
- 已实现 18 route、确定性 compiler、统一 operation validator、语义 comparator、AI/Shadow/Auto/Program 编排、迁移 013、任务级模式快照、AI affinity、shadow review、一次性安全重解析和操作台。
- 多 route 可同时 Shadow,同一时间最多一个 Auto;切换到 Auto/Program 不增加人工观察期,但不会因代码完成自动切换。
- 运行态曾核验 18/18 route 均为 Program、revision 3;组织全自动化仍关闭。此前历史分析同时确认 143 条 AgentBus 全部走 AI,本轮正处理两者之间的来源分叉。
- 28 条脱敏 gold/兼容/反例重放和性能测试通过;当时完整仓库、类型、控制面、legacy、构建和 diff 门禁通过。
### 取消/恢复与日期契约(已完成)
- 新建、三类修改、酒店安排变更及取消/恢复的无年份月日均按任务日期取下一次发生日;明确年份保持不变,名单等完整年份契约未放宽。
- AI 指引、旧 Profile 契约修复和 Program parser 使用同一规则;Agent Prompt `v1.7`、程序解析器 `v1.0.2`、五个 Skill `0.5.121` 已同步并通过专项与全量门禁。
- 生命周期精确列表/编辑页、一次性 route Document token、ownership、保存前停止、明确响应和 fresh requery 门禁保持失败关闭;历史日志中的三次失败均未写 ERP。
### 其他近期完成
- 散拼母团无子单时返回“先新增散拼子单”的确定性业务提示,但只有对象类型、页面数据和提交入口三项证据同时成立才触发。
- 插件通用操作计时已覆盖所有业务共用状态机与页面动作,控制面和操作台只接收白名单摘要。
- 右侧任务详情改为整栏滚动;ERP 空闲保活与异常链接恢复只作用于既有 allowlisted 页签且不会自动重交任务。
## 错误与处理摘要
- 本轮首次合并读取四个根文件时输出被截断,已改为逐文件读取并完整恢复。
- 本轮 plan/progress 超限后先做不可变全文冻结再压缩;冻结前后 SHA-256 一致。
- 历史测试曾遇 Node PATH、并行 AgentBus listener 固定等待和旧静态断言问题,均已改用工作区 runtime、无竞争完整重跑或同步当前版本断言解决;不重复相同失败方式。
## 边界与归档
- 压缩前全文:
- [task plan 快照](archive/project-history/2026-08-26/task_plan-pre-compression-global-parser-automation.md)
- [progress 快照](archive/project-history/2026-08-26/progress-pre-compression-global-parser-automation.md)
- 更早完整上下文见 `archive/project-history/`;归档只供追溯,不定义当前规则。
- 当前源码/制品基线以活动源码和 `dist/release-manifest.json` 为准;不从归档反向覆盖。
- 不读取、复制或输出 `.env`;真实 ERP 写入、任务 mutation、扩展重载、服务重启、部署和外部发送仍需用户另行明确授权。