71 lines
11 KiB
Markdown
71 lines
11 KiB
Markdown
# 当前关键发现
|
||
|
||
## 2026-08-30 — 0.5.156 校验范围恢复
|
||
|
||
- 用户明确要求恢复 `0.5.156` 的校验方式。归档 ZIP 证明该版本的动态正则写成字面 `\\d*`,所以真实编号 `ys_danwei1/ys_danweiid1/ys_jine0` 等字段并未进入保护;`0.5.160` 修正数字后缀后才新增当前强校验。
|
||
- `0.5.163` 不整体降级:保留正式控制面域名、MV3 链路恢复、lookup readiness 和 `jQuery.active/ajaxStop` 稳定态,只移除编号动态 `ys_*` 的保护投影。日期、客户、产品、人数、房型、跟单人、销售人等静态核心字段继续按摘要漂移失败关闭。
|
||
- 完整 live-gate 回归确认:核心字段变化仍返回 `live_submit_blocked` 且零网络;仅编号动态应收字段变化时,表单和原生请求的保护摘要均匹配并进入原生提交路径。该策略允许 ERP 在预检后调整动态应收行,属于生产操作方明确接受的行为边界。
|
||
- `0.5.163` ZIP SHA-256 为 `90c550054cdf747aa9c2c80bca5ee5fba0d13f126acfd4779f85400764379bf0`;专项、全量和构建门禁均通过。生产仍需加载后以新任务验证,旧失败任务不重试。
|
||
|
||
## 2026-08-29 — Program 写前受保护字段漂移
|
||
|
||
- `0.5.160` 生产复测已把实际漂移字段定位为 `xiaoshouren`(销售人),仍在网络请求前阻断。活动源码确认单团页面只按 `ListForm` 控件数达到 800 判定就绪,但 ERP 页面会异步请求 `ProDanwei_Yuangong`,并在回调中两次重新初始化 `xiaoshouren`;插件写入预检销售人后到 live gate 之间没有第二次插件写入。
|
||
- 真实 `lightweightOrderFrameProbe` 的离线反馈环稳定证明:`zutuanshe/gendanren/xiaoshouren` 的原生 SelectBox 数据仍为空时,当前实现仍错误返回 `order_frame_ready`。散拼子单路径已等待这三个 lookup 的 `data` 属性,单团路径没有,最可能因此允许 ERP 员工列表回调在预检后改写销售人。由于没有生产页面回调时间戳,这一因果关系属于强证据推断而非直接观测。
|
||
- `0.5.161` 虽已等待客户、跟单人和销售人 SelectBox 的 `data`,生产握手确认该版本后仍先后报告 `xiaoshouren`,以及 `xiaoshouren + ys_danwei*/ys_danweiid*` 漂移。这证明 lookup 数据存在不等于页面所有原生 Ajax 已完成;ERP 表单启动阶段还有收款项目、报位、说明和资源等多组 jQuery Ajax。
|
||
- 用户确认生产 `0.5.156` 没有该阻断。ZIP 差分确认 `0.5.156` 已保护 `xiaoshouren`,但数字后缀正则错误使 `ys_danwei1` 等动态应收字段当时未进入保护;应收行是 `0.5.160` 修正保护范围后新暴露的真实迟到变化。随后用户明确接受该范围调整风险并要求恢复旧校验效果,当前结论见上方 `0.5.163` 记录。
|
||
- 真实 frame probe 的第二个离线反馈环证明:三个 lookup 数据均存在、但 `jQuery.active=2` 时,`0.5.161` 仍错误返回 `order_frame_ready`。`0.5.162` 同时在 frame readiness 要求原生 Ajax 归零,并在 `GetProduct` 外层完成后等待页面自身 `ajaxStop`,再应用最终销售人和应收字段;只使用完成事件和失败超时,不使用固定 sleep。
|
||
- 用户提供的服务工作线程状态证明:预检最终表单与其拦截请求的受保护字段 SHA-256 都是 `fe3cfc2e72e0e8fafad548717a71012228d63b5f5a10ee20a5ff526e1f12c8e5`,实时提交的已批准摘要仍是该值,但当前摘要变为 `fa42ee152b1e4d1920d2f5b4329b8dfe1884900a087c932b3dfb8736d05c1276`;前后字段数均为 822。
|
||
- 因字段数相同且预检前后摘要一致,这不是错误基线或表单字段总数变化,而是预检结束到真实提交之间至少一个受保护字段的名称/值投影发生了漂移。`0.5.159` 只持久化聚合摘要,无法从既有日志反推出具体字段。
|
||
- `0.5.160` 仅在 ERP 页面运行内存保存预检受保护字段投影。写前不一致时回执只包含变化字段名、数量、基线可用性和 `values_redacted=true`,不持久化或输出任何字段值,也不放宽阻断条件。
|
||
- 新回归发现动态应收保护规则原先使用双重转义,实际匹配字面 `\\d`,导致 `ys_jine0` 等带数字后缀的真实字段未进入保护投影;已改为数字后缀匹配并由行为测试覆盖。
|
||
- `0.5.162` ZIP 与 19 个活动源码文件逐字节一致,SHA-256 为 `2b257fd61610e8cb6f21c99441b6072246ce06397e2ea05e96488ef414926f12`;定向回归、仓库治理、TypeScript、控制面、legacy 与 build 均通过。生产运行态仍需运维加载该版本后用新任务验证;不重试旧失败任务。
|
||
|
||
## 2026-08-29 — ERP 链路恢复状态残留
|
||
|
||
- 截图中的插件版本、权限、自动化和 ERP 会话均正常;唯一告警来源是持久化 `recovery_status=running`。操作台把 `scheduled/already_running/running` 视为恢复中,并阻断自动与手工插件派发。
|
||
- MV3 服务工作线程可能在恢复写入 `running` 后被中断;内存 Promise 随工作线程消失,但旧实现没有区分“真实活动恢复”和“只剩持久化状态”,普通保活成功也不清除 `recovery_status`,因此告警可永久残留。
|
||
- `0.5.159` 只在内存恢复 Promise 已不存在时把 `running` 归一化为 `interrupted`;真实活动恢复仍保持 `running`。普通只读保活成功且无恢复在途时把恢复状态转为 `idle`,不会重放任何业务任务。
|
||
- 同一真实页面状态函数的反馈环确认:无在途 Promise 时页面恢复“已连接”,有在途 Promise 时继续“已连接,有告警”。
|
||
|
||
## 2026-08-29 — 正式控制面域名插件接入
|
||
|
||
- 扩展 `0.5.157` 的 Popup 与后台业务系统 URL 判定只允许本地 HTTP,Manifest 的控制面 content script 匹配也只有 localhost/127.0.0.1;当前 ZIP 与源码一致,因此刷新或重新加载旧包不能识别 `https://lwlt.nianxx.cn`。
|
||
- `0.5.158` 只把精确 origin `https://lwlt.nianxx.cn` 加入 Popup、后台标签发现、host permission 和 content script;相似域名、子域名及其他 HTTPS 站点仍拒绝注入。ERP origin `https://lwlt.hisy.cc` 未改变。
|
||
- 新 ZIP 19/19 文件与源码逐字节一致,SHA-256 为 `99ba7b29d1d4418cb02fcbb345aeaf8494877dbc397ae8592b4e3fdb68b4cf9d`;`0.5.157` ZIP 和清单快照已日期化归档。
|
||
- 本轮只生成发布物,没有重载用户浏览器中的扩展、部署服务或访问 ERP;运行态仍需用户/运维从 `dist/` 加载 `0.5.158` 后刷新正式操作台。
|
||
|
||
## 2026-08-28 — AgentBus 运行态重连
|
||
|
||
- 用户侧观察到 AgentBus 断线后,服务端健康接口在重启前已短暂恢复为 4/4 ready,说明该现象可能是间歇性连接或页面状态延迟;当时在途 task 与 `accepted/running` attempt 均为 0。
|
||
- 按用户授权重启后,标准运行态为进程组 `66218`、服务 PID `66228`;连续 25 秒 6 次只读采样均保持总连接与 session ready 正常、4/4 渠道 ready。若用户界面仍显示断线,应优先刷新操作台状态,不据此重复派发任务。
|
||
|
||
## 2026-08-28 — 散拼母团“整团游客信息”导出(已完成)
|
||
|
||
- 用户报告的任务已由 `confirmation_export / Program v1.0.5` 正确路由并抽取客户、出发日期、产品;唯一失败是 `export_type=整团游客信息` 未登记,任务保持 `no_plugin_dispatch=true / no_erp_write=true`。
|
||
- 这不是普通文案别名:历史只读 ERP 证据确认“整团游客信息”属于散拼母团,源为 `/System/Business/orders_Visitor.asp?tid=<tid>`;独立团/散拼具体子单“游客名单”源为同一页面的 `?did=<ddid>&tid=<tid>`。二者文件家族相同,但对象范围不同。
|
||
- 已继续复用 `confirmation_export` 和 canonical `visitor-list`,由 `existing_refs.kind` 严格分流;`整团游客信息`固定为 `shared_plan` 且只使用母团 `tid`。母团仅开放单一 `visitor-list`,不能使用`全部`、其他文件类型或任何子单 `did/ddid`。
|
||
- Program parser、双 Schema、平台 validator、operation plan、ERP 唯一解析、页内 exporter、mapping、业务文档及 AgentBus 交付契约已同步。解析态保留母团范围,执行态要求 resolved、母团号/计划号和 `tid`;源 URL 固定为 `orders_Visitor.asp?tid=...`。
|
||
- 普通`游客名单`仍只用于独立团或散拼具体子单并生成 `did+tid`,未因母团能力而扩大范围。混用`整团游客信息/游客名单`或母团请求其他文件会在 ERP 请求前失败关闭。
|
||
- 新基线为扩展 `0.5.157`、Program parser `v1.0.6`、输入契约/DOCX `0.5.123`、五 Skill `0.5.125`;完整静态回归、包/源码比对和 DOCX 12 页渲染均通过。服务与扩展运行态已切换到该基线,但母团真实 ERP 导出路径本轮未获访问授权,仍只具历史只读证据。
|
||
|
||
## 2026-08-28 — 名单导入当前基线
|
||
|
||
- 两类名单导入固定 Program-only:文字定位后等待单个 `.xls/.xlsx`;第一行团信息、第二行 14 列表头,规范化为加密 13 列 canonical TSV,原始工作簿不持久化。
|
||
- 未确认且目标游客位占用时要求覆盖确认;`full_replace + confirmed=true` 后附件指定序号全部强制覆写,同值也写。父表单 ERP 明确成功即完成,不再逐行写后回查。
|
||
- 唯一严格`领队`备注行生成 `passenger_list.leader_contact`,保存前投影到 `jj_lianxiren/jj_dianhua`;多行、缺值或结构不一致均失败关闭。
|
||
- 当前扩展 `0.5.157` 继续包含 `0.5.156` 引入的游客位容量业务提示;原始技术 blocker 只留技术详情。用户另行授权后,扩展与 8786 服务均已重载/重启到当前版本。
|
||
|
||
## 当前解析、执行与发布边界
|
||
|
||
- 18 项机器路由、任务级 AI/Shadow/Auto/Program 快照和组织全自动化对手工与 AgentBus 新任务统一生效;两类名单 route 固定 Program-only。
|
||
- 当前 Program parser 基线为 `ltjt-program-parser-v1.0.6`,输入契约为 `business-input-templates-0.5.123`;五个 Skill 为 `0.5.125`,Agent Prompt 为 `ltjt-agent-prompt-v1.8-independent-headcount-categories`。
|
||
- 生命周期执行仍要求唯一对象、页面身份、ownership、写前投影、明确服务端响应与 action-specific 完成凭据;未知或不确定写入不得自动重试。
|
||
- `confirmation_export` 是只读 ERP 源导出:游客源归档原始 `.xls` 并生成真实 `.xlsx` 供 AgentBus/微信;其他类型转 PDF,失败回退源文件;不定时、不外发、不重保存订单。
|
||
- 真实 ERP 访问或写入、任务 mutation、部署、外部发送及后续运行态变更仍需用户另行明确授权。本轮用户在源码与发布物变更后,又单独授权了当前版本的服务重启和扩展重载;未授权 ERP 业务页访问。
|
||
|
||
## 历史与归档
|
||
|
||
- 本次压缩前完整 findings 已按相同 SHA-256 `17e5c316e5f9e18f4b56374d2e1dba75c03e346396e3f63bdf78cdd4df3fcf84` 冻结到 [2026-08-28 findings 快照](archive/project-history/2026-08-28/findings-pre-compression-shared-plan-visitor-export.md)。
|
||
- 先前完整研究、真实只读证据和发布过程见 `archive/project-history/`、`archive/research/` 与 `archive/evidence/`;归档只供追溯,不反向定义当前规则。
|
||
- 当前业务规则以活动源码、Schema、mapping、Skill、业务登记和 `dist/release-manifest.json` 为准。
|