文件
hyb-oa/issues/2026-05-17_19-30-44-auto-remaining-closeout.csv
T

10 行
9.8 KiB
CSV

"ID","Title","Description","Acceptance","Test_Method","Tools","Dev_Status","Review1_Status","Regression_Status","Files","Dependencies","Notes"
"AUTOREM-0","合同建档与边界冻结","建立 AUTO-REMAINING-CLOSEOUT 合同,锁定本轮只处理剩余无需人工操作事项:恢复正式付款批次 flag、复跑正式自动巡检、企微同步自动探测和事实源回填;不新增业务能力。","1) Issue CSV 校验通过;2) 结论只允许 GO_TO_OPERATE、PAUSE_FOR_FIX、BLOCKED_BY_EXTERNAL_CONFIG;3) 不新增业务 API/schema/UI/feature flag;4) 不部署、不接真实支付、不接 ERP、不开放图片 OCR、不导入银行流水、不重置数据库。","受影响流程:LAUTO 暂停结论 -> 剩余自动化收口合同 -> 后续自动恢复和巡检;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-17_19-30-44-auto-remaining-closeout.csv。","python3|manual","DONE","DONE","DONE","issues/2026-05-17_19-30-44-auto-remaining-closeout.csv","[]","完成:CSV 初始校验通过;本轮边界固定为 QA-only 脚本、正式 flag 恢复、自动巡检和事实源回填;不部署、不改业务运行时代码、不接真实支付/ERP/图片 OCR/银行流水。"
"AUTOREM-1","当前基线复核","只读核对工作区、最新提交、live smoke/PDF OCR、公网当前 feature flag、考勤统一入口、LAUTO 报告和事实源状态;不打印 secret、cookie、远端 env、PDF 路径或导出明细。","1) 工作区基线已记录;2) check-live-smoke-env --strict 通过;3) 当前 flag 状态按真实结果记录;4) 考勤统一入口 live 检查通过或记录阻断;5) LAUTO 暂停原因已引用。","受影响流程:正式环境 -> 自动巡检基线 -> flag drift 判断;验证步骤: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;LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/check-live-attendance-unified.mjs --json。","git|node|bash","DONE","DONE","DONE","scripts/qa/check-live-smoke-env.mjs|scripts/qa/check-live-feature-flags.mjs|scripts/qa/check-live-attendance-unified.mjs|artifacts/qa-flow/launch-auto-ops-20260517-175548","[""AUTOREM-0""]","完成:基线提交 70fdd1d;check-live-smoke-env --strict PASS,publicReady/liveSmokeReady/liveOcrReady=true;初始 flag 检查仅 payment_batch_v1 失败,实际 force_off/effective=false/version=15,erp_sync force_off、attendance_v1 disabled、attendance_unified_v1 enabled 均 PASS;考勤统一入口 live 检查 PASS。"
"AUTOREM-2","恢复正式付款批次 flag","新增或使用 QA-only 安全脚本,使用 live smoke admin 账号将公网 payment_batch_v1 恢复为 force_on,同时核验 erp_sync 仍为 force_off;只改这一项 feature flag。","1) 脚本必须要求显式批准变量;2) 只允许更新 payment_batch_v1;3) 更新后 payment_batch_v1 overrideMode=force_on 且 effectiveEnabled=true;4) erp_sync effectiveEnabled=false;5) 输出只含 flag 状态、版本和原因摘要,不输出 token/cookie/env。","受影响流程:正式付款批次常开配置 -> flag 恢复 -> 后续 LAUTO 重跑;验证步骤:node --check scripts/qa/restore-live-payment-batch-flag.mjs;AUTOREM_RESTORE_APPROVED=1 QA_ISSUE_ID=AUTOREM LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/restore-live-payment-batch-flag.mjs --mode=force_on;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","DONE","DONE","DONE","scripts/qa/restore-live-payment-batch-flag.mjs","[""AUTOREM-1""]","完成:新增 QA-only 恢复脚本,要求 AUTOREM_RESTORE_APPROVED=1;公网 payment_batch_v1 从 force_off version=15 恢复为 force_on version=16,effective=true reason=flag_force_on_global;erp_sync 保持 force_off/effective=false;恢复后正式 flag 检查 PASS。"
"AUTOREM-3","复跑正式启用后自动巡检","恢复 flag 后执行 run-launch-auto-ops.sh,允许 LAUNCHAUTO marker 公网测试数据,覆盖 readiness、PDF live OCR、考勤统一入口、付款批次常开闭环、AP 导出、审计、移动矩阵和企业微信 UA/渲染矩阵。","1) run-launch-auto-ops.sh 返回 0;2) 报告落到 artifacts/qa-flow/launch-auto-ops-*;3) payment-batch-force-on-flow 执行而非跳过;4) 测试数据带 LAUNCHAUTO/AUTOREM marker;5) 报告不含敏感字段、PDF 路径、回单内容或导出明细。","受影响流程:正式启用后巡检 -> 公网测试报销 -> 付款批次 -> 回单附件 -> AP 导出 -> 审计 -> 移动/企微矩阵;验证步骤:LAUNCH_AUTO_ALLOW_PUBLIC_WRITES=1 QA_ISSUE_ID=AUTOREM LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-launch-auto-ops.sh。","bash|node|npm|playwright","DONE","DONE","DONE","scripts/qa/run-launch-auto-ops.sh|client/tests/e2e/manual/p2-fin-live-payment-batch.spec.ts|artifacts/qa-flow","[""AUTOREM-2""]","完成:报告 artifacts/qa-flow/launch-auto-ops-20260517-193317,summary status=PASS;本地 backend 42 tests passed,client typecheck/build PASS;live readiness PASS,PDF live OCR 可解释通过;payment-batch-force-on-flow 1 passed,测试报销 BX-20260517-0027 paid,票据 archived,AP 台账 paid,导出 200,审计断言通过;公网移动矩阵 6 passed,企业微信渲染矩阵 8 passed。"
"AUTOREM-4","企微打卡同步自动探测","显式触发短日期窗口企微打卡同步检查;若远端缺 WECOM_CHECKIN_SECRET 或 API 权限,记录 SKIP,不影响 OA 统一考勤入口完成态。","1) check-live-attendance-unified 返回 PASS 或仅包含 wecom-checkin-sync SKIP;2) SKIP 原因记录为缺配置/权限;3) 不保存或打印企微 secret、access token、完整位置、人脸、设备明文或原始 payload;4) 不使用企微原生审批。","受影响流程:企微打卡原始采集 -> OA 同步入口探测 -> 月度考勤解释;验证步骤:LAUNCH_AUTO_RUN_WECOM_SYNC=1 LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/check-live-attendance-unified.mjs --json。","node","DONE","DONE","DONE","scripts/qa/check-live-attendance-unified.mjs|external","[""AUTOREM-2""]","完成:显式同步探测返回 PASS,wecom-checkin-sync 为 SKIP code=wecom_checkin_sync_disabled,employeeCount=12,boundUserCount=5,recordCount=0;该外部配置缺口不阻断 OA 自建打卡关闭、补卡/外出/加班 OA 审批和月度解释。"
"AUTOREM-5","QA-only 缺陷最小修复","仅当自动化脚本或 Playwright spec 本身阻断时,允许修复 scripts/qa 或相关测试;不得在本合同中修改业务代码。","1) 仅修改 QA-only 文件;2) 修复后 node --check/bash -n/typecheck 或相关 Playwright 通过;3) 若需要 server/src 或 client/src 业务修复,本行记录 PAUSE_FOR_FIX 并另建 hotfix;4) 不部署。","受影响流程:自动巡检脚本 -> 验证稳定性;验证步骤:node --check scripts/qa/restore-live-payment-batch-flag.mjs scripts/qa/check-live-feature-flags.mjs scripts/qa/check-live-attendance-unified.mjs;bash -n scripts/qa/run-launch-auto-ops.sh;必要时 cd client && npm run typecheck。","node|bash|npm|playwright","DONE","DONE","DONE","scripts/qa/*|client/tests/e2e/manual/p2-fin-live-payment-batch.spec.ts","[""AUTOREM-3""]","完成:未发现业务代码缺陷;仅新增 QA-only restore-live-payment-batch-flag.mjs。node --check、bash -n、run-launch-auto-ops 主路径均通过;未修改 server/src 或 client/src 业务代码,未部署。"
"AUTOREM-6","事实源回填","回填本 CSV、文档索引、事实源矩阵和人工试运行报告,记录最终 flag、报告路径、测试 marker、企微同步 SKIP/BLOCKED 和不能自动完成项。","1) Issue CSV 状态按实测回填;2) docs/文档索引.md、docs/文档事实源状态矩阵.md、docs/trialrun/人工试运行报告.md 更新;3) audit-docs 通过或仅既有 warning;4) git diff --check 通过;5) 明确最终结论。","受影响流程:自动化证据 -> 事实源 -> 后续运营判断;验证步骤:node scripts/qa/audit-docs.mjs --check-registry;rg -n 'AUTOREM|AUTO-REMAINING|GO_TO_OPERATE|PAUSE_FOR_FIX|BLOCKED_BY_EXTERNAL_CONFIG|payment_batch_v1|attendance_unified_v1|wecom_checkin_sync_disabled' docs issues scripts artifacts;git diff --check。","node|rg|git","DONE","DONE","DONE","docs/文档索引.md|docs/文档事实源状态矩阵.md|docs/trialrun/人工试运行报告.md|issues/2026-05-17_19-30-44-auto-remaining-closeout.csv","[""AUTOREM-3"",""AUTOREM-4"",""AUTOREM-5""]","完成:docs 和 CSV 已回填;最终结论 GO_TO_OPERATE;剩余不能自动完成项为企微后台打卡 Secret/API 权限、真实企业微信客户端最终确认、真实支付、ERP、图片 OCR、银行流水导入、数据库重置和生产恢复。"
"AUTOREM-7","中文提交","验证和回填完成后提交中文 commit。","1) validate_issues_csv 通过;2) audit-docs 通过或仅既有 warning;3) git diff --check 通过;4) 工作区变更均属于 AUTOREM;5) commit message 为中文并引用 AUTOREM。","受影响流程:AUTOREM 证据 -> git 提交 -> 后续可追溯;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-17_19-30-44-auto-remaining-closeout.csv;git status --short;git commit -m 'AUTOREM 收口剩余自动化运营门禁'。","python3|git","DONE","DONE","DONE","issues/2026-05-17_19-30-44-auto-remaining-closeout.csv|docs|scripts/qa","[""AUTOREM-6""]","完成:最终门禁通过,validate PASS,audit-docs errors=0 warnings=1 为既有 unregistered docs warning,git diff --check PASS;准备提交中文 commit。"