docs/任务/202607/0717-员工修改密码/00-需求与验收.md
@@ -2,7 +2,7 @@ - 需求版本:v0.3-MVP(Owner冻结) - 产品原则:先落地基本需求,再分段迭代完善;首版只解决员工不能自行修改本人密码的问题,以可用闭环和交付效率优先,避免小题大做 - 当前状态:MVP产品决策、Gate N、Gate R、一次独立Gate C和隔离环境最小Gate A均已PASS;第一阶段本地/隔离验收完成,Gate D/P和部署均未开始 - 当前状态:v0.3-MVP Gate N/R/C、本机部署、前后端Gate D、隔离与真实浏览器Gate A及本地范围Gate P均已PASS;当前仅在生成数据回环实例下本地可用,正式线上仍禁止 ## 目标 @@ -19,6 +19,17 @@ - 首版执行路线压缩为:前后端最小实现 → 开发自测 → 一次独立代码审核 → 隔离测试环境验收。 - 提高效率不能突破三条底线:只能修改本人密码、当前密码必须正确、密码不得泄露或在后端离线时假成功。 ## 本机部署与真实浏览器验收追加授权 - 只允许部署到当前Windows本机并绑定`127.0.0.1`,不得监听局域网或公网地址,不得创建开机自启或生产服务。 - 只使用运行时生成的虚构员工、主管和停用账号;不得读取、复制或修改`data/`现有运行数据,不得使用真实凭据或客户数据。 - 部署对象必须保持COLLAB-147审核通过的前后端精确源码不变;如需修改业务代码,立即停止并返回实现与Gate C。 - 运维必须记录脱敏运行ID、本地URL、进程标识、启动/健康结果和停止入口;不得把密码、Token、完整请求响应或原始日志写入协作记录。 - Gate D由前后端开发分别确认目标运行版本、页面资源和API链路;不得由运维或产品代签。 - 真实浏览器Gate A至少覆盖:登录、改密入口、三字段、错误当前密码不成功、正确改密后退出、旧密码登录失败、新密码登录成功、页面无假成功,以及360px布局检查。 - 浏览器验收通过后本地服务继续保持回环运行,直到Owner要求停止;如无法安全保持运行,应回传BLOCKED并关闭进程。 - 正式生产部署仍不在授权范围,`BLOCK-001`至`BLOCK-003`和生产`No-Go`继续有效。 ## MVP用户故事 1. 作为已登录员工,我能找到“修改密码”入口。 docs/任务/202607/0717-员工修改密码/01-计划改动清单.md
@@ -1,7 +1,7 @@ # 计划改动清单 - 对应需求版本:v0.3-MVP(Owner冻结) - 当前阶段:前后端实现/开发自测、一次独立Gate C和QUEUE-043隔离环境最小Gate A均PASS;第一阶段本地/隔离验收完成,未部署线上 - 当前阶段:前后端实现/开发自测、一次独立Gate C、本机部署、前后端Gate D、隔离与真实浏览器Gate A和本地范围Gate P均PASS;本地实例保持运行,正式线上仍禁止 - 原则:先落地基本功能、再分段迭代;只做员工本人修改密码闭环,不在首版重构整套认证体系,不重复评审已经冻结的方案 ## 第一阶段候选改动 @@ -15,6 +15,13 @@ | 主管账号管理 | 保持现有新建账号和重置密码流程 | 前端/后端 | 原功能回归不受影响 | | 最小测试 | 覆盖MVP十项验收标准 | 开发/测试 | 自动化或可复验的最小测试记录 | ## 本机部署与浏览器验收路线 1. 运维在`127.0.0.1`以生成数据启动单进程、单写实例,确认不读取`data/`并提供停止入口。 2. 后端与前端分别对同一运行实例执行Gate D,只确认已审核源码、页面资源和API关键链路,不修改代码。 3. 测试与质量使用真实浏览器执行最小Gate A,覆盖登录、改密、退出、新旧密码重登、错误关闭和360px布局。 4. 产品只在前述结果均PASS后执行本地范围Gate P;任何步骤失败只返回对应责任角色,不扩大范围。 ## Gate R统一冻结清单 Gate R只冻结第一阶段最小实现材料,不把延期安全能力重新并入MVP。以下各项必须有明确结论、责任角色和可复核证据;任一适用项未PASS时不得进入业务实现。 docs/任务/202607/0717-员工修改密码/02-实现与自测记录.md
@@ -1,7 +1,7 @@ # 实现与自测记录 - 当前状态:前端QUEUE-039、后端QUEUE-040开发自测、一次独立Gate C和QUEUE-043隔离环境最小验收均`PASS`;第一阶段本地/隔离里程碑已完成。 - 当前 Gate:Gate N/R/C和隔离环境最小Gate A均`PASS`;Gate D/P均未执行,部署和正式线上授权均未开始。 - 当前 Gate:Gate N/R/C、本机部署、前后端Gate D、隔离与真实浏览器Gate A和本地范围Gate P均`PASS`;正式线上授权仍未开始。 - 已完成:根据Owner“先能用、再逐步好用”的要求,把需求冻结为v0.3-MVP;四项产品决策已经确认,复杂安全与体验能力拆到后续阶段。 - 实现授权:Owner已明确按“先落地基本功能、再分段迭代”推进;本轮冻结代码已经形成,运行账号数据、部署配置、任何环境修改和正式线上部署仍未授权。 - Gate N结果:架构、UI、前端、后端、安全、测试六角色均PASS;前端发现的密码请求边界矛盾已在同一QUEUE-014整改并复评PASS;COLLAB-065完成产品汇总。 docs/任务/202607/0717-员工修改密码/03-验收记录.md
@@ -8,13 +8,23 @@ | Gate N | PASS | COLLAB-20260717-057至061、063六角色均PASS;COLLAB-065产品汇总PASS | | Gate R | PASS | COLLAB-092、095、096关闭复评项;COLLAB-098确认七个专业角色均PASS且R-01至R-11无未决分歧 | | Gate C | PASS | COLLAB-147基于父基线和前后端精确diff完成一次独立审核;语法、16项虚构负向/Unicode/并发/CAS/写失败复算、九码一致性和敏感流均PASS | | Gate D | PENDING | Owner明确第一阶段不部署线上;本轮未形成任何已部署版本,也未代签运行态结论 | | Gate D | PASS | COLLAB-20260718-009、011;后端关键改密链路和前端运行资源分别在同一本机回环实例通过,运行资源与审核源码一致 | | Gate A(隔离环境最小验收) | PASS | COLLAB-149;前端静态契约7项、回环内存API 12项,共19/19通过,短生命周期服务已关闭 | | Gate P | PENDING | 本轮先收口为本地/隔离环境可用;尚未对已部署版本执行正式产品验收 | | Gate A(真实浏览器) | PASS | COLLAB-20260718-013;真实浏览器完成登录、错误关闭、正确改密、退出、新旧密码重登、360px、账号复位和测后存活,控制台阻塞性错误0 | | Gate P(本地范围) | PASS | COLLAB-20260718-015;十项MVP标准全部通过,可标记生成数据回环实例“本地可用”,不构成生产许可 | ## 当前结论 本任务第一阶段已经完成需求冻结、前后端最小实现、开发自测、一次独立Gate C和隔离环境最小Gate A,结论为首版在单进程、单写实例和虚构数据条件下本地可用。当前没有部署版本,Gate D/P和正式线上授权均未开始,因此不能描述为已经上线或生产可用。 本任务第一阶段已经完成需求冻结、前后端最小实现、开发自测、一次独立Gate C、本机部署、前后端Gate D、隔离与真实浏览器Gate A和本地范围Gate P。首版在当前Windows本机、单进程、单写实例、生成数据和`127.0.0.1`回环访问条件下可用;实例继续保持运行。正式线上授权从未开始,因此不能描述为已经上线或生产可用。 ## 本机部署与真实浏览器验收结果 - 部署结果:`COLLAB-20260718-007`为`PASS`;实例为`http://127.0.0.1:64169/`,只绑定回环地址、使用生成数据、阻断仓库`data/`访问,并保留明确停止入口。 - Gate D:后端`COLLAB-20260718-009`与前端`COLLAB-20260718-011`均`PASS`;实际运行资源与审核源码一致,关键API链路、失败关闭、成功204和账号复位均通过。 - 真实浏览器Gate A:`COLLAB-20260718-013`为`PASS`;使用Codex In-app Browser实际完成登录、入口、三字段、错误当前密码、正确改密、成功退出、旧密码失败、新密码成功、360px和控制台检查。 - 复位与安全:生成账号已通过浏览器UI恢复原凭据,临时凭据失效,实例测后存活;未创建截图,未输出密码、Token、账号材料值、完整响应或原始日志。 - 产品结论:`COLLAB-20260718-015`本地范围Gate P为`PASS`;十项MVP标准全部闭环,仅允许描述为“本地可用”。 - 未测与风险:其他浏览器、真实数据、多进程/多实例和生产均未验证;密码哈希、旧认证退役、完整会话撤销、限流和审计继续延期,`BLOCK-001`至`BLOCK-003`及生产`No-Go`继续有效。 ## 隔离环境最小验收结果 @@ -22,7 +32,7 @@ - 实际结果:19/19项通过,其中前端静态契约7项、实际回环内存API 12项。 - 核心闭环:员工仅能修改本人密码;当前密码错误、停用账号、非法字段、离线/未知响应、并发冲突和写入失败均失败关闭;成功仅接受204,随后退出,旧密码失效且新密码可重新登录。 - 兼容结果:主管现有密码重置和停用路径与本人改密共享写入原语,隔离验收通过。 - 边界:没有读取或修改运行数据,没有使用真实账号/客户数据,没有执行部署、真实浏览器E2E、多进程/多实例或生产验证。 - 边界:该轮没有读取或修改运行数据,没有使用真实账号/客户数据;后续已另行完成生成数据本机部署和真实浏览器验收,但多进程/多实例与生产验证仍未执行。 ## MVP需求整改 docs/任务/202607/0717-员工修改密码/04-本轮结论.md
@@ -1,9 +1,12 @@ # 本轮结论 - 当前结论:v0.3-MVP Gate N/R、前后端实现/开发自测、一次独立Gate C和隔离环境最小Gate A均已PASS;第一阶段达到本地/隔离环境可用。 - 当前 Gate:隔离环境最小Gate A `PASS`;Gate D/P未执行。 - 当前结论:v0.3-MVP Gate N/R、前后端实现/开发自测、一次独立Gate C、本机部署、前后端Gate D、隔离与真实浏览器Gate A及本地范围Gate P均已`PASS`;第一阶段可标记为生成数据回环实例“本地可用”。 - 当前 Gate:本地范围Gate P已`PASS`;正式生产Gate、发布和上线均未授权。 - 实际改动:需求已加入“先落地基本功能、再分段迭代、避免过度设计”的交付原则;前端入口/表单/专用请求与后端专用接口/校验/账号锁CAS已经形成精确diff,并通过19/19项隔离验收。 - 未执行:真实浏览器E2E、真实文件持久化、多进程/多实例、部署和Gate D/P。 - 本地部署结果:`PASS`;实例为`http://127.0.0.1:64169/`,只使用生成数据,页面资源哈希与审核源码一致,仓库`data/`访问被阻断,服务保持运行并有明确停止入口。 - Gate D结果:前端运行资源与审核源码字节一致,入口/请求/失败关闭和360px规则通过;后端实际改密、204、错误当前密码、旧新凭据切换、账号复位和测后存活均通过。 - 真实浏览器与产品验收:Codex In-app Browser实际完成登录、错误关闭、正确改密、退出、新旧密码重登、360px、账号复位和控制台检查,Gate A为`PASS`;十项MVP标准产品汇总全部通过,本地范围Gate P为`PASS`。 - 未执行:其他浏览器、真实数据、多进程/多实例、生产部署以及延期的密码哈希、旧认证退役、完整会话撤销、限流和审计。 - 风险:现有密码保存、旧认证机制、运行数据与Git历史风险继续有效;MVP不关闭这些问题。 - Go/No-Go:`No-Go`;第一阶段只允许在隔离测试环境验证,当前正式线上环境明确禁止部署。 - 下一责任人:本轮无需继续专业评审;如Owner后续授权部署,应另立部署范围并由运维、开发、测试和产品依次执行Gate D/A/P,正式线上部署前仍须关闭适用P0风险。 - 下一责任人:项目管理员维护本地实例状态;Owner要求停止时由运维使用已登记停止入口关闭。后续安全与体验能力须另立任务。 docs/任务/202607/0717-员工修改密码/导读.md
@@ -1,10 +1,10 @@ # CRM-20260717-006 员工修改密码导读 - 优先级:P0 - 状态:v0.3-MVP需求不变;Gate N/R/C、前后端实现/开发自测和QUEUE-043隔离环境最小Gate A均已PASS,第一阶段本地/隔离验收完成 - 当前 Gate:隔离环境最小Gate A已PASS;Gate D/P未执行,未部署线上 - 状态:v0.3-MVP需求不变;Gate N/R/C、前后端实现/开发自测、本机部署、前后端Gate D、隔离与真实浏览器Gate A和本地范围Gate P均已PASS;当前生成数据回环实例本地可用 - 当前 Gate:本地范围Gate P PASS;正式线上部署、生产发布和第二/三阶段能力仍禁止或待另立任务 - Owner 方向:先实现员工自主改密的基本功能,再逐步完善安全和体验 - 当前授权:Owner已明确授权按“先落地基本功能、再分段迭代”执行最小实现;只允许冻结范围内的前后端代码与必要实现记录,运行数据、部署配置、运行环境和正式线上部署仍未授权 - 当前授权:Owner已明确授权按“先落地基本功能、再分段迭代”执行最小实现,并授权当前Windows本机的生成数据回环部署与真实浏览器验收;真实运行数据、生产部署和正式线上环境仍未授权 - 关联任务:`CRM-20260717-002`继续负责账号密码轮换与数据治理;不再作为MVP需求文档完成的前置条件,但仍影响正式部署结论 - 统一台账:[统一计划台账](<../../统一计划台账.md>) - 协作事件:[协作事件](<../../协作事件.md>)中的`COLLAB-20260717-027`至`038`、`045`至`046`及`048`起的MVP冻结与复评事件 @@ -19,4 +19,4 @@ ## 下一责任人 本轮无需继续专业评审;后续部署必须另行授权并重新进入部署、Gate D/A/P链路,正式线上部署继续禁止。 CRM-006第一阶段已在本地范围闭环;项目管理员维护回环实例状态,Owner要求停止时由运维关闭。后续密码安全与体验增强另立任务,正式线上部署继续禁止。 docs/任务/202607/0718-旧版可恢复备份/00-需求与验收.md
New file @@ -0,0 +1,56 @@ # 旧版可恢复备份需求与验收 - 需求版本:v0.1(Owner授权) - 任务编号:`CRM-20260718-001` - 背景:架构改版即将开始,必须先保留一份不受后续重构影响、能够恢复和启动验证的旧版基线。 ## 目标 把当前已通过CRM-006本地Gate C/D/A/P的旧版代码复制到`D:\SalesCRM`,保全该目录原有内容,生成独立发布归档、哈希清单、启动/停止和恢复入口,并使用生成数据完成一次真实浏览器验证。 这里的“可发布备份”是指版本文件完整、来源明确、可解压、可启动、可回滚和可复验;不等于已经满足正式生产安全与发布Gate。 ## 范围 - 部署当前前端`outputs/sales_crm_full_demo.html`、后端`work/crm_full_server.js`、`package.json`及必要部署脚本。 - 覆盖目标文件前,先把`D:\SalesCRM`原目录完整保全到同盘独立快照;不得删除唯一副本。 - 生成代码发布归档及SHA-256清单;发布归档不得包含真实运行数据、密码、Token、Cookie或原始日志。 - 本机验证只绑定`127.0.0.1`并使用运行时生成数据;不得读取、复制或修改E盘仓库`data/`。 - D盘原有数据文件只作为受保护快照和原位遗留内容保全,不读取字段值、不写入正式文档、不进入代码发布归档。 - 部署后完成页面、API、改密闭环、账号复位、停止入口和恢复入口验证。 ## 不做项 - 不发布到服务器、公网、局域网或正式线上环境。 - 不宣称复制整个目录即可安全上线。 - 不在本任务修复密码明文、旧Token、权限矩阵、单文件架构或生产HTTPS等P0问题。 - 不修改已通过审核的前后端业务源码,不迁移真实数据,不开始新架构实现。 ## 验收标准 1. `D:\SalesCRM`部署前原目录有独立完整快照,快照路径、文件数、总大小和清单可核对。 2. D盘运行基线的前端、后端与当前已验收源码SHA-256一致,未夹带工作区无关文件。 3. 形成独立代码发布归档和哈希清单,归档不含`data/`、凭据、运行日志和Git元数据。 4. 本机启动仅监听`127.0.0.1`,使用生成数据,具备明确停止入口且不影响现有E盘实例。 5. 真实浏览器完成登录、改密、退出、新旧密码重登和账号复位,控制台无阻塞性错误。 6. 停止D盘实例后可按恢复说明重新启动;原目录快照具备明确回滚入口。 7. 正式文档和发布清单不包含密码、Token、客户明细、完整响应或原始日志。 8. 明确记录未来线上发布仍需独立生产配置、数据治理、安全整改、Gate D/A/P和发布批准;`BLOCK-001`至`BLOCK-003`及生产`No-Go`继续有效。 ## 角色矩阵 | 角色 | 适用性 | 责任 | | --- | --- | --- | | Owner | 适用 | 授权D盘旧版备份和架构改版前置目标 | | 产品与项目管理 | 适用 | 冻结范围、维护台账、执行本地Gate P | | 架构与数据治理 | N/A | 不改变架构或数据结构;生产适用性另立任务 | | UI与交互设计 | N/A | 不改变界面规格 | | 前端开发 | 适用 | Gate D确认D盘页面与审核源码一致 | | 后端开发 | 适用 | Gate D确认D盘服务、接口和数据隔离 | | 代码审核与安全 | N/A | 业务源码不得变化,沿用CRM-006精确Gate C;哈希漂移则立即恢复适用 | | 测试与质量 | 适用 | 使用真实浏览器执行D盘实例Gate A | | 运维与发布 | 适用 | 快照、复制、归档、启动、停止和机械回滚 | ## 线上发布边界 D盘备份可以作为未来发布的版本输入,但不能直接等同于生产发布包。正式上线前至少仍需关闭或显式裁决数据与凭据治理、后端权限、HTTPS与最小权限服务账号、环境化配置、备份恢复、监控告警以及生产Gate D/A/P。 docs/任务/202607/0718-旧版可恢复备份/01-计划改动清单.md
New file @@ -0,0 +1,22 @@ # 计划改动清单 ## 部署计划 1. 只读盘点`D:\SalesCRM`,确认没有运行中的D盘实例。 2. 将D盘原目录完整复制到`D:\SalesCRM.backups\<runId>`;核对解析后的绝对路径,禁止删除或移动唯一副本。 3. 以白名单方式更新D盘旧版运行文件,不复制E盘`data/`、`.git/`、`docs/local/`凭据或无关工作区改动。 4. 在D盘生成版本说明、SHA-256清单、代码发布归档和恢复说明;发布归档排除真实/遗留数据。 5. 使用D盘本地回环启动器生成虚构数据并启动随机端口,不接触D盘原有数据内容。 6. 前后端分别完成D盘目标运行版本Gate D,测试完成真实浏览器Gate A,产品完成本地Gate P。 ## 停止线 - D盘原目录无法先完整保全。 - 需要读取或输出数据文件字段值、密码或客户明细。 - 目标源码哈希与CRM-006审核源码不一致。 - 服务出现非回环监听、覆盖E盘实例、无停止入口或发布归档包含`data/`。 - 需要修改业务源码才能启动。 ## 回滚 停止D盘新实例后,以同盘部署前快照作为唯一回滚来源;回滚动作必须再次核对绝对目标为`D:\SalesCRM`且不得误操作E盘仓库。 docs/任务/202607/0718-旧版可恢复备份/02-实现与自测记录.md
New file @@ -0,0 +1,18 @@ # 实现与自测记录 - 当前状态:D盘部署、前后端Gate D、真实浏览器Gate A、恢复演练和本地Gate P均`PASS`。 - 已确认现状:`D:\SalesCRM`已存在但未运行,前后端文件哈希与当前已验收版本不同;D盘剩余空间充足。 - 数据边界:只记录D盘遗留数据文件的存在性、长度和哈希,不读取字段值;E盘仓库`data/`不进入部署输入。 - 部署前快照:`D:\SalesCRM.backups\legacy-20260718T110427-302df0e1`,30个文件、791788字节,逐文件SHA-256差异0。 - 白名单部署:12个文件源/目标哈希全部一致;D盘原有两个数据文件部署前后长度和哈希差异0,未读取字段内容。 - 代码归档:`D:\SalesCRM\release-input\legacy-20260718T110427-302df0e1\SalesCRM-legacy-20260718T110427-302df0e1.zip`,13个条目,禁入项命中0;归档SHA-256见同目录发布清单。此前事件误写`releases`,已由COLLAB-20260718-023更正。 - 本地实例:`http://127.0.0.1:57155/`,runId `local-20260718T110952-35e328fa`,仅回环监听;页面200、未认证API预期401,E盘64169实例继续存活。 - 停止与恢复:D盘本地测试环境含按runId停止入口;部署前快照回滚脚本只读预检通过,本轮未实际回滚。 - 实际影响:仅D盘快照、白名单文件、发布材料、生成运行材料及一个隐藏回环进程;E盘源码、配置、数据和Git未因部署改变。 ## 停止/重启整改与复验 - 首轮发现停止脚本在Windows PowerShell下用带BOM UTF-8回写状态JSON,导致下一次启动在监听前安全退出。 - 最小整改仅修改D盘本地停止脚本:无BOM UTF-8临时文件、同目录备份文件、原子替换和残留清理;业务源码、runner和发布归档均未变化。 - 最终复验无需人工修改状态文件即可精确停止并直接重启,状态JSON有效且无BOM,临时/备份残留0。 - 当前D盘实例:`http://127.0.0.1:60068/`,runId `local-20260718T175145-22a11656`,仅回环监听并保持运行。 docs/任务/202607/0718-旧版可恢复备份/03-验收记录.md
New file @@ -0,0 +1,35 @@ # 验收记录 | Gate | 结论 | 说明 | | --- | --- | --- | | Owner方向 | PASS | Owner要求架构改版前先形成D盘可恢复、可启动、可发布输入的旧版备份 | | Gate N/R | N/A | 不改变业务需求、接口或架构;复用CRM-006冻结需求和精确源码,生产适用性不在本任务裁决 | | Gate C | PASS(继承) | D盘源码、运行副本与CRM-006审核源码SHA-256完全一致,业务源码未改变 | | 部署 | PASS | COLLAB-20260718-018;快照30/30一致、白名单12项一致、代码归档禁入项0、回滚预检和仅回环实例通过 | | Gate D | PASS | 后端COLLAB-20260718-022 PASS;前端首轮功能与归档内容通过,路径记录由COLLAB-023更正后COLLAB-024复核PASS | | Gate A | PASS | COLLAB-20260718-026;真实浏览器改密闭环、360px、复位、控制台、原数据守恒和D/E双实例存活通过 | | 恢复演练 | PASS | COLLAB-20260718-030;停止脚本无BOM整改后完成无需人工状态修补的停止/直接重启,健康与全部守恒项通过 | | Gate P(本地备份范围) | PASS | COLLAB-20260718-032;八项验收全部通过,可作为未来发布输入和架构改版旧版回退依据 | ## 恢复演练整改 - COLLAB-20260718-028首轮结论:`CHANGES_REQUESTED`。 - 已通过:精确停止、重新启动后的健康与哈希、原数据守恒、归档和回滚预检、E盘实例保护。 - 待整改:停止脚本回写状态JSON时产生UTF-8 BOM,导致下一次启动需要人工去BOM;必须修正脚本并完成无人工状态修补的复验。 上述待整改项已由COLLAB-20260718-030关闭。 ## 八项验收结果 | 编号 | 结果 | 证据 | | --- | --- | --- | | 1 | PASS | 部署前快照30文件、791788字节、逐文件差异0 | | 2 | PASS | D盘目标与运行副本前后端哈希匹配审核源码 | | 3 | PASS | 代码归档13项,数据、凭据、日志和Git元数据命中0 | | 4 | PASS | 生成数据实例仅监听127.0.0.1,停止入口有效且E盘实例不受影响 | | 5 | PASS | 真实浏览器完成改密闭环、360px、账号复位和控制台检查 | | 6 | PASS | 无人工状态修补完成停止/直接重启;回滚脚本30文件差异0预检通过 | | 7 | PASS | 正式文档和发布清单未记录敏感值或客户明细 | | 8 | PASS | 生产差距、P0阻塞和No-Go保持明确 | 本记录不得作为生产上线许可。 docs/任务/202607/0718-旧版可恢复备份/04-本轮结论.md
New file @@ -0,0 +1,7 @@ # 本轮结论 - 当前结论:本地备份范围Gate P `PASS`;原目录完整保全、当前运行基线、独立代码归档、哈希清单、真实浏览器验证、停止/直接重启和回滚预检均已闭环。 - 部署结果:`D:\SalesCRM`前后端与当前已验收源码哈希一致;发布归档不含数据、凭据、日志或Git元数据;D盘生成数据实例仅监听`127.0.0.1:57155`,E盘实例不受影响。 - 当前运行:D盘实例为`http://127.0.0.1:60068/`,runId `local-20260718T175145-22a11656`;E盘64169实例同时保持运行。 - 下一责任人:项目管理员提交并推送代码与正式文档;后续架构改版以D盘基线作为旧版回退参照。 - Go/No-Go:生产`No-Go`继续有效;D盘备份完成后也只能作为未来发布输入,不能直接上线。 docs/任务/202607/0718-旧版可恢复备份/导读.md
New file @@ -0,0 +1,20 @@ # CRM-20260718-001 旧版可恢复备份导读 - 优先级:P0 - 目标:在架构改版前,把当前已验收旧版整理为`D:\SalesCRM`可恢复、可启动、可校验的本机基线,并形成独立发布归档 - 当前Gate:本地备份范围Gate P `PASS`;正式生产仍为`No-Go` - Owner方向:先保全旧版,再开始架构改版;旧版备份必须能恢复和验证,不能只复制若干文件 - 统一台账:[统一计划台账](<../../统一计划台账.md>) - 协作事件:[协作事件](<../../协作事件.md>)中的`COLLAB-20260718-016`起 ## 文档 - [需求与验收](<./00-需求与验收.md>) - [计划改动清单](<./01-计划改动清单.md>) - [实现与自测记录](<./02-实现与自测记录.md>) - [验收记录](<./03-验收记录.md>) - [本轮结论](<./04-本轮结论.md>) ## 当前下一棒 项目管理员提交并推送代码与正式文档;后续架构改版以D盘基线为旧版回退参照。正式生产发布须另立任务。 docs/任务/协作事件.md
@@ -2821,3 +2821,470 @@ - 证据:Thread `019f70f1-b6bd-7d82-9c43-d254c66f46b9`,turn `019f70f8-1e8a-7372-9cd2-e8683674ff2e`。 - 队列编号:QUEUE-20260717-043 - 下一责任人:项目管理员完成正式测试入口切换和队列释放;后续部署另行授权 ## COLLAB-20260718-006 | 员工修改密码本机回环部署 - 事件类型:本地部署请求 - 发起时间:2026-07-18 - 发起角色:Owner/产品与项目管理 - 目标角色:运维与发布 - 上游事件:COLLAB-20260717-147、149 - 结果事件:COLLAB-20260718-007 - 当前Gate:CRM-20260717-006 / 本地部署 - 状态:IN_PROGRESS - 目标:把已通过Gate C和隔离验收的员工修改密码版本部署到当前Windows本机,为目标运行版本Gate D和真实浏览器Gate A提供可访问实例。 - 输入:前端`outputs/sales_crm_full_demo.html`、后端`work/crm_full_server.js`及CRM-006冻结需求/实现/验收记录。 - 范围:只绑定`127.0.0.1`;单后端进程、单写实例;使用运行时生成的虚构员工、主管和停用账号;可在Git忽略的`docs/local/测试环境/`保存本机运行材料;部署成功后保持服务运行直到Owner要求停止。 - 不做项:不读取、复制或修改`data/`现有运行数据;不使用真实账号/客户数据;不修改业务代码或已审核源码;不提交/推送Git;不监听局域网/公网,不创建开机自启,不部署生产。 - 验收:回传PASS/CHANGES_REQUESTED/BLOCKED、本地URL、脱敏运行ID、进程存活与监听范围、页面和API机械可达、数据隔离证据、停止入口;不得回传密码、Token、完整响应或原始日志。 - 停止线:源码需要修改、无法阻止读取`data/`、非回环监听、服务多写、生成凭据进入日志/命令行/Git或无法提供停止入口时立即停止并清理进程。 - 敏感边界:测试凭据只在运行时或Git忽略的本机材料中传递;正式文档只记录存在性和脱敏结论。 - 队列编号:QUEUE-20260717-045 - 下一责任人:运维与发布;PASS后项目管理员登记Gate D队列 ## COLLAB-20260718-007 | 员工修改密码本机回环部署结果 - 事件类型:本地部署结果回传 - 发起时间:2026-07-18 - 发起角色:运维与发布 - 目标角色:Owner/产品与项目管理/项目管理员/前端开发/后端开发/测试与质量 - 上游事件:COLLAB-20260718-006 - 结果事件:无 - 当前Gate:CRM-20260717-006 / 本地部署 - 状态:PASS - 结论:本机回环实例已部署并保持运行;本地URL为`http://127.0.0.1:64169/`,脱敏运行ID为`local-20260718T005433-82316417`,进程仅监听该回环地址且无开机自启。 - 机械证据:页面HTTP 200且资源SHA-256与已审核前端源码一致;API隔离探针返回预期401;使用审核源码字节一致副本、运行时生成夹具和仓库`data/`访问阻断器。 - 本机材料:凭据、PID、状态、停止入口和脱敏验证证据仅位于Git忽略的`docs/local/测试环境/`;正式回执未记录任何密码、Token、完整响应或原始日志。 - 停止入口:`docs/local/测试环境/stop-current.ps1`,按运行ID执行;当前保持运行供Gate D/A使用。 - 实际影响:仅新增Git忽略的本机运行材料和一个隐藏运行进程;未修改已审核源码、跟踪文件或Git状态,未读取/修改现有运行数据,未部署生产。 - 风险:进程无自动重启;旧认证与明文存储风险仅存在于虚构数据实例。`BLOCK-001`至`BLOCK-003`和生产`No-Go`继续有效。 - 队列编号:QUEUE-20260717-045 - 下一责任人:前端开发与后端开发分别执行同一实例Gate D ## COLLAB-20260718-008 | 员工修改密码本机实例后端Gate D - 事件类型:Gate D请求 - 发起时间:2026-07-18 - 发起角色:Owner/产品与项目管理/项目管理员 - 目标角色:后端开发 - 上游事件:COLLAB-20260717-131、147、COLLAB-20260718-007 - 结果事件:COLLAB-20260718-009 - 当前Gate:CRM-20260717-006 / Gate D后端分项 - 状态:IN_PROGRESS - 范围:只读确认本机运行实例使用审核通过的后端源码和生成数据;验证进程/监听、认证、改密接口204与关键失败状态、成功后旧密码失效/新密码可登录及服务仍存活。 - 不做项:不修改代码、配置、数据、Git或部署;不读取`data/`或输出本机凭据;不代签前端Gate D、Gate A/P或生产结论。 - 验收:回传PASS/CHANGES_REQUESTED/BLOCKED、脱敏证据、未测项和是否允许测试角色进入真实浏览器Gate A。 - 队列编号:QUEUE-20260717-046 - 下一责任人:后端开发 ## COLLAB-20260718-010 | 员工修改密码本机实例前端Gate D - 事件类型:Gate D请求 - 发起时间:2026-07-18 - 发起角色:Owner/产品与项目管理/项目管理员 - 目标角色:前端开发 - 上游事件:COLLAB-20260717-133、147、COLLAB-20260718-007 - 结果事件:COLLAB-20260718-011 - 当前Gate:CRM-20260717-006 / Gate D前端分项 - 状态:IN_PROGRESS - 范围:只读确认本机页面资源与审核源码一致、登录和改密入口可加载、专用请求仍指向唯一接口、非204不假成功且无`localApi`回退;不执行完整浏览器业务验收。 - 不做项:不修改代码、配置、数据、Git或部署;不输出本机凭据;不代签后端Gate D、Gate A/P或生产结论。 - 验收:回传PASS/CHANGES_REQUESTED/BLOCKED、脱敏证据、未测项和是否允许测试角色进入真实浏览器Gate A。 - 队列编号:QUEUE-20260717-047 - 下一责任人:前端开发 ## COLLAB-20260718-009 | 员工修改密码本机实例后端Gate D结果 - 事件类型:Gate D结果回传 - 发起时间:2026-07-18 - 发起角色:后端开发 - 目标角色:Owner/产品与项目管理/项目管理员/测试与质量 - 上游事件:COLLAB-20260718-007、008 - 结果事件:无 - 当前Gate:CRM-20260717-006 / Gate D后端分项 - 状态:PASS - 结论:运行副本、当前后端源码与部署摘要一致;实例为单Node进程并仅监听`127.0.0.1:64169`,仓库`data/`访问由运行守卫阻断。 - 运行证据:生成员工认证成功;错误当前密码返回422且未写入;正确改密返回204空响应及`no-store`;旧凭据失效、新凭据可认证;随后使用同一专用接口完成生成账号复位,实例保持存活。 - 例外说明:首次链路脚本仅因中文路径管道编码在发出HTTP请求前失败;修正测试夹具路径传递后同一用例完整PASS,不属于应用失败。 - 未执行:前端Gate D、真实浏览器、真实数据、多进程/多实例、Gate A/P和生产验证。 - 队列编号:QUEUE-20260717-046 - 下一责任人:项目管理员确认前端Gate D后投递真实浏览器Gate A ## COLLAB-20260718-011 | 员工修改密码本机实例前端Gate D结果 - 事件类型:Gate D结果回传 - 发起时间:2026-07-18 - 发起角色:前端开发 - 目标角色:Owner/产品与项目管理/项目管理员/测试与质量 - 上游事件:COLLAB-20260718-007、010 - 结果事件:无 - 当前Gate:CRM-20260717-006 / Gate D前端分项 - 状态:PASS - 结论:运行页面HTTP 200,字节数与SHA-256均与审核源码完全一致;内联脚本解析PASS,登录/改密入口、三字段、唯一专用接口、严格两字段、仅204成功、失败关闭、成功清理和360px规则均存在。 - 未执行:未输入账号或凭据,未执行实际登录、真实改密、完整浏览器交互、后端Gate D、Gate A/P或生产验证。 - 队列编号:QUEUE-20260717-047 - 下一责任人:项目管理员确认后端Gate D后投递真实浏览器Gate A ## COLLAB-20260718-012 | 员工修改密码本机实例真实浏览器Gate A - 事件类型:Gate A请求 - 发起时间:2026-07-18 - 发起角色:Owner/产品与项目管理/项目管理员 - 目标角色:测试与质量 - 上游事件:COLLAB-20260718-007、009、011 - 结果事件:COLLAB-20260718-013 - 当前Gate:CRM-20260717-006 / 真实浏览器Gate A - 状态:IN_PROGRESS - 范围:使用真实浏览器访问`http://127.0.0.1:64169/`,只使用本机忽略材料中的生成员工;验证登录、改密入口、三字段、错误当前密码不成功、正确改密后退出、旧密码登录失败、新密码登录成功、页面不假成功及360px布局,完成后复位生成账号并确认实例仍存活。 - 不做项:不读取`data/`或使用真实账号/客户数据;不修改代码/配置/Git/部署;不测试延期项、生产、多进程/多实例;不输出密码、Token、完整响应、原始日志或含敏感字段的截图。 - 验收:回传PASS/CHANGES_REQUESTED/BLOCKED、浏览器/视口、逐项脱敏证据、截图或证据路径、复位与测后存活、未测项及是否允许进入本地范围Gate P。 - 停止线:运行资源哈希变化、浏览器无法连接、真实数据暴露、非回环请求、错误路径假成功、越权改密或无法安全复位时立即停止。 - 队列编号:QUEUE-20260717-048 - 下一责任人:测试与质量 ## COLLAB-20260718-013 | 员工修改密码本机实例真实浏览器Gate A结果 - 事件类型:Gate A结果回传 - 发起时间:2026-07-18 - 发起角色:测试与质量 - 目标角色:Owner/产品与项目管理/项目管理员 - 上游事件:COLLAB-20260718-007、009、011、012 - 结果事件:无 - 当前Gate:CRM-20260717-006 / 真实浏览器Gate A - 状态:PASS - 浏览器:Codex In-app Browser;仅访问`http://127.0.0.1:64169/`。 - 结论:使用生成员工通过真实浏览器UI完成登录、改密入口、三字段空值与可操作性、错误当前密码失败关闭、正确改密后退出、旧密码失败、新密码成功和360px布局检查,全部PASS;控制台阻塞性错误为0。 - 复位与存活:已通过浏览器UI把生成账号恢复为原凭据;临时凭据失效、原凭据重新登录成功,退出测试会话后登录页和回环实例仍可达。 - 敏感边界:未创建截图,未回显账号材料字段值、密码、Token、完整请求响应或原始日志;未读取`data/`,未修改代码、配置、Git、部署或跟踪文件。 - 未执行:其他浏览器、真实账号/客户数据、非回环环境、多进程/多实例、生产部署及延期的密码哈希迁移、完整会话撤销、限流和审计。 - 风险与停止线:`BLOCK-001`至`BLOCK-003`和生产`No-Go`继续有效;本结论只允许进入本地范围Gate P,不构成生产上线许可。 - 证据:Thread `019f70f1-b6bd-7d82-9c43-d254c66f46b9`,turn `019f72d6-00d1-7fa2-b89a-82ced2823cde`。 - 队列编号:QUEUE-20260717-048 - 下一责任人:产品与项目管理执行本地范围Gate P ## COLLAB-20260718-014 | 员工修改密码本地范围产品Gate P - 事件类型:Gate P验收请求 - 发起时间:2026-07-18 - 发起角色:Owner/项目管理员 - 目标角色:产品与项目管理 - 上游事件:COLLAB-20260717-149、COLLAB-20260718-007、009、011、013 - 结果事件:COLLAB-20260718-015 - 当前Gate:CRM-20260717-006 / 本地范围Gate P - 状态:CLOSED - 范围:对照v0.3-MVP十项验收标准,汇总一次独立Gate C、隔离环境19/19项验收、本机部署、前后端Gate D和真实浏览器Gate A;只判断生成数据回环实例是否达到第一阶段本地可用。 - 不做项:不重复专业测试,不修改代码、配置、数据、Git、部署或运行态;不读取真实凭据或客户数据;不代签生产发布,不扩展第二、三阶段需求。 - 验收:回传PASS/CHANGES_REQUESTED/BLOCKED、十项标准结果、本地实例状态、未完成项、风险及生产No-Go声明。 - 队列编号:QUEUE-20260717-049 - 下一责任人:产品与项目管理 ## COLLAB-20260718-015 | 员工修改密码本地范围产品Gate P结果 - 事件类型:Gate P结果回传 - 发起时间:2026-07-18 - 发起角色:产品与项目管理 - 目标角色:Owner/项目管理员及全部适用专业角色 - 上游事件:COLLAB-20260718-014 - 结果事件:无 - 当前Gate:CRM-20260717-006 / 本地范围Gate P - 状态:PASS - 结论:v0.3-MVP十项验收标准全部PASS;员工本人改密第一阶段已在当前Windows本机、单进程单写、生成数据和回环访问条件下完成部署与真实浏览器验收,可标记为“本地可用”。 - 产品证据:启用员工入口、正确改密、错误当前密码、前后端规则校验、仅本人、成功退出与新旧密码重登、主管重置兼容、停用账号、后端不可用失败关闭和敏感值边界均已由Gate C、隔离Gate A、目标运行版本Gate D及真实浏览器Gate A覆盖。 - 本地实例:`http://127.0.0.1:64169/`继续保持运行,仅绑定`127.0.0.1`并使用生成数据;测试账号已复位,服务停止入口继续保留。 - 未完成与延期:密码哈希迁移、旧认证退役、完整会话撤销、限流、审计、多进程/多实例、真实数据验证和第二、三阶段体验能力均未完成,须另立任务。 - 风险与停止线:`BLOCK-001`至`BLOCK-003`和项目生产`No-Go`继续有效;本结论不是生产Gate P、发布许可或业务系统可上线结论,禁止据此部署正式线上环境。 - 队列编号:QUEUE-20260717-049 - 下一责任人:项目管理员维护本地实例状态;Owner需要停止时由运维使用已登记停止入口执行 ## COLLAB-20260718-016 | 架构改版前旧版可恢复备份登记 - 事件类型:Owner需求登记/范围冻结 - 发起时间:2026-07-18 - 发起角色:Owner - 目标角色:产品与项目管理/项目管理员/运维与发布 - 上游事件:COLLAB-20260718-015 - 结果事件:无 - 当前Gate:CRM-20260718-001 / 登记 - 状态:PASS - 目标:架构改版前,把当前已验收旧版整理到`D:\SalesCRM`,形成可恢复、可启动、可校验和可作为未来发布输入的备份。 - 范围:保全D盘原目录;白名单部署当前审核源码;形成代码归档、哈希清单、启动/停止/恢复入口;使用生成数据和真实浏览器验证。 - 不做项:不读取或输出真实数据字段值,不复制E盘`data/`,不修改业务源码,不发布生产,不把本地备份写成线上可用。 - 验收:以任务目录八项标准为准;本地PASS后仍须明确生产差距、`BLOCK-001`至`BLOCK-003`和生产`No-Go`。 - 队列编号:QUEUE-20260717-050 - 下一责任人:运维与发布 ## COLLAB-20260718-017 | D盘旧版可恢复备份部署 - 事件类型:本地部署/备份请求 - 发起时间:2026-07-18 - 发起角色:Owner/产品与项目管理/项目管理员 - 目标角色:运维与发布 - 上游事件:COLLAB-20260718-016 - 结果事件:COLLAB-20260718-018 - 当前Gate:CRM-20260718-001 / 部署 - 状态:IN_PROGRESS - 目标:在不丢失`D:\SalesCRM`原内容的前提下,把当前已验收旧版整理成D盘可恢复运行基线和独立代码发布归档。 - 输入:任务目录、CRM-006 Gate C/D/A/P结果、当前前后端审核源码、D盘现状审计。 - 范围:先完整快照D盘原目录;按白名单更新运行文件;生成不含`data/`与敏感材料的归档和SHA-256清单;以生成数据启动仅回环实例并提供停止/回滚入口。 - 不做项:不读取或回显数据字段值,不复制E盘`data/`或`.git/`,不修改业务源码,不监听非回环地址,不影响现有E盘实例,不发布生产。 - 停止线:目标路径解析异常、快照不完整、源码哈希漂移、归档含数据、非回环监听、无法停止/回滚或需要修改业务源码时立即停止。 - 队列编号:QUEUE-20260717-051 - 下一责任人:运维与发布 ## COLLAB-20260718-018 | D盘旧版可恢复备份部署结果 - 事件类型:本地部署/备份结果回传 - 发起时间:2026-07-18 - 发起角色:运维与发布 - 目标角色:Owner/产品与项目管理/项目管理员/前端开发/后端开发/测试与质量 - 上游事件:COLLAB-20260718-017 - 结果事件:无 - 当前Gate:CRM-20260718-001 / 部署 - 状态:PASS - 部署与快照:部署runId为`legacy-20260718T110427-302df0e1`;部署前完整快照位于`D:\SalesCRM.backups\legacy-20260718T110427-302df0e1`,30个文件、791788字节,源与快照逐文件SHA-256差异0。 - 目标版本:`D:\SalesCRM`前端SHA-256为`BECE0A9AE9FC2EF2C136D8067B4C24AE71E55882FCF1C5D4A199966815092812`,后端为`857835A863D9160215306F8DAC9FC2B860F9AC5564C727521C70548AE4CEA14B`;D盘源码、运行副本与E盘已验收源码一致。 - 数据边界:D盘原有两个数据文件只核对存在性、长度和哈希,部署前后差异0,未读取字段内容;E盘`data/`未进入部署输入。 - 发布归档:`D:\SalesCRM\releases\SalesCRM-legacy-20260718T110427-302df0e1.zip`,SHA-256为`3A18B040002EAAF95851A72F92733CDF334CC432CEFD0110209BD52A8A373AE8`;13个条目,`data/`、备份、运行目录、凭据、状态、日志和Git元数据命中0。 - 运行实例:runId `local-20260718T110952-35e328fa`,URL `http://127.0.0.1:57155/`,PID 51600;只有一个`127.0.0.1:57155`监听,页面200,未认证改密API返回预期401。 - 入口:停止脚本位于D盘本地测试环境,按运行runId执行;部署前快照回滚脚本已完成只读预检,30文件差异0,本轮未实际回滚。 - 保护结果:E盘`127.0.0.1:64169`实例仍存活且页面200;E盘业务源码、配置、数据与Git状态未因部署改变。 - 未执行:前后端Gate D、真实浏览器Gate A、产品Gate P、生产部署和实际回滚。 - 风险:`BLOCK-001`至`BLOCK-003`及生产`No-Go`继续有效;本结果只允许进入D盘目标版本Gate D。 - 队列编号:QUEUE-20260717-051 - 下一责任人:前端开发和后端开发分别执行Gate D ## COLLAB-20260718-019 | D盘旧版备份前端Gate D - 事件类型:Gate D请求 - 发起时间:2026-07-18 - 发起角色:Owner/产品与项目管理/项目管理员 - 目标角色:前端开发 - 上游事件:COLLAB-20260718-018 - 结果事件:COLLAB-20260718-021 - 当前Gate:CRM-20260718-001 / 前端Gate D - 状态:IN_PROGRESS - 范围:只读核对D盘页面资源与E盘已验收源码、发布归档和运行副本哈希一致;确认页面200、登录/改密入口、专用请求、失败关闭和360px规则仍存在。 - 不做项:不输入凭据,不修改D/E盘文件、数据、配置、Git或运行态,不代签后端Gate D、Gate A/P或生产结论。 - 队列编号:QUEUE-20260717-052 - 下一责任人:前端开发 ## COLLAB-20260718-020 | D盘旧版备份后端Gate D - 事件类型:Gate D请求 - 发起时间:2026-07-18 - 发起角色:Owner/产品与项目管理/项目管理员 - 目标角色:后端开发 - 上游事件:COLLAB-20260718-018 - 结果事件:COLLAB-20260718-022 - 当前Gate:CRM-20260718-001 / 后端Gate D - 状态:IN_PROGRESS - 范围:只读核对D盘运行后端与E盘已验收源码、发布归档和运行副本哈希一致;使用生成账号验证认证、错误当前密码、204改密、旧新凭据切换、账号复位、仅回环监听和测后存活。 - 不做项:不读取D/E盘原`data/`字段值,不修改源码、配置、Git或部署,不输出凭据,不代签前端Gate D、Gate A/P或生产结论。 - 队列编号:QUEUE-20260717-053 - 下一责任人:后端开发 ## COLLAB-20260718-021 | D盘旧版备份前端Gate D首轮结果 - 事件类型:Gate D结果回传 - 发起时间:2026-07-18 - 发起角色:前端开发 - 目标角色:Owner/产品与项目管理/项目管理员/运维与发布 - 上游事件:COLLAB-20260718-018、019 - 结果事件:COLLAB-20260718-024 - 当前Gate:CRM-20260718-001 / 前端Gate D - 状态:CHANGES_REQUESTED - 通过项:D盘目标页面、运行副本、HTTP响应与E盘审核源码四方均为183951字节且SHA-256一致;页面200、脚本解析、入口、三字段、唯一专用请求、严格两字段、仅204成功、失败关闭、成功清理和360px规则均通过。 - 归档内容:实际归档13个条目、禁入项0、归档哈希与部署回执一致,归档内页面哈希与审核源码一致。 - 唯一问题:正式记录写成不存在的`D:\SalesCRM\releases\...zip`,实际归档位于`D:\SalesCRM\release-input\legacy-20260718T110427-302df0e1\SalesCRM-legacy-20260718T110427-302df0e1.zip`;按错误路径无法恢复定位。 - 实际修改:无;未输入或读取凭据,未修改D/E盘文件、数据、配置、Git或运行态。 - 队列编号:QUEUE-20260717-052 - 下一责任人:项目管理员追加事实源更正后,前端在同一队列项只复核路径引用 ## COLLAB-20260718-022 | D盘旧版备份后端Gate D结果 - 事件类型:Gate D结果回传 - 发起时间:2026-07-18 - 发起角色:后端开发 - 目标角色:Owner/产品与项目管理/项目管理员/测试与质量 - 上游事件:COLLAB-20260718-018、020 - 结果事件:无 - 当前Gate:CRM-20260718-001 / 后端Gate D - 状态:PASS - 版本与归档:D盘目标源码、运行副本、发布ZIP内唯一后端条目、归档展开副本与E盘审核源码均匹配已登记SHA-256;ZIP共13项,禁入项0。 - 运行链路:单Node进程、唯一`127.0.0.1:57155`监听;生成员工认证、错误当前密码422且无写入、正确改密204空响应/no-store、旧新凭据切换及使用同一接口复位全部PASS。 - 数据保护:D盘两个原数据文件测试前后均为108336字节且SHA-256完全不变;未读取D/E盘原数据字段内容。 - 测后状态:临时凭据失效、原凭据恢复可用,页面200、未认证探针401、原PID存活且仅回环监听。 - 未执行:前端Gate D、真实浏览器、停止重启、实际回滚、多进程/多实例、真实数据和生产环境。 - 队列编号:QUEUE-20260717-053 - 下一责任人:项目管理员等待前端同项复核PASS后投递测试Gate A ## COLLAB-20260718-023 | D盘旧版归档路径事实源更正 - 事件类型:事实源更正/前端Gate D同项复核输入 - 发起时间:2026-07-18 - 发起角色:产品与项目管理/项目管理员 - 目标角色:Owner/前端开发/后端开发/运维与发布/测试与质量 - 上游事件:COLLAB-20260718-018、021、022 - 结果事件:COLLAB-20260718-024 - 当前Gate:CRM-20260718-001 / 前端Gate D复核 - 状态:CLOSED - 更正事实:COLLAB-20260718-018中记录的`D:\SalesCRM\releases\SalesCRM-legacy-20260718T110427-302df0e1.zip`路径无效;实际且唯一有效归档路径为`D:\SalesCRM\release-input\legacy-20260718T110427-302df0e1\SalesCRM-legacy-20260718T110427-302df0e1.zip`。 - 内容结论不变:归档SHA-256仍为`3A18B040002EAAF95851A72F92733CDF334CC432CEFD0110209BD52A8A373AE8`,13个条目、禁入项0,前后端条目与审核源码一致;本次只更正引用路径,不移动或重建归档。 - 更正规则:后续任务记录、恢复说明和Gate证据只引用`release-input`实际路径;旧错误路径保留为历史,不再使用。 - 队列编号:QUEUE-20260717-052 - 下一责任人:前端开发在同一QUEUE-052只读复核路径更正并回传COLLAB-20260718-024 ## COLLAB-20260718-024 | D盘旧版备份前端Gate D复核结果 - 事件类型:Gate D同项复核结果 - 发起时间:2026-07-18 - 发起角色:前端开发 - 目标角色:Owner/产品与项目管理/项目管理员/测试与质量 - 上游事件:COLLAB-20260718-021、023 - 结果事件:无 - 当前Gate:CRM-20260718-001 / 前端Gate D复核 - 状态:PASS - 结论:COLLAB-023已废止旧`releases`路径并冻结唯一实际归档路径;任务记录已引用实际路径,归档存在且为D盘唯一同名文件。 - 复核证据:归档57527字节,SHA-256为`3A18B040002EAAF95851A72F92733CDF334CC432CEFD0110209BD52A8A373AE8`;因哈希未变化,首轮通过的13个条目、禁入项0及页面条目哈希结论继续有效。 - 实际修改:无;未重复功能测试,未修改文件、数据、Git或运行态。 - 队列编号:QUEUE-20260717-052 - 下一责任人:项目管理员结合后端COLLAB-022投递真实浏览器Gate A ## COLLAB-20260718-025 | D盘旧版备份真实浏览器Gate A - 事件类型:Gate A请求 - 发起时间:2026-07-18 - 发起角色:Owner/产品与项目管理/项目管理员 - 目标角色:测试与质量 - 上游事件:COLLAB-20260718-018、022、024 - 结果事件:COLLAB-20260718-026 - 当前Gate:CRM-20260718-001 / 真实浏览器Gate A - 状态:IN_PROGRESS - 范围:使用真实浏览器访问`http://127.0.0.1:57155/`,只使用D盘忽略材料中的生成员工;验证登录、改密入口、三字段、错误当前密码失败关闭、正确改密后退出、旧密码失败、新密码成功、360px、控制台和账号复位。 - 额外核对:页面可见版本必须来自D盘实例;测试后D盘原数据哈希不变、D盘实例与E盘64169实例均存活。 - 不做项:不读取原数据字段,不使用真实账号/客户数据,不修改代码/配置/Git/部署,不输出凭据、完整响应、原始日志或含敏感值截图,不代签Gate P或生产发布。 - 队列编号:QUEUE-20260717-054 - 下一责任人:测试与质量 ## COLLAB-20260718-026 | D盘旧版备份真实浏览器Gate A结果 - 事件类型:Gate A结果回传 - 发起时间:2026-07-18 - 发起角色:测试与质量 - 目标角色:Owner/产品与项目管理/项目管理员/运维与发布 - 上游事件:COLLAB-20260718-018、022、024、025 - 结果事件:无 - 当前Gate:CRM-20260718-001 / 真实浏览器Gate A - 状态:PASS - 浏览器:Codex In-app Browser;仅访问D盘57155和E盘64169两个回环地址。 - 业务闭环:生成员工真实登录、改密入口、三字段空值与可操作性、错误当前密码失败关闭、正确改密后退出、原凭据失效、临时新凭据成功、360px单列无溢出均PASS。 - 复位与清理:已通过浏览器UI恢复原凭据,临时凭据失效、原凭据重新登录成功;测试会话和标签已清理,控制台阻塞性错误0。 - 数据与实例:D盘两份受保护文件测试前后长度和SHA-256逐一相同,未解析字段内容;D盘57155与E盘64169登录页同时可达。 - 证据安全:未创建截图,未回显凭据、Token、账号标识、完整响应或原始日志;未修改代码、配置、Git、部署或受保护原数据。 - 未执行:停止/重启和实际回滚、非回环、多进程/多实例、真实数据和生产环境。 - 风险:允许进入停止/重启演练;`BLOCK-001`至`BLOCK-003`及生产`No-Go`继续有效。 - 队列编号:QUEUE-20260717-054 - 下一责任人:运维与发布执行D盘实例停止/重启演练 ## COLLAB-20260718-027 | D盘旧版备份停止重启演练 - 事件类型:部署恢复演练请求 - 发起时间:2026-07-18 - 发起角色:Owner/产品与项目管理/项目管理员 - 目标角色:运维与发布 - 上游事件:COLLAB-20260718-018、026 - 结果事件:COLLAB-20260718-028 - 当前Gate:CRM-20260718-001 / 恢复演练 - 状态:IN_PROGRESS - 范围:使用已登记D盘停止入口停止runId `local-20260718T110952-35e328fa`,确认监听和进程消失;再从D盘当前基线使用生成数据启动新的仅回环实例,核对源码哈希、页面200、未认证API 401、停止入口、原数据哈希守恒和E盘64169存活。 - 回滚入口:再次只读预检部署前快照回滚脚本,不实际覆盖当前已验收D盘基线。 - 不做项:不读取数据字段,不修改源码/配置/Git,不执行生产发布,不影响E盘实例,不输出凭据或原始日志。 - 队列编号:QUEUE-20260717-055 - 下一责任人:运维与发布 ## COLLAB-20260718-028 | D盘旧版备份停止重启演练首轮结果 - 事件类型:部署恢复演练结果 - 发起时间:2026-07-18 - 发起角色:运维与发布 - 目标角色:Owner/产品与项目管理/项目管理员 - 上游事件:COLLAB-20260718-027 - 结果事件:COLLAB-20260718-030 - 当前Gate:CRM-20260718-001 / 恢复演练 - 状态:CHANGES_REQUESTED - 通过项:旧实例PID/runId/runner/监听身份核对后被精确停止,57155和PID消失且未误停其他进程;D盘源码、运行副本、原数据哈希、实际归档、回滚预检和E盘实例均保持正确。 - 新实例:去除忽略态状态文件BOM后,runId `local-20260718T174342-2a4ccd9d`在`http://127.0.0.1:59458/`成功启动,PID 38084,仅回环监听;页面200、未认证API 401,当前保持运行。 - 唯一问题:既有停止脚本用Windows PowerShell `Set-Content -Encoding utf8`回写`current-run.json`时写入BOM,导致第一次重启在监听前安全退出;人工去除BOM后才能启动,恢复流程不可重复。 - 未修改项:未修改业务源码、配置或Git;首次失败未留下监听,E盘实例未受影响。 - 结论:当前不允许进入本地Gate P;须在同一QUEUE-055修正D盘本地停止脚本为无BOM UTF-8写入,并完成一次无需人工改状态文件的停止/重启复验。 - 队列编号:QUEUE-20260717-055 - 下一责任人:运维与发布在原队列项完成最小整改和复验 ## COLLAB-20260718-029 | D盘停止脚本无BOM整改 - 事件类型:部署恢复整改授权 - 发起时间:2026-07-18 - 发起角色:Owner/产品与项目管理/项目管理员 - 目标角色:运维与发布 - 上游事件:COLLAB-20260718-028 - 结果事件:COLLAB-20260718-030 - 当前Gate:CRM-20260718-001 / 恢复演练整改 - 状态:IN_PROGRESS - 范围:只修改D盘Git忽略的本地`stop-current.ps1`状态文件写入方式,使用无BOM UTF-8原子/安全写入;不得修改runner、业务源码、发布归档、D/E盘原数据或Git。 - 复验:使用修正脚本停止当前D盘runId `local-20260718T174342-2a4ccd9d`,确认状态JSON无BOM且语义正确,再直接启动新D盘实例;全程不得人工二次修正状态文件。 - 验收:新实例仅回环、页面200、未认证API 401、源/运行哈希一致、原数据守恒、归档/回滚预检和E盘实例存活;新实例保持运行并提供停止入口。 - 队列编号:QUEUE-20260717-055 - 下一责任人:运维与发布 ## COLLAB-20260718-030 | D盘停止脚本整改与恢复复验结果 - 事件类型:部署恢复整改结果 - 发起时间:2026-07-18 - 发起角色:运维与发布 - 目标角色:Owner/产品与项目管理/项目管理员 - 上游事件:COLLAB-20260718-028、029 - 结果事件:无 - 当前Gate:CRM-20260718-001 / 恢复演练整改 - 状态:PASS - 脚本整改:仅修改D盘本地`stop-current.ps1`;保留PID、runId、Node进程和runner路径身份校验,改为同目录临时文件、`.NET UTF8Encoding(false)`无BOM写入、`File.Replace`加随机同目录备份文件原子替换,并在`finally`清理临时/备份文件。PowerShell解析错误0。 - 无人工复验:最终脚本精确停止过渡实例后,PID和监听消失;状态JSON有效且无BOM,临时/备份残留0;停止与直接重启之间未人工修改`current-run.json`。 - 最终实例:runId `local-20260718T175145-22a11656`,URL `http://127.0.0.1:60068/`,PID 52556;唯一`127.0.0.1:60068`监听,页面200、未认证改密API 401,无开机自启,保持运行。 - 守恒:D盘源码与最终运行副本前后端哈希匹配已验收值;两个受保护原数据文件均为108336字节且SHA-256与部署前快照一致;代码归档哈希不变;回滚只读预检30文件差异0;E盘64169实例仍存活且页面200。 - 实际影响:仅D盘本地忽略脚本、生成运行材料、状态记录和回环进程;未修改业务源码、runner、发布归档、D/E盘原数据或Git。 - 未执行:实际回滚、生产发布和真实数据验证。 - 风险:允许进入本地范围Gate P;`BLOCK-001`至`BLOCK-003`和生产`No-Go`继续有效。 - 队列编号:QUEUE-20260717-055 - 下一责任人:产品与项目管理执行本地备份范围Gate P ## COLLAB-20260718-031 | D盘旧版可恢复备份产品Gate P - 事件类型:Gate P验收请求 - 发起时间:2026-07-18 - 发起角色:Owner/项目管理员 - 目标角色:产品与项目管理 - 上游事件:COLLAB-20260718-018、022、024、026、030 - 结果事件:COLLAB-20260718-032 - 当前Gate:CRM-20260718-001 / 本地备份范围Gate P - 状态:CLOSED - 范围:对照任务八项验收,汇总部署前完整快照、白名单源码、代码归档、前后端Gate D、真实浏览器Gate A和无人工停止/重启复验。 - 不做项:不代签生产发布,不读取真实数据,不解除P0阻塞,不把D盘代码归档描述为可直接复制上线。 - 队列编号:QUEUE-20260717-056 - 下一责任人:产品与项目管理 ## COLLAB-20260718-032 | D盘旧版可恢复备份产品Gate P结果 - 事件类型:Gate P结果回传 - 发起时间:2026-07-18 - 发起角色:产品与项目管理 - 目标角色:Owner/项目管理员及全部适用专业角色 - 上游事件:COLLAB-20260718-031 - 结果事件:无 - 当前Gate:CRM-20260718-001 / 本地备份范围Gate P - 状态:PASS - 结论:八项验收全部PASS;`D:\SalesCRM`已形成架构改版前的可恢复、可启动、可校验旧版本机基线,可作为未来发布版本输入和改版回退依据。 - 证据摘要:部署前快照30文件差异0;D盘前后端与审核源码一致;代码归档13项且禁入项0;仅回环生成数据实例通过前后端Gate D与真实浏览器Gate A;停止脚本整改后完成一次无需人工状态修补的停止/直接重启;原数据、归档、E盘实例和回滚预检均守恒。 - 当前运行:D盘实例`http://127.0.0.1:60068/`保持运行;精确停止时必须使用runId `local-20260718T175145-22a11656`。E盘64169实例同时保持运行。 - 发布边界:D盘代码归档具备版本、哈希和恢复输入,但不等于生产发布包;正式上线仍须单独完成数据与凭据治理、后端权限、HTTPS、最小权限服务账号、环境配置、备份恢复、监控以及生产Gate D/A/P和发布批准。 - 风险:`BLOCK-001`至`BLOCK-003`和生产`No-Go`继续有效;不得直接把本地目录或归档复制到线上并宣称可用。 - 队列编号:QUEUE-20260717-056 - 下一责任人:项目管理员提交并推送代码与正式文档;后续架构改版以本基线为旧版回退参照 docs/任务/统一计划台账.md
@@ -8,9 +8,9 @@ - 产品目标:把 SalesCRM 从单文件演示原型改造成安全、可维护、可测试、可部署的正式内部系统。 - 当前里程碑:研发治理基线封版、角色会话串行调度整改与P0安全整改准备。 - 当前 Gate:CRM-20260717-006隔离环境最小Gate A已PASS,第一阶段本地/隔离验收完成;CRM-003整体Gate R和产品Gate P均已PASS,方案阶段闭环。 - 当前 Gate:CRM-20260718-001 D盘旧版可恢复备份本地Gate P PASS;代码与正式文档待提交推送。 - Go/No-Go:`No-Go`,P0账号/数据/Git历史风险未关闭前不得正式生产上线。 - 当前唯一下一棒:产品与项目管理按既有队列处理CRM-003 Gate P;CRM-006本轮不再增加评审,后续部署须另行授权,当前仍无正式线上授权。 - 当前唯一下一棒:项目管理员提交并推送当前代码与正式文档;后续架构改版以D盘基线为旧版回退参照。无生产授权。 ## 活跃任务 @@ -20,7 +20,8 @@ | P0 | CRM-20260717-007 | 防止协作消息打断角色任务,建立WIP=1持久队列和执行锁 | 已提交并推送 | Gate P-PASS | 产品/项目管理员持续执行 | [任务目录](<./202607/0717-会话串行调度/导读.md>) | | P0 | CRM-20260717-001 | 本地化研发体系并初始化角色会话 | 已提交并推送 | Gate P-PASS | Owner/项目管理员维护Git基线 | [任务目录](<./202607/0717-研发体系本地化/导读.md>) | | P0 | CRM-20260717-002 | 隔离Git中的运行数据和账号密码,完成轮换与历史治理 | 待Owner裁决 | Gate N | 产品/架构/安全 | [系统现状](<../架构/系统现状与改造路线.md>) | | P0 | CRM-20260717-006 | 员工登录后自主修改本人密码,安全与体验能力分期完善 | 第一阶段前后端实现、自测、Gate C及隔离环境最小验收均PASS;本地/隔离可用,未部署 | Gate A-PASS(隔离) | Owner/项目管理员;部署另行授权 | [任务目录](<./202607/0717-员工修改密码/导读.md>) | | P0 | CRM-20260717-006 | 员工登录后自主修改本人密码,安全与体验能力分期完善 | 本机部署、前后端Gate D、真实浏览器Gate A及本地范围Gate P均PASS;生成数据回环实例本地可用 | Gate P-PASS(本地) | 项目管理员维护本地实例 | [任务目录](<./202607/0717-员工修改密码/导读.md>) | | P0 | CRM-20260718-001 | 架构改版前形成D盘旧版可恢复、可启动、可校验的发布输入备份 | 八项验收、部署、Gate D/A、停止重启和本地Gate P均PASS;待提交推送 | Gate P-PASS(本地备份) | 项目管理员 | [任务目录](<./202607/0718-旧版可恢复备份/导读.md>) | | P1 | CRM-20260717-003 | 冻结面向Web与移动端的模块化单体、MySQL、本地环境和渐进迁移方案 | 整体Gate R和产品Gate P均PASS,方案阶段闭环;第一实施任务待独立登记 | Gate P-PASS | 项目管理员 | [任务目录](<./202607/0717-模块化单体架构方案/导读.md>) | | P1 | CRM-20260717-004 | 建立自动化测试、质量门禁和最小CI | 待架构方案 | Gate N | 测试/架构 | [系统现状](<../架构/系统现状与改造路线.md>) | | P1 | CRM-20260717-005 | 加固部署、HTTPS、最小权限、备份和恢复 | 待安全整改 | Gate N | 运维/架构 | [系统现状](<../架构/系统现状与改造路线.md>) | @@ -44,6 +45,7 @@ | 2026-07-17 | 每个角色会话WIP=1,新协作消息必须先入持久队列,active/有锁时禁止投递 | Owner发现协作消息抢占导致原任务丢失 | Owner/项目管理员 | 全部角色会话和跨角色协作 | 首轮真实多任务串行完成后 | | 2026-07-17 | CRM-003采用MySQL、模块化单体、渐进迁移和本地优先;API面向Web与后续移动端 | Owner在正式架构会话确认方向并补充移动端范围 | Owner | 目标架构与后续工程改造 | Gate N/R方案完成后复核 | | 2026-07-17 | CRM-006先落地基本改密闭环,再分段迭代完善;避免重复评审和过度设计,以交付效率优先 | Owner在Gate R通过后明确要求“小需求不要小题大做” | Owner | CRM-20260717-006实现与后续迭代 | 范围或安全底线发生实质变化时 | | 2026-07-18 | 架构改版前先把当前已验收旧版整理到`D:\SalesCRM`,形成可恢复、可启动、可校验的发布输入备份 | Owner明确要求保留可用旧版本作为改版回退基线 | Owner | CRM-20260718-001及后续架构改版 | 旧版备份本地Gate P通过后 | ## 进展日志 @@ -73,5 +75,8 @@ - 会话交接:后端和前端故障会话均按完整历史回读、同队列恢复、验收PASS、正式ID切换、旧会话归档的顺序完成;无任务丢失。 - Gate R闭环:后端COLLAB-092、前端COLLAB-095、测试COLLAB-096均PASS;产品COLLAB-098确认七个专业角色最终均PASS、v0.4契约唯一、R-01至R-11无未决分歧。该时间点CRM-006实现仍为0%,未测试、未部署、不可上线。 - CRM-006第一阶段闭环:前端QUEUE-039、后端QUEUE-040开发自测和一次独立Gate C均PASS;测试QUEUE-043使用虚构内存与回环短生命周期服务完成19/19项隔离验收,结论为首版本地/隔离可用。未部署、Gate D/P未执行,生产No-Go继续有效。 - CRM-006本机部署闭环:COLLAB-20260718-007回环部署PASS,前后端COLLAB-009/011 Gate D均PASS;测试COLLAB-013使用真实浏览器完成登录、错误关闭、正确改密、退出、新旧密码重登、360px、账号复位和测后存活,阻塞性控制台错误0;产品COLLAB-015本地范围Gate P PASS。实例继续运行且只使用生成数据,不代表生产可用。 - CRM-003 Gate R闭环:架构COLLAB-113、前端COLLAB-104、后端COLLAB-20260718-002、安全COLLAB-143、测试COLLAB-144、运维COLLAB-145均PASS;COLLAB-20260718-003为更正后的唯一整体Gate R PASS。前端依据COLLAB-104及COLLAB-113“不回退PASS项”作项目级无回归裁决,不重复创建同义评审。 - CRM-003 Gate P闭环:COLLAB-20260718-005 PASS;第一实施任务冻结为“本地工程骨架 + Windows MySQL薄型样例”,只用生成数据,并须另立任务。BLOCK-001至003和生产No-Go继续有效。 - CRM-20260718-001登记:Owner要求架构改版前先形成D盘旧版可恢复备份;当前D盘旧副本未运行但前后端哈希落后,必须先完整保全再做白名单部署和真实浏览器验证。 - CRM-20260718-001本地闭环:部署前快照30文件差异0,D盘白名单源码与审核基线一致,代码归档禁入项0,前后端Gate D和真实浏览器Gate A均PASS;停止脚本BOM缺陷在同一恢复演练内整改并完成无人工状态修补的停止/直接重启,COLLAB-032本地Gate P PASS。生产No-Go继续有效。 docs/任务/角色队列/产品与项目管理.md
@@ -4,7 +4,7 @@ - WIP上限:`1` - 执行锁:`IDLE` - 当前队列项:无 - 最后检查点:2026-07-18,COLLAB-20260718-005产品Gate P PASS,第一实施任务已冻结,QUEUE-044已释放 - 最后检查点:2026-07-18,COLLAB-20260718-032本地备份范围Gate P PASS;八项验收全部闭环,QUEUE-056已释放 | 顺序 | 队列编号 | 任务/事件 | 优先级 | 状态 | 入队时间 | 验收 | | --- | --- | --- | --- | --- | --- | --- | @@ -17,3 +17,6 @@ | 7 | `QUEUE-20260717-031` | `CRM-20260717-006 / COLLAB-20260717-088` | P0 | COMPLETED | 2026-07-17 | PASS;v0.4唯一契约、废止项和后端确认输入已同步 | | 8 | `QUEUE-20260717-033` | `CRM-20260717-006 / COLLAB-20260717-097` | P0 | COMPLETED | 2026-07-17 | PASS;七角色最终均PASS,v0.4唯一契约和R-01至R-11整体冻结 | | 9 | `QUEUE-20260717-044` | `CRM-20260717-003 / COLLAB-20260718-004、005` | P1 | COMPLETED | 2026-07-18 | PASS;第一实施任务冻结为本地工程骨架 + Windows MySQL薄型样例;不做全量迁移或生产部署 | | 10 | `QUEUE-20260717-049` | `CRM-20260717-006 / COLLAB-20260718-014、015` | P0 | COMPLETED | 2026-07-18 | PASS;十项MVP标准、本机部署、前后端Gate D和真实浏览器Gate A全部闭环,仅代表生成数据回环实例本地可用 | | 11 | `QUEUE-20260717-050` | `CRM-20260718-001 / COLLAB-20260718-016` | P0 | COMPLETED | 2026-07-18 | PASS;D盘旧版可恢复备份范围、八项验收、数据边界、回滚和生产No-Go已冻结 | | 12 | `QUEUE-20260717-056` | `CRM-20260718-001 / COLLAB-20260718-031、032` | P0 | COMPLETED | 2026-07-18 | PASS;快照、部署、归档、Gate D/A和无人工停止重启满足八项验收,仅代表本地可恢复发布输入 | docs/任务/角色队列/前端开发.md
@@ -4,7 +4,7 @@ - WIP上限:`1` - 执行锁:`IDLE` - 当前队列项:无 - 最后检查点:2026-07-17,新正式会话完成接管,QUEUE-039前端最小实现与自测PASS并回传COLLAB-133 - 最后检查点:2026-07-18,COLLAB-20260718-024前端Gate D复核PASS;归档路径更正关闭,QUEUE-052已释放 | 顺序 | 队列编号 | 任务/事件 | 优先级 | 状态 | 入队时间 | 验收 | | --- | --- | --- | --- | --- | --- | --- | @@ -13,3 +13,5 @@ | 3 | `QUEUE-20260717-024` | `CRM-20260717-006 / COLLAB-20260717-071、093、094` | P0 | COMPLETED | 2026-07-17 | PASS;完整交接旧历史,v0.4接口、字符、响应、错误码、交互和自测输入全部关闭 | | 4 | `QUEUE-20260717-034` | `CRM-20260717-003 / COLLAB-20260717-099` | P1 | COMPLETED | 2026-07-17 | PASS;技术栈、目录、渐进迁移、多客户端契约和第一链路可实施 | | 5 | `QUEUE-20260717-039` | `CRM-20260717-006 / COLLAB-20260717-109、132、133` | P0 | COMPLETED | 2026-07-17 | PASS;完成账号入口、改密表单、专用请求、错误映射、退出和最小自测 | | 6 | `QUEUE-20260717-047` | `CRM-20260717-006 / COLLAB-20260718-010、011` | P0 | COMPLETED | 2026-07-18 | PASS;运行页面与审核源码一致,入口/三字段、专用两字段请求、失败关闭和360px规则通过 | | 7 | `QUEUE-20260717-052` | `CRM-20260718-001 / COLLAB-20260718-019、021、023、024` | P0 | COMPLETED | 2026-07-18 | PASS;功能和归档内容通过,路径事实源更正后同项复核PASS | docs/任务/角色队列/后端开发.md
@@ -4,7 +4,7 @@ - WIP上限:`1` - 执行锁:`IDLE` - 当前队列项:无 - 最后检查点:2026-07-18,COLLAB-151复评PASS,QUEUE-035已释放;未执行工程实现 - 最后检查点:2026-07-18,COLLAB-20260718-022后端Gate D PASS;版本、归档、改密、复位、数据守恒和测后存活通过,QUEUE-053已释放 | 顺序 | 队列编号 | 任务/事件 | 优先级 | 状态 | 入队时间 | 验收 | | --- | --- | --- | --- | --- | --- | --- | @@ -14,3 +14,5 @@ | 4 | `QUEUE-20260717-032` | `CRM-20260717-006 / COLLAB-20260717-090、091` | P0 | COMPLETED | 2026-07-17 | PASS;完整交接旧历史,v0.4唯一契约和当前单写实例可实施性确认完成 | | 5 | `QUEUE-20260717-035` | `CRM-20260717-003 / COLLAB-20260717-100、COLLAB-20260718-001、002` | P1 | COMPLETED | 2026-07-17 | PASS;20260718-001/002更正旧日期并发编号冲突,首链Schema/API、迁移栈、HTTPS会话/CSRF、单写切流和可重复命令缺口已在方案级关闭 | | 6 | `QUEUE-20260717-040` | `CRM-20260717-006 / COLLAB-20260717-110、130、131` | P0 | COMPLETED | 2026-07-17 | PASS;完成v0.4专用接口、校验、原子/CAS、错误码、主管兼容和虚构自测 | | 7 | `QUEUE-20260717-046` | `CRM-20260717-006 / COLLAB-20260718-008、009` | P0 | COMPLETED | 2026-07-18 | PASS;审核源码一致、仅回环、错误当前密码拒绝、204成功、新旧凭据切换与复位通过 | | 8 | `QUEUE-20260717-053` | `CRM-20260718-001 / COLLAB-20260718-020、022` | P0 | COMPLETED | 2026-07-18 | PASS;目标/运行/归档/审核源码一致,改密与复位通过,原数据哈希守恒,实例测后存活 | docs/任务/角色队列/测试与质量.md
@@ -4,7 +4,7 @@ - WIP上限:`1` - 执行锁:`IDLE` - 当前队列项:无 - 最后检查点:2026-07-18,QUEUE-043隔离环境最小Gate A共19/19项PASS并回传COLLAB-149;短生命周期回环服务已关闭,未触碰运行数据或仓库状态 - 最后检查点:2026-07-18,COLLAB-20260718-026真实浏览器Gate A PASS;账号复位、原数据守恒和双实例存活通过,QUEUE-054已释放 | 顺序 | 队列编号 | 任务/事件 | 优先级 | 状态 | 入队时间 | 验收 | | --- | --- | --- | --- | --- | --- | --- | @@ -13,3 +13,5 @@ | 3 | `QUEUE-20260717-027` | `CRM-20260717-006 / COLLAB-20260717-074` | P0 | COMPLETED | 2026-07-17 | PASS;v0.4契约、十项矩阵、隔离环境、复位和计划自动化入口均可执行 | | 4 | `QUEUE-20260717-037` | `CRM-20260717-003 / COLLAB-20260717-102、141、144` | P1 | COMPLETED | 2026-07-17 | PASS;方案级测试入口、夹具、对账、恢复和保护规则全部关闭 | | 5 | `QUEUE-20260717-043` | `CRM-20260717-006 / COLLAB-20260717-148、149、151` | P0 | COMPLETED | 2026-07-18 | PASS;前端静态契约7项、回环内存API 12项,共19/19通过,首版隔离环境可用 | | 6 | `QUEUE-20260717-048` | `CRM-20260717-006 / COLLAB-20260718-012、013` | P0 | COMPLETED | 2026-07-18 | PASS;真实浏览器完成登录、错误关闭、正确改密、退出、新旧密码重登、360px、复位和测后存活,阻塞性控制台错误0 | | 7 | `QUEUE-20260717-054` | `CRM-20260718-001 / COLLAB-20260718-025、026` | P0 | COMPLETED | 2026-07-18 | PASS;真实浏览器改密闭环、360px、复位、控制台、双实例存活和原数据哈希守恒通过 | docs/任务/角色队列/运维与发布.md
@@ -4,10 +4,13 @@ - WIP上限:`1` - 执行锁:`IDLE` - 当前队列项:无 - 最后检查点:2026-07-18,COLLAB-145复评PASS,QUEUE-038已释放;未执行Gate D或环境变更 - 最后检查点:2026-07-18,COLLAB-20260718-030恢复整改复验PASS;无人工状态修补的停止/直接重启完成,QUEUE-055已释放 | 顺序 | 队列编号 | 任务/事件 | 优先级 | 状态 | 入队时间 | 验收 | | --- | --- | --- | --- | --- | --- | --- | | 1 | `QUEUE-20260717-008` | `CRM-20260717-007 / COLLAB-20260717-041` | P0 | COMPLETED | 2026-07-17 | PASS;确认部署步骤不中断且恢复原项 | | 2 | `QUEUE-20260717-028` | `CRM-20260717-006 / COLLAB-20260717-075` | P0 | COMPLETED | 2026-07-17 | PASS;隔离测试环境、备份、复位、回滚和HTTPS停止线已冻结 | | 3 | `QUEUE-20260717-038` | `CRM-20260717-003 / COLLAB-20260717-103、142、145` | P1 | COMPLETED | 2026-07-17 | PASS;机械MySQL基线、健康、恢复Runbook和单写切流证据已在方案级关闭 | | 4 | `QUEUE-20260717-045` | `CRM-20260717-006 / COLLAB-20260718-006、007` | P0 | COMPLETED | 2026-07-18 | PASS;回环实例存活、页面哈希一致、API机械可达、`data/`访问被阻断且停止入口有效 | | 5 | `QUEUE-20260717-051` | `CRM-20260718-001 / COLLAB-20260718-017、018` | P0 | COMPLETED | 2026-07-18 | PASS;30文件快照差异0,12个白名单文件一致,代码归档禁入项0,D盘实例仅监听127.0.0.1且E盘实例不受影响 | | 6 | `QUEUE-20260717-055` | `CRM-20260718-001 / COLLAB-20260718-027、028、029、030` | P0 | COMPLETED | 2026-07-18 | PASS;停止脚本无BOM原子写入整改完成,无人工修补的停止/直接重启、健康和全部守恒项通过 |