7.1 KiB
7.1 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | WREAD1-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|manual | DONE | DONE | DONE | issues/2026-05-19_20-39-40-wecom-approval-readability-gate-v1.csv | [] | 固定边界:只读汇总和人工确认,不写 OA/企微数据,不创建模板/审批单。validate_issues_csv 与 process baseline 已通过;回滚/清理:删除本合同和事实源回写;无数据库迁移、无远端 env 修改、无 OA/企微写入。 |
| 3 | WREAD1-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|vitest | DONE | DONE | DONE | server/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 和单测。 |
| 4 | WREAD1-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|vitest | DONE | DONE | DONE | N/A | ["WREAD1-1"] | 本地门禁均通过;audit-docs 仅保留既有 unregistered docs files warning。额外通过 bash scripts/check-minimal.sh。回滚/清理:撤回本轮代码和文档改动。 |
| 5 | WREAD1-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|npm | DONE | DONE | DONE | external | ["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 数据。 |
| 6 | WREAD1-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|manual | DONE | DONE | DONE | docs|.agents/skills/hyb-oa-delivery/SKILL.md | ["WREAD1-3"] | 事实源已记录 WREAD1 自动汇总 PAUSED_MANUAL_CONFIRMATION 和报告路径;最终答复继续按问答方式等待人工真机确认。回滚/清理:git revert 本轮提交;无数据清理。 |
| 7 | WREAD1-5 | 提交与后续准入 | 提交 WREAD1 自动门禁;若人工确认尚未完成,则提交记录为自动汇总和 PAUSED 状态,待你反馈后再回填最终模板级结论。 | 1) git diff --check 通过;2) 中文提交完成;3) 工作区干净;4) 最终答复明确 WADM1 只能在 WREAD1 模板级结论明确后进入。 | 受影响流程:WREAD1 -> WADM1 准入;验证步骤:git status --short;git commit -m 'WREAD1 准备企微审批可读性门禁'。 | git | DONE | DONE | DONE | N/A | ["WREAD1-4"] | 本提交只代表自动汇总部分和公网 PAUSED 状态;待用户真机反馈后再回填最终模板级结论。回滚/清理:git revert 本提交。 |