11 KiB
11 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | WROAD2-0 | 受控上线合同与边界冻结 | 建立 WROAD2+OPS 受控上线与每日巡检合同;承接系统核心能力 GO_TO_USE/GO_TO_OPERATE 和 WARCH2 请假/补卡 OA 自建留存查询结果。本阶段不直接进入 wecom_attendance_approval_mirror_v1,改为测试账号受控上线、每日脚本化巡检和归档稳定化优先。范围固定为 SMOKE002 -> SMOKE101 + wangshunli,3 天试用,每日一次脚本化触发;外出/加班先延期,打卡留存 V1 摘要优先,P2 大功能继续冻结。 | 1) WARCH2 后路线调整为 WARCH2 -> WROAD2+OPS -> WARCH3 -> WCHECK1 -> 镜像/应急/回写/RuleOps;2) 明确可受控使用和完整镜像增强分离;3) 试用范围为测试账号,不扩大真实员工;4) 不安装 cron/systemd timer;5) 不创建企微模板、不提交审批单、不写企业微信;6) 企微相关 Secret 来源固定,审批补偿和归档读取使用 WECOM_AGENT_SECRET,不尝试其他 Secret、无 fallback、不允许运行时猜 Secret;7) 缺 Secret、权限、可信 IP、可见范围、模板或外部配置时记录 NEEDS_CONFIG 或 SKIP/BLOCKED_BY_EXTERNAL_CONFIG。 | 受影响流程:WARCH2 已归档请假/补卡历史 -> 受控上线路线冻结 -> 后续每日巡检和归档稳定化;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-20_11-30-22-wroad2-ops-controlled-launch-v1.csv;node scripts/qa/check-process-contract.mjs --issue issues/2026-05-20_11-30-22-wroad2-ops-controlled-launch-v1.csv --profile wecom --json。 | python3|node|manual | DONE | DONE | DONE | issues/2026-05-20_11-30-22-wroad2-ops-controlled-launch-v1.csv | [] | 回滚/清理:本行仅合同;如路线不通过,删除本合同和后续事实源改动即可,不影响已部署 WARCH2。保留审计,不清理既有测试数据。 |
| 3 | WROAD2-1 | 路线事实源回写 | 更新路线图、PRD/规约、管理员手册、试运行报告、文档索引、事实源矩阵和项目 skill,固化 WROAD2+OPS 决策。 | 1) 文档明确当前可进入测试账号受控上线,不等于完整镜像完成;2) 外出/加班延期且不阻断当前上线;3) 打卡摘要优先,不保存完整位置、人脸、设备明文或原始 payload;4) WARCH3 归档稳定化为 WROAD2+OPS 后优先阶段;5) 其他 P2 大功能继续冻结;6) 文档不暗示 OA 正常替代企微 HR/考勤办理。 | 受影响流程:路线事实源 -> 后续 Issue 拆分 -> 实施人员按当前边界开发;验证步骤:node scripts/qa/audit-docs.mjs --check-registry;python3 /home/shunli/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/hyb-oa-delivery;rg -n "WROAD2|受控上线|WARCH3|WCHECK1|外出/加班|P2 大功能继续冻结|SKIP/BLOCKED_BY_EXTERNAL_CONFIG" docs .agents/skills/hyb-oa-delivery/SKILL.md。 | node|python3|rg | DONE | DONE | DONE | docs/企微优先开发路线图.md|docs/海音达OA-MVP需求规格说明书.md|docs/需求-企业微信基础设施规约.md|docs/需求-请假考勤修正规约.md|docs/管理员手册.md|docs/trialrun/人工试运行报告.md|docs/文档索引.md|docs/文档事实源状态矩阵.md|.agents/skills/hyb-oa-delivery/SKILL.md | ["WROAD2-0"] | 回滚/清理:恢复本阶段文档改动即可;不修改历史 Issue 快照。 |
| 4 | WROAD2-2 | 每日巡检编排脚本 | 新增 QA-only 一键巡检脚本 scripts/qa/run-wroad2-ops-daily.sh,复用现有公网 readiness、feature flag、企微 runtime、审批补偿拉取和 OA 归档离线读取 runner。 | 1) 脚本输出 artifacts/qa-flow/wroad2-ops-<timestamp>/summary.json;2) 默认不写企业微信、不创建模板、不提交审批单、不安装持久定时任务;3) 仅审批补偿归档步骤允许以进程级 WECOM_ARCHIVE_WRITE=1 + --persist-to-db 写 OA 自建留存库;4) 审批补偿固定 WECOM_AGENT_SECRET,不尝试其他 Secret、无 fallback、不允许运行时猜 Secret;5) 缺配置按 NEEDS_CONFIG 或 SKIP/BLOCKED_BY_EXTERNAL_CONFIG 记录,不伪造成 PASS;6) 报告不泄露手机号、邮箱、token、secret、完整 userid、完整 template_id、完整 sp_no、原始 XML、密文、表单值、附件、评论或原始 payload。 | 受影响流程:每日巡检 -> 公网健康检查 -> 企微只读运行验收 -> 审批补偿写 OA 留存 -> OA 离线归档读取;验证步骤:bash -n scripts/qa/run-wroad2-ops-daily.sh;本地不要求执行 live 脚本;公网以 SYNC_ENV=0 部署后远端执行脚本生成 summary.json。 | bash|node|npm | DONE | DONE | DONE | scripts/qa/run-wroad2-ops-daily.sh|deploy/trialrun/Dockerfile | ["WROAD2-1"] | 回滚/清理:删除脚本或恢复镜像 Dockerfile 即可;脚本不安装 cron/systemd timer。巡检写入只限 OA 留存库,保留审计;不写企微数据。 |
| 5 | WROAD2-3 | 本地门禁与最小回归 | 执行 WROAD2+OPS 本地合同、流程、文档和最小门禁,确保脚本和事实源可交付。 | 1) Issue CSV 校验通过;2) process baseline 和 WROAD2 issue profile 通过;3) bash 语法通过;4) 文档审计和 skill 校验通过;5) git diff --check 与 scripts/check-minimal.sh 通过。 | 受影响流程:开发合同 -> 本地 QA -> 可部署候选;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-20_11-30-22-wroad2-ops-controlled-launch-v1.csv;node scripts/qa/check-process-contract.mjs --baseline --json;node scripts/qa/check-process-contract.mjs --issue issues/2026-05-20_11-30-22-wroad2-ops-controlled-launch-v1.csv --profile wecom --json;bash -n scripts/qa/run-wroad2-ops-daily.sh;node scripts/qa/audit-docs.mjs --check-registry;python3 /home/shunli/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/hyb-oa-delivery;git diff --check;bash scripts/check-minimal.sh。 | python3|node|bash|git | DONE | DONE | DONE | issues/2026-05-20_11-30-22-wroad2-ops-controlled-launch-v1.csv|scripts/qa/run-wroad2-ops-daily.sh|deploy/trialrun/Dockerfile|docs/*|.agents/skills/hyb-oa-delivery/SKILL.md | ["WROAD2-2"] | 回滚/清理:若本地门禁失败,不部署;修复后重跑。 |
| 6 | WROAD2-4 | 公网 Day 0 基线巡检 | 本地门禁通过后,以 SYNC_ENV=0 受控部署并远端执行一次 WROAD2+OPS 巡检,作为 3 天试用 Day 0 基线。 | 1) 使用 SYNC_ENV=0,不同步本地 env,不改企微后台密钥;2) /ready 正常;3) 远端脚本生成 WROAD2+OPS summary.json;4) 结论限定为 PASS_CONTROLLED_OPS_READY、PASS_WITH_FINDINGS、PAUSED_MANUAL_CONFIRMATION 或真实 SKIP/BLOCKED_BY_EXTERNAL_CONFIG;5) 远端报告不泄露完整外部键或敏感值;6) 若缺 Secret、权限、可信 IP、可见范围或外部配置,记录真实阻断并停止扩大范围。 | 受影响流程:受控部署 -> 公网 /ready -> Day 0 巡检 -> 3 天试用基线;验证步骤:SYNC_ENV=0 bash deploy/trialrun/deploy.sh;curl -fsS https://oa.hyinda.com/ready;远端执行 bash scripts/qa/run-wroad2-ops-daily.sh 或等效容器内命令;核对 artifacts/qa-flow/wroad2-ops-*/summary.json。 | bash|ssh|curl | DONE | DONE | DONE | deploy/trialrun/deploy.sh|scripts/qa/run-wroad2-ops-daily.sh | ["WROAD2-3"] | 回滚/清理:部署异常按既有 trialrun 部署回滚;不改远端 env,不安装定时任务。巡检写 OA 留存属于保留审计。 Day 0 已以 SYNC_ENV=0 部署并远端执行,报告 /app/artifacts/qa-flow/wroad2-ops-20260520-041941/summary.json 为 PASS_WITH_FINDINGS;企微 runtime、补偿归档、离线归档读取和隐私扫描通过,finding 为缺 live smoke 登录凭据/pending OCR 子检查异常以及历史 callback gap。 |
| 7 | WROAD2-5 | 三天脚本化试用节奏 | 固定 3 天试用节奏和人工验收方式:每日脚本化触发一次巡检,结束后自动报告 + 用户确认。 | 1) 试用期为 3 天;2) 每日一次脚本化触发,不安装 cron/systemd timer;3) 每日报告保留审计;4) 试用结束由自动报告 + wangshunli 确认是否通过;5) 期间不启动图片 OCR、复杂 BPM、预算、ERP、银行流水导入等 P2 大功能。 | 受影响流程:Day 1/2/3 巡检 -> 自动汇总 -> 用户确认;验证步骤:人工或运维每日执行 scripts/qa/run-wroad2-ops-daily.sh;检查每日 summary.json;第 3 天汇总结论并记录 PASS_CONTROLLED_OPS_READY、PASS_WITH_FINDINGS、PAUSED_MANUAL_CONFIRMATION 或 SKIP/BLOCKED_BY_EXTERNAL_CONFIG。 | manual|bash | DOING | TODO | TODO | docs/管理员手册.md|docs/trialrun/人工试运行报告.md | ["WROAD2-4"] | 回滚/清理:试用可随时暂停;测试数据和报告保留审计,不自动删除。 Day 0 已完成;Day 1/2/3 仍需每日手动触发脚本并在结束后汇总验收。 |
| 8 | WROAD2-6 | 后续路线排队 | 把 WROAD2+OPS 后续路线排队为 WARCH3 归档稳定化、WCHECK1 打卡摘要留存、WEXT1 外出/加班延期决策、完整镜像、应急、回写、RuleOps。 | 1) WARCH3 是 WROAD2+OPS 后优先实现合同;2) WCHECK1 只做打卡摘要和规则快照留存;3) WEXT1 外出/加班暂缓,需真实业务需要或用户批准后再做自动 POC;4) wecom_attendance_approval_mirror_v1 必须等 WARCH3、WCHECK1、外出/加班决策后再拆;5) 应急接管、恢复回写和 RuleOps 必须独立合同和人工批准。 | 受影响流程:WROAD2+OPS 完成 -> 后续路线排队 -> 防止跳阶段;验证步骤:rg -n "WARCH3|WCHECK1|WEXT1|wecom_attendance_approval_mirror_v1|oa_hr_emergency_mode_v1|wecom_recovery_writeback_v1|wecom_ruleops_v1" docs .agents/skills/hyb-oa-delivery/SKILL.md。 | rg|manual | DONE | DONE | DONE | docs/企微优先开发路线图.md|docs/文档索引.md|docs/文档事实源状态矩阵.md|.agents/skills/hyb-oa-delivery/SKILL.md | ["WROAD2-1"] | 回滚/清理:路线排队只影响事实源,不启动后续阶段。 |
| 9 | WROAD2-7 | 状态回填与中文提交 | 完成 Issue 状态回填、本地与公网证据登记和中文提交。 | 1) 所有已执行 Test_Method 真实通过或真实 SKIP;2) Issue 状态回填 DONE;3) 事实源写入 Day 0 公网报告路径;4) git diff --check 通过;5) 中文提交完成。 | 受影响流程:WROAD2+OPS 实施 -> 证据回写 -> 可进入 3 天试用;验证步骤:git status --short;git diff --check;git log -1 --oneline;确认提交信息包含 WROAD2。 | git|manual | DONE | DONE | DONE | issues/2026-05-20_11-30-22-wroad2-ops-controlled-launch-v1.csv|docs/*|scripts/qa/run-wroad2-ops-daily.sh|.agents/skills/hyb-oa-delivery/SKILL.md | ["WROAD2-4","WROAD2-6"] | 提交建议:WROAD2 增加受控上线每日巡检。若公网 Day 0 因外部配置 SKIP,仍可提交真实阻断事实,不伪造成 PASS。 Day 0 证据已回写;最终门禁已通过,中文提交随本合同完成。 |