文件
hyb-oa/issues/2026-05-19_20-39-40-wecom-approval-readability-gate-v1.csv

7.7 KiB

1IDTitleDescriptionAcceptanceTest_MethodToolsDev_StatusReview1_StatusRegression_StatusFilesDependenciesNotes
2WREAD1-0门禁合同与边界冻结建立 WREAD1 合同;范围锁定请假+补卡,优先使用现有 OA-POC 样例,不新建企微模板或审批单;本轮不写 OA/企微业务数据,不接新回调,不进入 wecom_attendance_approval_mirror_v1。1) CSV 校验通过;2) 明确 WACP3R 后下一阶段为可读性与误审批防护门禁;3) 结论按模板输出;4) 缺现有样例时记录 PARTIAL_READABILITY_NEEDS_FRESH_FIXTURE 并回问;5) 不保存完整 template_id、sp_no、userid、表单值、附件、评论或原始 payload。受影响流程:WACP3R -> WREAD1 可读性门禁 -> WADM1 准入;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-19_20-39-40-wecom-approval-readability-gate-v1.csv;node scripts/qa/check-process-contract.mjs --baseline --json。python3|node|manualDONEDONEDONEissues/2026-05-19_20-39-40-wecom-approval-readability-gate-v1.csv[]固定边界:只读汇总和人工确认,不写 OA/企微数据,不创建模板/审批单。上游企微审批读取固定 WECOM_AGENT_SECRET,WREAD1 自身只读 artifacts,不尝试其他 Secret、无 fallback、不得靠多个 Secret;缺样例、权限、配置时记录 PARTIAL_READABILITY_NEEDS_FRESH_FIXTURE、NEEDS_CONFIG 或 SKIP/BLOCKED_BY_EXTERNAL_CONFIG,不伪造成通过。validate_issues_csv 与 process baseline 已通过;回滚/清理:删除本合同和事实源回写;无数据库迁移、无远端 env 修改、无 OA/企微写入。
3WREAD1-1只读证据汇总 runner新增 QA-only runner check-wecom-approval-readability-gate,汇总 WAPC2FLIVE、WCBK1、WACP3R 脱敏证据,输出请假/补卡真机确认清单和可选人工结果。1) 新增 npm script check:wecom-approval-readability-gate;2) 默认只读已有 artifacts,不访问企微写接口,不获取写入 token;3) 支持 --manual-result=leave:<status> 和 --manual-result=missed_punch:<status>;4) 无人工结果时输出 PAUSED_MANUAL_CONFIRMATION;5) 现有样例证据不足时输出 PARTIAL_READABILITY_NEEDS_FRESH_FIXTURE。受影响流程:自动证据汇总 -> 真机人工确认;验证步骤:cd server && node --check src/scripts/check-wecom-approval-readability-gate.js;cd server && npx vitest run tests/unit/scripts/check-wecom-approval-readability-gate.test.js --reporter=verbose。node|vitestDONEDONEDONEserver/src/scripts/check-wecom-approval-readability-gate.js|server/package.json|server/tests/unit/scripts/check-wecom-approval-readability-gate.test.js["WREAD1-0"]已新增 runner、npm script 和 focused 单测;测试覆盖历史 fixture artifact 不持久化但 WACP3R 详情证据可用时仍进入 PAUSED_MANUAL_CONFIRMATION。报告隐私边界不输出手机号、邮箱、token、secret、完整 userid、完整 template_id、完整 sp_no、表单值、附件、评论或原始 payload。回滚/清理:移除 runner、package script 和单测。
4WREAD1-2本地门禁执行合同、process gate、语法、Prisma、focused 单测、文档审计、skill 校验和 diff 门禁。1) validate_issues_csv 通过;2) process baseline 通过;3) node --check 通过;4) Prisma validate 通过;5) focused vitest 通过;6) 文档审计、skill 校验、git diff --check 通过。受影响流程:WREAD1 本地质量门禁;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-19_20-39-40-wecom-approval-readability-gate-v1.csv;node scripts/qa/check-process-contract.mjs --baseline --json;cd server && node --check src/scripts/check-wecom-approval-readability-gate.js;cd server && npm run prisma:validate;cd server && npx vitest run tests/unit/scripts/check-wecom-approval-readability-gate.test.js --reporter=verbose;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。python3|node|npm|vitestDONEDONEDONEN/A["WREAD1-1"]本地门禁均通过;audit-docs 仅保留既有 unregistered docs files warning。额外通过 bash scripts/check-minimal.sh。回滚/清理:撤回本轮代码和文档改动。
5WREAD1-3公网只读汇总本地门禁通过后,以 SYNC_ENV=0 部署,不同步本地 env;远端执行 check:wecom-approval-readability-gate -- --format=json,汇总现有样例证据并生成手工确认清单。1) SYNC_ENV=0 部署通过;2) /ready 正常;3) 远端 runner 生成 summary.json;4) 若现有样例证据完整,结论为 PAUSED_MANUAL_CONFIRMATION;5) 若样例不可用,结论为 PARTIAL_READABILITY_NEEDS_FRESH_FIXTURE 并暂停问答。受影响流程:公网证据汇总 -> 真机确认;验证步骤:SYNC_ENV=0 bash deploy/trialrun/deploy.sh;远端 npm run check:wecom-approval-readability-gate -- --format=json;curl -fsS https://oa.hyinda.com/ready。bash|ssh|curl|npmDONEDONEDONEexternal["WREAD1-2"]SYNC_ENV=0 部署通过,/ready 返回 ok=true。部署后容器 artifacts 重建,先只读复跑 WACP3R 生成 /app/artifacts/qa-flow/wecom-approval-compensation-poc-20260519T125515Z/summary.json,再执行 WREAD1 生成 /app/artifacts/qa-flow/wecom-approval-readability-gate-20260519T125532Z/summary.json,结论 PAUSED_MANUAL_CONFIRMATION。只读执行,不调用企微写接口,不写 OA 数据。
6WREAD1-4事实源回写与人工问答回写路线图、统一审批规约、请假考勤规约、试运行报告、文档索引、事实源矩阵和项目 skill;在最终答复中按当前状态、改了什么、测试结果和需要你确认什么提问。1) 文档记录 WREAD1 自动汇总结论和报告路径;2) 未经人工真机确认不得写 PASS_READABLE;3) 若进入 PAUSED_MANUAL_CONFIRMATION,明确等待你反馈请假/补卡卡片、列表、详情和快捷按钮风险;4) 文档审计和 skill 校验通过。受影响流程:WREAD1 事实源和人工验收;验证步骤: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 "WREAD1|PAUSED_MANUAL_CONFIRMATION|PARTIAL_READABILITY_NEEDS_FRESH_FIXTURE|PASS_READABLE|误审批|可读性" docs .agents/skills/hyb-oa-delivery/SKILL.md。node|python3|rg|manualDONEDONEDONEdocs|.agents/skills/hyb-oa-delivery/SKILL.md["WREAD1-3"]人工真机确认已完成:请假和补卡消息卡片、列表、详情页均可看清;驳回有二次确认,同意为单击即通过;用户暂无新增字段建议。远端人工结果报告 /app/artifacts/qa-flow/wecom-approval-readability-gate-20260519T133628Z/summary.json 为 PASS_READABLE,下一阶段允许进入 WADM1 设计,但同意单击风险需在后续模板提示、审计留存或操作规程中处理。回滚/清理:git revert 本轮事实源回写;无数据清理。
7WREAD1-5提交与后续准入提交 WREAD1 自动门禁;若人工确认尚未完成,则提交记录为自动汇总和 PAUSED 状态,待你反馈后再回填最终模板级结论。1) git diff --check 通过;2) 中文提交完成;3) 工作区干净;4) 最终答复明确 WADM1 只能在 WREAD1 模板级结论明确后进入。受影响流程:WREAD1 -> WADM1 准入;验证步骤:git status --short;git commit -m 'WREAD1 准备企微审批可读性门禁'。gitDONEDONEDONEN/A["WREAD1-4"]WREAD1 人工模板级结论已补充为 PASS_READABLE;请假/补卡可进入 WADM1 自建留存/镜像数据模型设计前置,不直接进入深度镜像。回滚/清理:git revert 本次事实源回写提交。