docs: migrate project memory governance
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
# 2026-08-28 项目历史
|
||||
|
||||
本目录保存超过活动文件大小边界后冻结的完整规划快照,只供追溯,不定义当前规则。
|
||||
本目录保存达到或接近活动文件大小边界时冻结的完整规划快照,只供追溯,不定义当前规则。
|
||||
|
||||
- [名单覆盖行修复完成后的完整计划](task_plan-pre-compression-roster-name-overwrite.md):压缩根 `task_plan.md` 前的原始全文。
|
||||
- [名单确认覆盖强制覆写实施中的完整计划](task_plan-pre-compression-confirmed-overwrite.md):`0.5.155` 发布门禁前再次压缩根 `task_plan.md` 的原始全文;SHA-256 `fdbf8ec09055be34daac5a13b52890020c3f7c833f0d03a4f3a612ae44fc88d3`。
|
||||
- [整团游客信息接入前的完整 findings](findings-pre-compression-shared-plan-visitor-export.md):压缩根 `findings.md` 前的原始全文;SHA-256 `17e5c316e5f9e18f4b56374d2e1dba75c03e346396e3f63bdf78cdd4df3fcf84`。
|
||||
- [整团游客信息接入前的完整 progress](progress-pre-compression-shared-plan-visitor-export.md):压缩根 `progress.md` 前的原始全文;SHA-256 `6e6c01b01a7fd294855edc1dcdf797c6ec0513f8b5e131f204660420341bd768`。
|
||||
- [AgentBus 重连后的完整计划](task_plan-pre-compression-agentbus-reconnect.md):根 `task_plan.md` 达到 15,640 字节、距 16 KiB 上限仅余 744 字节时主动轮转的原始全文;SHA-256 `e8e288166f3bf4ad848fb37b985651320e9a9d3213b091fdcd2d13153d7d86ee`。
|
||||
- [退役时的最终 task plan](legacy-planning-with-files-task-plan-final.md):切换到 `.project-docs/` 前根 `task_plan.md` 的最终全文;SHA-256 `22a4dd9d9ecf4883135c798fabde0f90656cab07bff5cf417d29d9edf1bddce0`。
|
||||
- [退役时的最终 findings](legacy-planning-with-files-findings-final.md):切换到 `.project-docs/` 前根 `findings.md` 的最终全文;SHA-256 `e4c0515b2147f27bcd4db88ecf0d4658f05dc850ee29f07cdad62b5100011e6e`。
|
||||
- [退役时的最终 progress](legacy-planning-with-files-progress-final.md):切换到 `.project-docs/` 前根 `progress.md` 的最终全文;SHA-256 `78ea11b52ac094b0dde0188a8c6018e6aae966717e6a2f7b6e288ac6acd83d86`。
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# 当前关键发现
|
||||
|
||||
## 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` 为准。
|
||||
@@ -0,0 +1,54 @@
|
||||
# 项目进度
|
||||
|
||||
## 2026-08-28 — Planning with Files 主动轮转(已完成)
|
||||
|
||||
- `task_plan.md` 处理前为 15,640 字节,占 16 KiB 上限的 95.5%;`findings.md` 与 `progress.md` 均远低于各自 32 KiB 上限,因此本轮只轮转活动计划。
|
||||
- 原计划已完整冻结到 [AgentBus 重连后计划快照](archive/project-history/2026-08-28/task_plan-pre-compression-agentbus-reconnect.md),SHA-256 `e8e288166f3bf4ad848fb37b985651320e9a9d3213b091fdcd2d13153d7d86ee`,并与压缩前活动文件逐字节一致。
|
||||
- 活动计划已语义压缩为当前治理任务、最近有效里程碑、相邻待处理项和持续边界;业务源码、契约、Skill、发布物与运行态均未改变。
|
||||
- 归档索引已更新;规定门禁通过:仓库治理 9/9、TypeScript、控制面 127/127、legacy 248/248、build,且大小、快照哈希与 `git diff --check` 均通过。
|
||||
|
||||
## 2026-08-28 — AgentBus 断线后重启(已完成)
|
||||
|
||||
- 用户明确授权重启控制面;预检确认在途 task 与 `accepted/running` attempt 均为 0。旧进程组 `62152` 退出后,运行会话管理器自动从标准入口拉起新进程组 `66218`、服务 PID `66228`,8786 只有一个监听。
|
||||
- 新实例 live/ready、数据库、Schema、迁移 014 正常;连续 25 秒 6 次采样均保持 AgentBus connected、session ready 和 4/4 渠道 ready。
|
||||
- 未创建或变更任务,未重载扩展,未访问或写入 ERP,未部署或外发。
|
||||
- 重启后门禁通过:仓库治理 9/9、TypeScript、控制面 127/127、legacy 248/248、build 与 diff 检查。
|
||||
|
||||
## 2026-08-28 — 新版运行态切换(已完成)
|
||||
|
||||
- 用户明确授权后,旧 8786 进程组已优雅停止;标准 `pnpm run dev` 新进程组 `62152`、服务 PID `62164` 成为唯一监听。live/ready、数据库、Schema、迁移 014 与 4/4 AgentBus 渠道均正常。
|
||||
- 已通过操作台只读 API 确认 `confirmation_export` 使用 Program parser `v1.0.6` 与输入契约 `0.5.123`;在途 task、`accepted/running` attempt 及活动任务均为 0。
|
||||
- 已重载本地“联泰下单助手”,握手为插件 `0.5.157` / 最低版本 `0.5.157` / 兼容;桥接已连接、ERP 会话正常、最近错误为无。诊断字段“ERP 链路恢复”仍为 `failed`,未访问 ERP 业务页扩大复测范围。
|
||||
- 本次仅切换运行态并做只读健康/版本检查;未创建或变更任务,未访问 ERP 业务数据、执行 ERP 写入、部署或外发。
|
||||
|
||||
## 2026-08-28 — 散拼母团“整团游客信息”导出(已完成)
|
||||
|
||||
- 已按项目治理规则恢复 README、task plan、findings、progress 和工作区状态,并通过业务登记定位到 `confirmation_export`、`lwlt-confirmation`、双 Schema、mapping、Program parser、平台 validator 与 Chrome 导出适配器。
|
||||
- 已用报告同形输入离线复现:`整团游客信息` 返回 `program_invalid_value`;`游客信息`和`游客名单`均解析为 `visitor-list`。报告任务没有插件派发或 ERP 写入。
|
||||
- 历史只读 ERP 证据确认:散拼母团整团游客源为 `orders_Visitor.asp?tid`;独立团/散拼具体子单游客名单为 `orders_Visitor.asp?did&tid`。当前活动源码只支持后者并明确禁止母团。
|
||||
- 用户已授权增加该能力。设计收敛为同一 `confirmation_export` action、同一 canonical `visitor-list`、按 `existing_refs.kind` 做严格范围分流;母团只开放此单一文件类型。
|
||||
- 已启用 Planning with Files、Skill Creator 和 Documents 工作流;未创建子智能体。由于 findings/progress 接近治理上限,已先逐字节冻结完整快照,再压缩活动摘要。
|
||||
- 已补四组失败回归并取得预期红灯:Program 语义、Agent/执行契约、operation plan 参数和页内导出源都准确暴露当前缺口;测试基础设施正常。
|
||||
- 已完成核心实现并让同一四组回归转绿:`整团游客信息`生成 `shared_plan + visitor-list`;Agent/执行 gate 拒绝母团其他类型和子单 ddid;operation plan 与页内 exporter 对母团使用 tid-only,现有子单/独立团路径保持 did+tid。
|
||||
- 已同步双 Schema、mapping、平台最低版本、运营模板、`lwlt-confirmation`、业务/风险/证据登记和 AgentBus 回执边界;Program parser 升为 `v1.0.6`。
|
||||
- 已发布扩展 `0.5.157`、五 Skill `0.5.125` 和运营 DOCX `0.5.123`。扩展/Skill 包逐文件匹配源码,DOCX 12/12 页无方框字、截断或重叠;旧制品及 `0.5.156` 清单已日期化归档。
|
||||
- 全量门禁通过:仓库治理 9/9、TypeScript、控制面 127/127、legacy 248/248、build,以及 JS/JSON/ZIP/Skill、DOCX、哈希和 diff 检查。
|
||||
|
||||
## 最近有效发布基线
|
||||
|
||||
- Chrome 扩展 `0.5.157`:新增散拼母团整团游客 `shared_plan + visitor-list + tid-only` 窄导出;ZIP SHA-256 为 `872640668c52cf1ef0135ff51ec33e3c1f5dee304434fbb58ceee4cb3518fcd7`。
|
||||
- Program parser `v1.0.6`、工作簿规范化器 `v1.1.0`、生命周期契约 `v2.9`、五 Skill `0.5.125`、运营 DOCX `0.5.123`。
|
||||
- 名单确认覆盖规则:未确认的占用位要求确认;确认后所有附件指定序号都覆写,同值也写;父表单明确成功即完成。
|
||||
- 8786 与 Chrome 扩展当前均已切换到本次发布基线:Program parser `v1.0.6`、输入契约 `0.5.123`、扩展 `0.5.157`,且操作台版本握手兼容。
|
||||
|
||||
## 本轮安全边界
|
||||
|
||||
- 不访问或写入 ERP,不查看或输出 `.env` 内容,不创建、补充、确认、重试、删除或派发真实任务。
|
||||
- 用户已另行明确授权当前版本的 Chrome 扩展重载和 8786 重启;除此之外不部署、不调用外部 Agent/AI、不发送文件。
|
||||
- 运行态切换仅包含进程/扩展重载与只读健康、版本检查;真实 ERP 路径验证仍需另行授权。
|
||||
|
||||
## 错误与治理记录
|
||||
|
||||
- 预期红灯、旧版本断言、缺少 bundled `PyYAML` 及非登录 shell 缺少 bundled Node PATH 的启动/门禁命令均已记录在 `task_plan.md` 并修复;最终规定门禁全绿。
|
||||
- 压缩前完整 progress 已按相同 SHA-256 `6e6c01b01a7fd294855edc1dcdf797c6ec0513f8b5e131f204660420341bd768` 冻结到 [2026-08-28 progress 快照](archive/project-history/2026-08-28/progress-pre-compression-shared-plan-visitor-export.md)。
|
||||
- 更早完整过程见 `archive/project-history/`;归档只供追溯,不定义当前规则。
|
||||
@@ -0,0 +1,50 @@
|
||||
# 项目文件治理计划
|
||||
|
||||
## 当前任务:收敛 Planning with Files 大小(已完成)
|
||||
|
||||
- **目标:** 在根 `task_plan.md` 达到治理上限前完成可恢复轮转,使活动计划重新只保留当前目标、有效决策、待处理项和安全边界。
|
||||
- **触发原因:** 处理前 `task_plan.md` 为 15,640 字节,占 16 KiB 上限的 95.5%,尚未超限但只剩 744 字节;`findings.md` 与 `progress.md` 均远低于各自 32 KiB 上限。
|
||||
- **安全边界:** 只调整 Planning with Files 与对应历史索引;不修改业务源码、Schema、mapping、Skill 或发布物,不访问 ERP,不变更任务或服务运行态,不部署或外发。
|
||||
|
||||
### 阶段
|
||||
|
||||
- [x] 恢复 README、三份 Planning with Files、工作区状态和业务登记,确认这是跨业务文件治理。
|
||||
- [x] 在修改活动计划前,将原文完整冻结到日期化历史目录并完成 SHA-256、逐字节一致性校验。
|
||||
- [x] 语义压缩活动 `task_plan.md`,保留当前任务、最近有效里程碑、相邻待处理项和持续边界。
|
||||
- [x] 更新归档索引与 `progress.md`,运行规定的五道门禁及 diff/大小检查。
|
||||
|
||||
### 已确定的治理决策
|
||||
|
||||
- 本轮只压缩接近上限的 `task_plan.md`;处理前 `findings.md` 为 4,885 字节、`progress.md` 为 5,487 字节,无需无意义轮转。
|
||||
- 压缩前原文已冻结到 [AgentBus 重连后完整计划](archive/project-history/2026-08-28/task_plan-pre-compression-agentbus-reconnect.md),SHA-256 为 `e8e288166f3bf4ad848fb37b985651320e9a9d3213b091fdcd2d13153d7d86ee`,与原活动文件逐字节一致。
|
||||
- 归档只供追溯,不反向定义当前规则;活动事实继续以源码、契约、业务登记、`findings.md`、`progress.md` 和发布清单为准。
|
||||
|
||||
## 最近有效里程碑
|
||||
|
||||
- 当前发布基线为 Chrome 扩展 `0.5.157`、Program parser `v1.0.6`、输入契约/DOCX `0.5.123`、五个业务 Skill `0.5.125`;版本、文件名和哈希只以 [发布清单](dist/release-manifest.json) 为准。
|
||||
- `confirmation_export` 已接入散拼母团“整团游客信息”:固定 `shared_plan + visitor-list`,只允许 `orders_Visitor.asp?tid=<tid>`;独立团/散拼具体子单“游客名单”继续使用 `did+tid`,范围不得混用。
|
||||
- `passenger_list_import` 固定 Program-only;未确认的占用游客位要求覆盖确认,确认后附件指定序号全部覆写,同值也写;ERP 原生游客位不足时在保存前返回名单人数与可录入上限。
|
||||
- 名单唯一严格“领队”行投影为父表单联系人;父表单 ERP 明确成功即完成名单任务,不执行写后逐行名单回查,其他生命周期 action 仍要求 action-specific 完成凭据。
|
||||
- 8786 控制面和本地 Chrome 扩展已切换到上述基线;最近一次授权重启后,数据库、Schema、迁移 014 和 AgentBus 4/4 渠道连续采样正常。
|
||||
|
||||
## 相邻待处理项
|
||||
|
||||
- 散拼母团整团游客 `tid-only` 新分支仍需另行授权后做运行态 ERP 只读复测。
|
||||
- 独立团 SGL/TWN 与成人、占床儿童、不占床儿童、领队人数映射仍需另行授权 ERP 实写复测。
|
||||
- AgentBus OSS 附件曾因本机 DNS 返回私网/保留地址而被 SSRF 门禁拒绝;后续应采用受控公有 DNS 或主机白名单回退,不能全局放宽私网阻断。
|
||||
|
||||
## 错误记录
|
||||
|
||||
- 本轮尚无文件处理或校验错误。
|
||||
|
||||
## 完成结论
|
||||
|
||||
- 活动 `task_plan.md` 已从 15,640 字节压缩到远低于 16 KiB 的安全区间;完整原文、哈希和归档索引均已保留。
|
||||
- 规定门禁通过:仓库治理 9/9、TypeScript、控制面 127/127、legacy 248/248、build;`git diff --check` 通过。
|
||||
- 本轮仅修改三份治理记录:活动计划、项目进度和同日归档索引,并新增一个完整计划快照;没有业务、发布物或运行态变更。
|
||||
|
||||
## 历史与持续边界
|
||||
|
||||
- 本轮压缩前完整计划见 [2026-08-28 快照](archive/project-history/2026-08-28/task_plan-pre-compression-agentbus-reconnect.md);更早快照见同目录 README 和 `archive/project-history/`。
|
||||
- 详细业务发现与运行结果分别见 [findings.md](findings.md) 和 [progress.md](progress.md),避免在计划中重复堆叠已完成过程。
|
||||
- 真实 ERP 访问或写入、任务 mutation、扩展重载、服务重启、部署和外部发送仍需用户另行明确授权。
|
||||
@@ -0,0 +1,153 @@
|
||||
# 项目文件治理计划
|
||||
|
||||
## 当前任务:重启控制面并恢复 AgentBus 连接(已完成)
|
||||
|
||||
- **目标:** 按用户明确授权,优雅重启标准 8786 控制面,使刚出现断线的 AgentBus 渠道重新建立会话并通过稳定性复核。
|
||||
- **安全边界:** 仅重启控制面并做只读进程、健康、数据库和 AgentBus 状态检查;不重载扩展,不创建、确认、重试或派发任务,不访问或写入 ERP,不部署或外发。
|
||||
|
||||
### 阶段
|
||||
|
||||
- [x] 确认唯一监听、live/ready 当前状态,并确认在途 task 与 `accepted/running` attempt 均为 0。
|
||||
- [x] 优雅停止当前进程组,并从标准 `pnpm run dev` 入口恢复唯一服务实例。
|
||||
- [x] 核验数据库、Schema、迁移与 4/4 AgentBus 渠道重连,并观察连接状态保持稳定。
|
||||
|
||||
### 完成结论
|
||||
|
||||
- 重启前服务端健康接口已显示 4/4 渠道重新连接,但用户侧刚观察到断线;在途 task 与 `accepted/running` attempt 均为 0,因此仍按授权执行干净重启。
|
||||
- 旧进程组 `62152` 已退出;运行会话管理器随即从标准 `pnpm run dev` 入口拉起新进程组 `66218`、服务 PID `66228`,没有再启动第二份实例,8786 保持唯一监听。
|
||||
- 新实例 live/ready、数据库、Schema、迁移 `014_task_input_attachments` 均正常;连续 25 秒共 6 次采样均为 AgentBus 总连接与 session ready 正常、4/4 渠道 ready。
|
||||
- 未创建、确认、重试或派发任务,未重载扩展,未访问或写入 ERP,未部署或外发。
|
||||
- 重启后门禁通过:仓库治理 9/9、TypeScript、控制面 127/127、legacy 248/248、build 与 `git diff --check`。
|
||||
|
||||
### 错误记录
|
||||
|
||||
- 首批并行门禁附带的一次 `/tmp` 临时健康文件清理被安全策略拒绝,导致该批结果未汇总;该操作与服务、数据库和 AgentBus 无关。跳过清理后完整门禁已重新运行并全部通过。
|
||||
|
||||
## 当前任务:将运行态切换到整团游客信息新版(已完成)
|
||||
|
||||
- **目标:** 按用户明确授权,优雅重启标准 8786 控制面并重载本地 Chrome 扩展,使 Program parser `v1.0.6`、输入契约 `0.5.123` 与扩展 `0.5.157` 在运行态生效。
|
||||
- **安全边界:** 仅做进程/扩展运行态切换和只读健康、版本检查;不创建、确认、重试或派发任务,不访问 ERP 业务数据,不执行 ERP 写入、部署或外发。
|
||||
|
||||
### 阶段
|
||||
|
||||
- [x] 确认 8786 live/ready、数据库/Schema/迁移与 4/4 AgentBus 渠道正常,并确认活动任务和 `accepted/running` 在途 attempt 均为 0。
|
||||
- [x] 优雅停止旧进程组并从项目标准 `pnpm run dev` 入口启动新控制面。
|
||||
- [x] 核验 live/ready、唯一监听、解析器/输入契约版本,并重载扩展后确认 `0.5.157` 握手。
|
||||
|
||||
### 错误记录
|
||||
|
||||
- 旧监听停止后首次启动命令未显式传入 bundled Node PATH,`pnpm` 在运行迁移前即因 `node: command not found` 退出;没有数据库或任务变更。已改为在启动进程环境中显式设置 bundled Node/fallback PATH。
|
||||
- 旧标准入口在 TERM 后由其会话管理器自动拉起新进程组 `62152`;因此第二次手工启动完成迁移检查后在绑定前以 `EADDRINUSE` 安全退出。该临时实例的 AgentBus listeners 已自行关闭,in-flight tasks 与 pending replies 均为 0;保留自动拉起的新实例作为唯一标准运行态。
|
||||
- 收敛记录后的首轮五道门禁由 bundled Node 主进程启动,但其子脚本 PATH 中没有 `node`,所以均在进入检查/测试前退出;显式加入同一 bundled Node 目录后原样重跑并全部通过。
|
||||
|
||||
### 完成结论
|
||||
|
||||
- 标准 `pnpm run dev` 进程组 `62152`、服务 PID `62164` 是 8786 的唯一监听;live/ready、数据库、Schema、迁移 `014_task_input_attachments` 与 4/4 AgentBus 渠道均正常。
|
||||
- 已通过已登录操作台的只读 API 确认 `confirmation_export` 运行在 `program` 模式,版本为 `ltjt-program-parser-v1.0.6`,输入契约为 `business-input-templates-0.5.123`。
|
||||
- 已重载精确匹配的本地“联泰下单助手”扩展;操作台握手为插件 `0.5.157` / 最低版本 `0.5.157` / 兼容,桥接已连接、ERP 会话正常、最近错误为无。诊断字段“ERP 链路恢复”仍显示 `failed`,本轮未扩大授权去访问 ERP 业务页复测。
|
||||
- 切换前后活动任务、在途 task 与 `accepted/running` attempt 均为 0;未创建、补充、确认、重试、删除或派发任务,未访问 ERP 业务数据、执行 ERP 写入、部署或外发。
|
||||
- 运行态切换后规定门禁再次通过:仓库治理 9/9、TypeScript、控制面 127/127、legacy 248/248、build 与 `git diff --check`。
|
||||
|
||||
## 当前任务:散拼母团“整团游客信息”导出接入(已完成)
|
||||
|
||||
- **目标:** 保留统一 `confirmation_export` action,在 `文件类型:整团游客信息` 时明确锁定 `shared_plan`,只用母团 `tid` 调用 `orders_Visitor.asp`;现有独立团和散拼具体子单“游客名单”继续使用 `did+tid`,不得混淆范围。
|
||||
- **安全边界:** 本轮只修改源码、契约、测试和本地发布物;不访问 ERP,不创建、补充、重试或派发真实任务,不重载扩展、重启、部署或外发。
|
||||
|
||||
### 阶段
|
||||
|
||||
- [x] 先补解析、Schema、执行计划和页内导出的失败回归,固定母团 `tid-only` 与子单/独立团 `did+tid` 的分流。
|
||||
- [x] 修改 Program parser、解析态/执行态契约、ERP 唯一解析与导出适配器,并保持母团只允许该窄文件类型。
|
||||
- [x] 同步运营模板、`lwlt-confirmation` Skill、业务登记、mapping、平台校验与版本。
|
||||
- [x] 重建运营 DOCX、Skill 包、Chrome ZIP 和发布清单,逐文件/逐页核验。
|
||||
- [x] 运行规定全量门禁并收敛 planning files;运行态切换仍等待另行授权。
|
||||
|
||||
### 已确定的设计
|
||||
|
||||
- 历史只读 ERP 证据确认两者共用 `/System/Business/orders_Visitor.asp`,但散拼母团使用 `tid`,独立团/散拼子单使用 `did+tid`。
|
||||
- 不新增业务 action;用 `existing_refs.kind` 表达对象范围。`shared_plan` 只对单一 `visitor-list` 开放,不把“全部”或依赖子单 `did` 的其他文件类型放宽到母团。
|
||||
- 当前 `program_invalid_value` 属于安全停止,但用户提示应由“不识别文件类型”改为可执行的窄能力或真正的对象定位问题。
|
||||
|
||||
### 错误记录
|
||||
|
||||
- 测试先行阶段的四组定向回归均按预期红灯:Program 仍返回 `agent_parse_needs_input`;Agent/插件 strict gate 仍拒绝 `shared_plan`;执行计划仍固定 `did+tid`;页内 exporter 尚无母团分支。这些红灯证明缺口完整覆盖,不属于环境或测试基础设施故障。
|
||||
- 核心实现后四组回归中仅一条旧测试仍要求 blocker 包含“母团”;新规则已不再一概禁止母团,但该无类型、未唯一解析的请求仍安全阻断。测试已改为断言真实缺失项,并补充对象范围契约断言。
|
||||
- bundled Python 运行官方 Skill 校验器时缺少 `PyYAML`,在生成任何新包前即停止;本机 Python 已确认具备 `PyYAML 6.0.3`,后续用它运行同一个官方校验器。
|
||||
- 首次组合定向命令有两项非行为性失败:直接用 Node 执行 TypeScript 测试未加载 `tsx`,以及 lifecycle 中另一个旧位置仍断言平台最低版本 `0.5.156`。前者改用项目规定的 `--import tsx`,后者同步为 `0.5.157`。
|
||||
- 首次 `check:repo` 为 8/9;唯一失败是治理测试仍固定运营模板版本 `0.5.122`。已同步为新 DOCX 单一源基线 `0.5.123`,其余目录、哈希、包/源码和链接检查均已通过。
|
||||
- 首次 `test:control-plane` 为 126/127;唯一失败是操作台测试仍固定旧 `app.js` 缓存键。已同步为 `20260828-shared-plan-visitor-export-1`;全部业务/解析测试(含新增整团游客信息用例)本轮均已通过。
|
||||
- 最后一组补充语法检查首次未显式带 bundled Node PATH,因当前非登录 shell 找不到 `node` 而未启动;随后改用 bundled Node 绝对路径重跑,不影响已通过的五道规定门禁。
|
||||
|
||||
### 完成结论
|
||||
|
||||
- `整团游客信息`现在确定性解析为 `confirmation_export / shared_plan / visitor-list`;母团唯一解析后只生成 `orders_Visitor.asp?tid=<tid>`,且解析态、执行态、插件门禁和页内 exporter 都拒绝其他类型、混合范围及任何子单 `did/ddid`。普通“游客名单”的独立团/具体子单 `did+tid` 路径未改变。
|
||||
- 发布基线已推进为扩展 `0.5.157`、Program parser `v1.0.6`、输入契约/DOCX `0.5.123`、五 Skill `0.5.125`。扩展 ZIP SHA-256 为 `872640668c52cf1ef0135ff51ec33e3c1f5dee304434fbb58ceee4cb3518fcd7`;DOCX 12/12 页视觉检查通过,Skill 与扩展包均逐文件匹配源码。
|
||||
- 门禁通过:仓库治理 9/9、TypeScript、控制面 127/127、legacy 248/248、build、JS/JSON/ZIP/Skill、DOCX 与 `git diff --check`。该任务完成时未访问 ERP、处理历史任务、重载扩展、重启服务、部署或外发;后续运行态切换已按用户另行授权完成,见本文件顶部任务。
|
||||
|
||||
## 当前任务:名单人数超过 ERP 容量时使用业务提示(已完成)
|
||||
|
||||
- **目标:** `passenger_list_import` 在 ERP 原生游客位少于名单所需人数时,不再向用户显示 `passenger_native_*` 等技术码;明确提示本次名单人数和该订单的 ERP 可录入上限。
|
||||
- **安全边界:** 原技术 blocker 继续保留在技术详情中;仍在父表单保存前失败关闭并保持 `no_erp_write=true`。不修改或重试历史任务,不访问 ERP,不重载扩展、重启或部署。
|
||||
|
||||
### 阶段
|
||||
|
||||
- [x] 先补回归,固定“16 个游客位 / 25 人名单”的业务错误码、中文提示和技术详情保留规则。
|
||||
- [x] 修改插件错误映射,并同步版本、平台最低版本、mapping、业务登记与发布门槛。
|
||||
- [x] 生成版本化 ZIP、更新发布清单并运行规定全量门禁。
|
||||
|
||||
### 错误记录
|
||||
|
||||
- 新回归先按预期红灯,证明旧后台没有容量业务映射;实现后转绿。一次组合门禁因 PATH 只作用于首条命令而未启动后续 Node,改为在受控 shell 内导出 bundled Node PATH 后完整通过。
|
||||
|
||||
### 完成结论
|
||||
|
||||
- `passenger_native_target_row_count_not_reached:16:25` 及 DOM 同类码现在归并为 `erp_passenger_count_limit_exceeded`,用户看到“本次名单共 25 人,超过该独立团在 ERP 中最多可录入的 16 人”;原始 blocker 仍在技术详情。
|
||||
- 容量失败仍发生在父表单保存前,保持 `no_erp_write=true`。扩展、平台最低版本和 mapping 已推进到 `0.5.156`;新 ZIP SHA-256 为 `9a0d4941728a49a40a8734c560b4dfcb3f5026756ffb46af3f32f38fbbac652a`,旧 `0.5.155` ZIP/清单已归档。
|
||||
- 门禁通过:仓库治理 9/9、TypeScript、控制面 126/126、legacy 246/246、build、JS/JSON/ZIP 与 diff 检查。未处理历史任务、访问 ERP、重载扩展、重启或部署。
|
||||
|
||||
## 当前任务:名单覆盖确认后始终覆写(已完成)
|
||||
|
||||
- **目标:** `passenger_list_import` 收到 `full_replace + confirmed=true` 后,不再根据 ERP 当前游客值判定“无变化”;附件中所有指定序号都执行原生覆写和父表单保存,ERP 明确成功即完成。
|
||||
- **安全边界:** 未确认时,任一目标序号已占用(包括同值)仍要求覆盖确认;继续保留附件/Program-only、唯一对象、结构、游客与领队写前投影及 ERP 明确成功响应门禁。不处理历史任务,不访问 ERP,不重载扩展或重启服务。
|
||||
|
||||
### 阶段
|
||||
|
||||
- [x] 先补失败回归:确认覆盖的同值行必须进入 changed/write 集合;未确认的同值占用行仍要求确认。
|
||||
- [x] 修改合并计划、版本和业务契约,确认覆盖不再产生 `passenger_import_no_changes`。
|
||||
- [x] 扩展、平台最低版本和 mapping 推进到 `0.5.155`;旧 `0.5.154` ZIP/清单已归档,新 ZIP 已生成。
|
||||
- [x] 运行规定全量门禁并收敛发布 SHA、进度和完成结论。
|
||||
|
||||
### 错误记录
|
||||
|
||||
- 首次补充“未确认同值占用行”回归时,一个多文件补丁因上下文未精确命中而整体未应用;拆成精确小补丁后完成,没有产生部分修改。
|
||||
- 首轮 `check:repo` 发现根 `task_plan.md` 为 17304 字节,超过 16 KiB。已先完整冻结到 [2026-08-28 计划快照](archive/project-history/2026-08-28/task_plan-pre-compression-confirmed-overwrite.md),再语义压缩本文件;历史未丢失。
|
||||
|
||||
### 完成结论
|
||||
|
||||
- 合并计划先区分授权而非“值是否相同”:未确认且目标序号已占用时统一要求覆盖确认;`full_replace + confirmed=true` 后,全部附件指定序号都进入 changed/write 集合,同值也执行 `DaoRuDones`、写前完整投影和父表单保存。
|
||||
- 父表单 ERP 明确成功即完成,仍不执行写后逐行名单回查;其他 lifecycle action 的回查规则未改变。
|
||||
- 当前扩展为 `0.5.155`,ZIP SHA-256 为 `3159e6700fcb9aea6d18099c5c84bccf2578de6bceaf3b7e2f369ec44ff66574`;`0.5.154` ZIP 与清单已日期化归档。
|
||||
- 门禁通过:仓库治理 9/9、TypeScript、控制面 125/125、legacy 245/245、build、JS/JSON/ZIP 与 `git diff --check`。未处理历史任务、访问 ERP、重载扩展、重启或部署。
|
||||
|
||||
## 最近完成:名单明确成功响应终结与 8786 重启
|
||||
|
||||
- `passenger_list_import` 在全部写前门禁通过后,只调用一次父表单原生保存;ERP 明确成功即生成 `passenger_list_explicit_server_success` 完成凭据,不执行写后逐行回查或自动名单对账。
|
||||
- 控制面只对名单 action 接受上述专用凭据,其他 lifecycle action 仍要求真实 fresh requery。
|
||||
- 用户授权后,旧 8786 进程组 `13643` 已优雅退出;新标准入口进程组 `29571`、服务 PID `29588` 成为唯一监听,live/ready、数据库、Schema、迁移 014 与 4/4 AgentBus 渠道正常。
|
||||
- 该次运行态仍是 `0.5.154` 最低版本;本次 `0.5.155` 尚未重载扩展或重启服务。
|
||||
|
||||
## 最近有效里程碑
|
||||
|
||||
- 两类名单业务固定为 Program-only:先以文字识别业务并等待单个 `.xls/.xlsx`,附件到齐后才解析;第一行忽略、第二行固定 14 列表头,规范化为 13 列 canonical TSV。
|
||||
- 独立团 16 行、散拼子单 31 行只是初始合并基线,5000 行是技术上限;未指定行保留,已占用目标行需要覆盖确认。
|
||||
- 唯一严格`领队`备注行生成 `passenger_list.leader_contact`,并在父表单保存前投影到 `jj_lianxiren/jj_dianhua`;多行、缺姓名/电话或结构不一致均失败关闭。
|
||||
- 当前运营模板单一源为 `agent设计规范/templates/business-input-templates.md`;运营 DOCX、五 Skill 及其发布物保持各自现有基线,本次只改变 Chrome 执行策略。
|
||||
|
||||
## 相邻待处理项
|
||||
|
||||
- AgentBus OSS 附件曾因本机 DNS 返回私网/保留地址而被 SSRF 门禁拒绝;与本次平台手工附件和名单覆写规则独立。后续若处理,应采用受控公有 DNS/主机白名单回退,不能全局放宽私网阻断。
|
||||
|
||||
## 历史与持续边界
|
||||
|
||||
- 本次压缩前完整计划见 [2026-08-28 快照](archive/project-history/2026-08-28/task_plan-pre-compression-confirmed-overwrite.md);更早快照见同目录 README 和 `archive/project-history/`,均只供追溯,不定义当前规则。
|
||||
- 当前发布版本、文件名和 SHA-256 只以 [发布清单](dist/release-manifest.json) 为准。
|
||||
- 真实 ERP 写入、任务 mutation、扩展重载、服务重启、部署和外部发送仍需用户另行明确授权。
|
||||
Reference in New Issue
Block a user