8 行
6.8 KiB
CSV
8 行
6.8 KiB
CSV
"ID","Title","Description","Acceptance","Test_Method","Tools","Dev_Status","Review1_Status","Regression_Status","Files","Dependencies","Notes"
|
||
"WEXT1LD-0","外出加班 live 前 dry-run 合同建档","建立 WEXT1LD 外出/加班 live 前 dry-run gate;本阶段只执行远端 dry-run,不写企业微信、不创建模板、不提交审批单。企微 Secret 来源固定 WECOM_AGENT_SECRET;不尝试其他 Secret、无 fallback、不允许运行时猜 Secret;缺 Secret、权限、可信 IP、可见范围或外部配置时输出 NEEDS_CONFIG 或 SKIP/BLOCKED_BY_EXTERNAL_CONFIG。","1) 新合同使用 WEXT1LD-0..WEXT1LD-5;2) 只 dry-run 外出和加班两类 OA-POC payload;3) 不设置 WECOM_APPROVAL_FIXTURE_WRITE=1;4) 不带 --live、--create-templates、--submit-test-approvals;5) 结果作为 WEXT1-LIVE 人工问答前置,不自动批准 live。","受影响流程:外出/加班样件 dry-run -> WEXT1-LIVE live 问答 -> 四类测试号证据;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-20_18-04-16-wecom-outing-overtime-live-dryrun-gate-v1.csv;node scripts/qa/check-process-contract.mjs --issue issues/2026-05-20_18-04-16-wecom-outing-overtime-live-dryrun-gate-v1.csv --profile wecom --json。","python3|node","DONE","DONE","DONE","issues/2026-05-20_18-04-16-wecom-outing-overtime-live-dryrun-gate-v1.csv","[]","回滚/清理:本合同仅 dry-run;如失败,保留请假/补卡范围,不进入外出/加班 live,不写企微。"
|
||
"WEXT1LD-1","dry-run 命令和双开关保护","远端 dry-run 使用现有 runner:npm run check:wecom-approval-fixtures -- --format=json --target=outing --target=overtime。明确 live 写入必须另起 WEXT1-LIVE 合同并同时具备 WECOM_APPROVAL_FIXTURE_WRITE=1、--live、--create-templates、--submit-test-approvals 和人工批准。","1) dry-run 命令不含 live 写入参数;2) runner 固定测试链 SMOKE002 -> SMOKE101,禁止自审;3) 预检 active、已绑定企微、可见、不是同一 OA 员工、不是同一企微 userid;4) SMOKE101 不可用时不自动换人;5) dry-run 不获取写入 token。","受影响流程:外出/加班 payload 构建 -> 非自审预检 -> dry-run 报告;验证步骤:scripts/qa/collect-wecom-controlled-trial-evidence.sh;远端核对 /app/artifacts/qa-flow/wecom-controlled-trial-evidence-20260520-103617/wecom-approval-fixtures-dryrun/summary.json 的 status=PASS_FIXTURE_DRY_RUN_READY、checks.liveWrite.requested=false、checks.liveWrite.allowed=false。","bash|node","DONE","DONE","DONE","scripts/qa/collect-wecom-controlled-trial-evidence.sh|server/src/scripts/check-wecom-approval-fixtures.js","[""WEXT1LD-0""]","回滚/清理:dry-run 只生成 artifacts 报告;如需 live,必须重新问答和新合同,本行不授权写企微。"
|
||
"WEXT1LD-2","远端 dry-run 证据","在 SYNC_ENV=0 受控部署后远端执行外出/加班 dry-run,报告作为 WEXT1-LIVE 前置证据。","1) 远端 /ready 正常;2) dry-run 结论优先 PASS_FIXTURE_DRY_RUN_READY;3) 若缺配置记录 PARTIAL_FIXTURE_NEEDS_CONFIG 或 SKIP/BLOCKED_BY_EXTERNAL_CONFIG;4) 结果不伪造成 PASS;5) 不改变远端 env,不覆盖密钥。","受影响流程:受控部署 -> 远端 dry-run -> live 前问答;验证步骤:SYNC_ENV=0 bash deploy/trialrun/deploy.sh;ssh 远端执行 npm run check:wecom-approval-fixtures -- --format=json --target=outing --target=overtime;核对 summary.json。","bash|ssh|npm","DONE","DONE","DONE","deploy/trialrun/deploy.sh|artifacts/qa-flow/*","[""WEXT1LD-1""]","回滚/清理:远端仅生成报告;不写 OA/企微业务数据,不创建模板或审批单。远端证据在 /app/artifacts/qa-flow/wecom-controlled-trial-evidence-20260520-103617/wecom-approval-fixtures-dryrun/summary.json,状态 PASS_FIXTURE_DRY_RUN_READY,liveWrite.requested=false 且 allowed=false。"
|
||
"WEXT1LD-3","脱敏报告边界","外出/加班 dry-run 和 WAUTO1 汇总报告只输出目标类型、计数、状态、脱敏 userid/template/sp_no 前缀和报告路径,不输出敏感信息。","1) 不输出手机号、邮箱、token、Secret、EncodingAESKey、完整 userid、完整 template_id、完整 sp_no、表单值、附件、评论或原始 payload;2) 隐私关键词扫描通过;3) 若发现泄露则阻断提交和 live 问答。","受影响流程:dry-run 报告 -> 隐私扫描 -> WEXT1-LIVE 问答;验证步骤:scripts/qa/collect-wecom-controlled-trial-evidence.sh;grep 隐私关键词扫描无命中;git diff --check。","bash|grep|git","DONE","DONE","DONE","scripts/qa/collect-wecom-controlled-trial-evidence.sh|artifacts/qa-flow/*","[""WEXT1LD-2""]","回滚/清理:删除含问题的本地 artifacts 报告并修正脚本后复跑;不保存敏感原始 payload。"
|
||
"WEXT1LD-4","事实源和人工问答出口","更新事实源,明确 dry-run 通过后只进入问答,不自动 live 创建外出/加班样件。","1) WEXT1-LIVE 问答选项固定为 A 批准一次 live 创建外出+加班 OA-POC 样件并保留审计、B 只保留 dry-run 不创建样件、C 外出/加班移出 V1;2) live 前再次说明当前状态、改了什么、测了什么、会留下什么企微记录和清理/保留边界;3) WREAL1 仍等四类测试号证据和 WAPPR1 通过后再问。","受影响流程:WEXT1LD dry-run -> WEXT1-LIVE 问答 -> WREAL1 前置;验证步骤:rg -n ""WEXT1LD|批准一次 live 创建外出\+加班|只保留 dry-run|外出/加班移出 V1|四类测试号证据"" docs .agents/skills/hyb-oa-delivery/SKILL.md。","rg","DONE","DONE","DONE","docs/企微优先开发路线图.md|docs/管理员手册.md|docs/trialrun/人工试运行报告.md|docs/文档索引.md|docs/文档事实源状态矩阵.md|.agents/skills/hyb-oa-delivery/SKILL.md","[""WEXT1LD-3""]","回滚/清理:恢复文档和 skill;不修改企微模板。"
|
||
"WEXT1LD-5","状态回填与提交","完成 WEXT1LD 状态回填、门禁、远端 dry-run 证据和中文提交。","1) WEXT1LD CSV 校验通过;2) process gate 通过;3) dry-run 报告路径回写;4) 中文提交包含 WEXT1LD;5) 未授权 live 写入。","受影响流程:dry-run 证据 -> 状态回填 -> live 问答准备;验证步骤:validate_issues_csv.py WEXT1LD CSV;node scripts/qa/check-process-contract.mjs --issue WEXT1LD CSV --profile wecom --json;git status --short;git log -1 --oneline。","python3|node|git","DONE","DONE","DONE","issues/2026-05-20_18-04-16-wecom-outing-overtime-live-dryrun-gate-v1.csv|docs/*|.agents/skills/hyb-oa-delivery/SKILL.md","[""WEXT1LD-4""]","回滚/清理:本行仅状态回填和提交;不授权 live 创建,若 dry-run 证据无效则回退 CSV 状态并重新执行。远端 dry-run 已 PASS,但 WAUTO1 总结论仍为 PAUSED_MANUAL_CONFIRMATION,需等人工问答。提交建议:WAUTO1 WEXT1LD 增加受控试用自动证据汇总。"
|