9.1 KiB
9.1 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | LAUTO-0 | 合同建档与边界冻结 | 建立正式启用后自动化收口合同,锁定本轮只做自动化巡检、正式 flag 状态校验、考勤统一入口公网校验、付款批次常开回归、移动/企业微信 UA 矩阵和证据回填;不扩展业务能力。 | 1) Issue CSV 校验通过;2) 明确不新增业务 API/schema/UI/feature flag;3) 明确旧 run-p2-safe-regression.sh 不再作为正式主 runner;4) 明确不能自动完成项只记 SKIP/BLOCKED。 | 受影响流程:正式启用后自动化收口 -> 执行合同 -> 后续 QA-only 实施;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-17_17-47-45-launch-auto-ops-v1.csv。 | python3|manual | DONE | DONE | DONE | issues/2026-05-17_17-47-45-launch-auto-ops-v1.csv | [] | CSV 校验通过;回滚路径:删除本 CSV 或回退本轮提交;不涉及运行时。 |
| 3 | LAUTO-1 | 当前正式基线复核 | 只读核对 git、最新 Issue、事实源矩阵、公网 readiness 和正式 feature flag 状态:payment_batch_v1=force_on、erp_sync=force_off、attendance_v1 关闭、attendance_unified_v1 开启。 | 1) 工作区初始状态已核对;2) live smoke env strict 通过;3) live feature flag 检查通过;4) 不打印 token、cookie、远端 env 或 secret。 | 受影响流程:正式启用环境 -> flag 状态 -> 自动巡检基线;验证步骤:set -a && source ~/.hyb-oa/live-smoke.env && set +a;LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/check-live-smoke-env.mjs --strict;LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/check-live-feature-flags.mjs --expect payment_batch_v1=force_on --expect erp_sync=force_off --expect attendance_v1=disabled --expect attendance_unified_v1=enabled。 | node|bash | DONE | DONE | TODO | scripts/qa/check-live-feature-flags.mjs | ["LAUTO-0"] | PAUSE_FOR_FIX:live-smoke-env strict PASS,但公网实际 payment_batch_v1=force_off/effective=false,与本合同 force_on 基线不一致;erp_sync force_off、attendance_v1 disabled、attendance_unified_v1 enabled 均通过;未打印 token/cookie/env/secret。 |
| 4 | LAUTO-2 | 正式启用状态自动 runner | 新增 scripts/qa/run-launch-auto-ops.sh,串联本地静态门禁、公网 readiness、正式 flag 检查、考勤统一入口检查、付款批次常开回归和移动/企微矩阵;默认不切换正式 flag。 | 1) bash -n 通过;2) 默认需要 LAUNCH_AUTO_ALLOW_PUBLIC_WRITES=1 才允许公网写测试数据;3) 产出 artifacts/qa-flow/launch-auto-ops-* 报告;4) 报告不包含敏感字段。 | 受影响流程:自动收口 runner -> 本地/公网门禁 -> 证据报告;验证步骤:bash -n scripts/qa/run-launch-auto-ops.sh;LAUNCH_AUTO_ALLOW_PUBLIC_WRITES=1 QA_ISSUE_ID=LAUTO LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-launch-auto-ops.sh。 | bash|node|playwright | DONE | DONE | DONE | scripts/qa/run-launch-auto-ops.sh | ["LAUTO-1"] | bash -n 通过;报告 artifacts/qa-flow/launch-auto-ops-20260517-175548/ 已生成,状态 FAIL 原因是 LAUTO-1 flag drift;runner 在前置失败后跳过付款批次写入,未切换 flag。 |
| 5 | LAUTO-3 | 考勤统一入口 live 检查 | 新增 scripts/qa/check-live-attendance-unified.mjs,验证旧 OA 打卡 API 返回 409,月度汇总可读,补卡/外出/加班列表可读,企微同步按配置返回 PASS 或 SKIP。 | 1) 旧 /api/attendance/clock-in 返回 409 attendance_v1_disabled;2) /api/attendance/monthly 返回 200;3) /api/attendance-corrections 返回 200;4) 企微同步缺配置时记录 SKIP,不伪造成 PASS。 | 受影响流程:员工考勤查看 -> OA 修正列表 -> 管理员企微同步;验证步骤:LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/check-live-attendance-unified.mjs --json;可选 LAUNCH_AUTO_RUN_WECOM_SYNC=1 触发短日期窗口同步。 | node | DONE | DONE | DONE | scripts/qa/check-live-attendance-unified.mjs | ["LAUTO-1"] | 公网检查 PASS:legacy clock-in 409 attendance_v1_disabled,monthly 200,attendance-corrections 200,sync-runs 200;显式 LAUNCH_AUTO_RUN_WECOM_SYNC=1 后 wecom-checkin-sync 返回 SKIP code=wecom_checkin_sync_disabled,employeeCount=12 boundUserCount=5 recordCount=0。 |
| 6 | LAUTO-4 | 付款批次常开回归适配 | 扩展既有公网付款批次 Playwright spec 支持正式已开启模式:不要求初始 flag off,不执行 flag on/off 切换,仍覆盖创建测试报销、审批、批次、复核、回单、执行、AP 导出和审计。 | 1) 正式开启模式下不调用 feature flag 更新;2) 测试数据 marker 为 LAUNCHAUTO;3) 报销 paid、票据 archived、AP 台账 paid、回单下载 200、AP 导出 200、关键审计可查;4) erp_sync 保持关闭。 | 受影响流程:报销 -> 审批 -> 付款批次 -> 银行回单 -> OA 已付款 -> AP 导出 -> 审计;验证步骤:cd client && PLAYWRIGHT_MANUAL=1 E2E_MODE=live P2_FIN_LIVE_APPROVED=1 P2_FIN_LIVE_ALREADY_ON=1 P2_FIN_LIVE_FINAL_STATE=force_on QA_ISSUE_ID=LAUTO P2_FIN_LIVE_MARKER_PREFIX=LAUNCHAUTO LIVE_SMOKE_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/manual/p2-fin-live-payment-batch.spec.ts --workers=1 --reporter=list。 | playwright|node | DONE | DONE | TODO | client/tests/e2e/manual/p2-fin-live-payment-batch.spec.ts | ["LAUTO-2"] | Spec 已支持 P2_FIN_LIVE_ALREADY_ON=1,失败路径不再回滚关闭正式 flag;公网付款闭环因 LAUTO-1 检出 payment_batch_v1=force_off 被 runner 安全跳过,未创建 LAUNCHAUTO 付款测试数据。 |
| 7 | LAUTO-5 | 本地自动化门禁 | 执行后端 prisma、node --check、focused 单测和前端 typecheck/build,确认 QA-only 变更不破坏当前代码基线。 | 1) prisma validate 通过;2) 指定后端 node --check 通过;3) focused 单测通过;4) client typecheck/build 通过。 | 受影响流程:QA-only 变更 -> 本地代码基线;验证步骤:cd server && npm run prisma:validate;cd server && node --check src/routes/attendance.js src/routes/attendanceCorrections.js src/routes/paymentBatches.js src/routes/exports.js src/routes/wecomAuth.js;cd server && npm test -- tests/unit/routes/attendance.test.js tests/unit/routes/attendanceCorrections.test.js tests/unit/routes/paymentBatches.reimbursement.test.js tests/unit/routes/exports.apOperations.test.js tests/unit/routes/wecomAuth.test.js tests/unit/routes/notifications.test.js;cd client && npm run typecheck && npm run build。 | npm|node|prisma | DONE | DONE | DONE | server/src/routes/attendance.js|server/src/routes/attendanceCorrections.js|server/src/routes/paymentBatches.js|server/src/routes/exports.js|server/src/routes/wecomAuth.js|client | ["LAUTO-2","LAUTO-3","LAUTO-4"] | 本地门禁 PASS:prisma validate;node --check;server focused 6 files/42 tests passed;client typecheck/build passed。 |
| 8 | LAUTO-6 | 公网 readiness 与移动企微矩阵 | 跑公网 readiness、PDF live OCR、正式 flag 检查、考勤统一入口检查、移动信息架构矩阵和企业微信 UA/渲染矩阵,形成正式启用后自动化证据。 | 1) live readiness PASS,允许 pending OCR 非阻断 SKIP;2) PDF live OCR PASS;3) 公网移动矩阵通过;4) 企业微信 UA/渲染矩阵通过。 | 受影响流程:公网正式环境 -> 员工/移动/企业微信入口 -> 自动化证据;验证步骤:QA_ISSUE_ID=LAUTO LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh;cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts tests/e2e/r6-wecom-mobile-rendering-hardening.spec.ts --workers=1 --reporter=list。 | bash|playwright | DONE | DONE | DONE | scripts/qa/run-live-smoke-readiness.sh|client/tests/e2e | ["LAUTO-5"] | 公网 readiness PASS:live smoke 3 passed、PDF live OCR 1 passed、pending OCR 非阻断 SKIP;公网移动矩阵 6 passed;企业微信 UA/渲染矩阵 8 passed。 |
| 9 | LAUTO-7 | 证据回填与提交 | 回填本 Issue CSV、文档索引、事实源矩阵和人工试运行报告,记录 GO_TO_OPERATE、PAUSE_FOR_FIX 或 BLOCKED_BY_EXTERNAL_CONFIG 结论并中文提交。 | 1) CSV 状态按实测回填;2) 文档索引、事实源矩阵和人工试运行报告记录本轮证据;3) audit-docs 通过;4) git diff --check 通过;5) 中文 commit 引用 LAUTO。 | 受影响流程:自动化证据 -> 事实源 -> 后续运营判断;验证步骤:node scripts/qa/audit-docs.mjs --check-registry;rg -n 'LAUTO|LAUNCH-AUTO-OPS|GO_TO_OPERATE|payment_batch_v1|attendance_unified_v1|launch-auto-ops' docs issues scripts client/tests;git diff --check;git status --short。 | node|rg|git | DONE | DONE | DONE | docs/文档索引.md|docs/文档事实源状态矩阵.md|docs/trialrun/人工试运行报告.md|issues/2026-05-17_17-47-45-launch-auto-ops-v1.csv | ["LAUTO-6"] | 完成:docs 和 CSV 已回填;validate PASS,audit-docs errors=0 warnings=1 为既有 unregistered docs warning;rg 关键词核对完成;git diff --check PASS;本轮总体结论 PAUSE_FOR_FIX,原因是公网 payment_batch_v1 当前 force_off 与正式常开口径不一致。 |