WCBK1 回填企微审批回调事件证据
这个提交包含在:
@@ -7,4 +7,4 @@ WCBK1-4,QA-only 回调 POC runner,"新增 check-wecom-approval-callback-poc runn
|
||||
WCBK1-5,配置口径与缺口分类,"在 server config 和 runtime ready 事实口径中固化 WECOM_APPROVAL_CALLBACK_URL、WECOM_CALLBACK_TOKEN、WECOM_CALLBACK_ENCODING_AES_KEY;不得使用通讯录 Secret 或历史别名作为默认。","1) config 可读取三个回调变量;2) 新 WCBK1 代码只读取固定变量,不尝试其他 Secret;3) 缺变量统一分类为 PARTIAL_CALLBACK_NEEDS_CONFIG 或 NEEDS_CONFIG;4) 文档提示密钥仅进部署环境,不写仓库或聊天。","受影响流程:部署环境配置 -> 回调 POC runner -> 公网回调验证;验证步骤:cd server && node --check src/config.js;rg -n 'WECOM_APPROVAL_CALLBACK_URL|WECOM_CALLBACK_TOKEN|WECOM_CALLBACK_ENCODING_AES_KEY|WECOM_CALLBACK_AES_KEY' server/src docs .agents/skills/hyb-oa-delivery/SKILL.md。",node|rg,DONE,DONE,DONE,server/src/config.js|docs/企微API能力目录.md,"[""WCBK1-4""]",回滚/清理:新增配置字段为空不启用写入;不持久化密钥值。
|
||||
WCBK1-6,事实源回写,"更新路线图、API 能力目录、统一审批规约、企业微信基础设施规约、试运行报告、文档索引、事实源矩阵和项目 skill,记录 WCBK1 的只读边界、配置项、报告语义和后续 WACP3/WADM1 顺序。","1) 文档明确 WCBK1 只证明回调链路,不代表镜像实现;2) 文档明确 WCBK1 后仍需 WACP3 补偿拉取 POC 和 WADM1 镜像数据模型设计;3) 文档不保存 Token、EncodingAESKey、完整 sp_no、完整 userid 或原始 XML;4) 文档索引和事实源矩阵登记本轮状态。","受影响流程:WCBK1 证据回写 -> 后续路线判断;验证步骤: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 'WCBK1|PASS_CALLBACK_URL_VERIFIED|PASS_CALLBACK_EVENT_CONFIRMED|WACP3|WADM1|WECOM_CALLBACK_ENCODING_AES_KEY' docs .agents/skills/hyb-oa-delivery/SKILL.md。",node|python3|rg,DONE,DONE,DONE,docs/企微优先开发路线图.md|docs/企微API能力目录.md|docs/需求-统一审批中心规约.md|docs/需求-企业微信基础设施规约.md|docs/trialrun/人工试运行报告.md|docs/文档索引.md|docs/文档事实源状态矩阵.md|.agents/skills/hyb-oa-delivery/SKILL.md,"[""WCBK1-5""]",回滚/清理:文档只记录事实源和脱敏报告语义,不写密钥或原始回调。
|
||||
WCBK1-7,本地门禁与公网 dry-run 部署,"执行本地静态、focused vitest、process gate、文档门禁和最小门禁;通过后以 SYNC_ENV=0 受控部署,远端执行 runner synthetic/dry-run,不同步本地 env、不配置真实密钥。","1) CSV、process gate、node --check、Prisma、focused vitest、文档审计、skill 校验、git diff --check、scripts/check-minimal.sh 通过;2) SYNC_ENV=0 部署成功;3) /ready 正常;4) 远端 runner 在未配置真实回调密钥时输出 PARTIAL_CALLBACK_NEEDS_CONFIG 且 synthetic check OK,不伪造成 PASS。","受影响流程:本地实现 -> 受控部署 -> 公网 dry-run 证据;验证步骤:cd server && npm run prisma:validate;cd server && npx vitest run tests/unit/routes/wecomApprovalCallback.test.js tests/unit/services/wecomCallbackCrypto.test.js tests/unit/scripts/check-wecom-approval-callback-poc.test.js tests/unit/scripts/check-process-contract.test.js --reporter=verbose;git diff --check;bash scripts/check-minimal.sh;SYNC_ENV=0 bash deploy/trialrun/deploy.sh;远端 npm run check:wecom-approval-callback-poc -- --format=json。",node|npm|vitest|bash|ssh,DONE,DONE,DONE,external,"[""WCBK1-6""]",回滚/清理:本地 CSV/process gate/node --check/Prisma/focused vitest/git diff --check/scripts/check-minimal.sh 均通过;SYNC_ENV=0 部署成功;/ready 正常;远端报告 /app/artifacts/qa-flow/wecom-approval-callback-poc-20260519T065414Z/summary.json 为 PARTIAL_CALLBACK_NEEDS_CONFIG 且 synthetic OK;未配置真实回调密钥时不会接收真实事件。
|
||||
WCBK1-8,状态回填、提交与人工配置说明,"按实际结果回填 WCBK1 状态并中文提交;最终输出 Callback URL、需要配置的环境变量名和人工触发步骤。","1) Issue 状态按实际结果回填;2) 中文提交为 WCBK1 实现企微审批回调只读 POC;3) 最终说明当前状态、改了什么、测试了什么、结果是什么、部署状态、Callback URL、环境变量名、企微后台配置步骤和 SMOKE101 处理现有测试单的人工动作;4) 不输出任何密钥值。","受影响流程:WCBK1 交付闭环 -> 人工配置回调 -> 后续真实事件确认;验证步骤:git status --short;git log --oneline -1;最终问答说明配置后复跑 live runner 和真实事件触发步骤。",git,DONE,DONE,DONE,N/A,"[""WCBK1-7""]",回滚/清理:状态已按实际结果回填;如用户暂不配置回调,WCBK1 停留在 dry-run/NEEDS_CONFIG 状态;不影响已运行的入口、消息、WAPC2FLIVE 样件和现有业务。
|
||||
WCBK1-8,状态回填、提交与人工配置说明,"按实际结果回填 WCBK1 状态并中文提交;最终输出 Callback URL、需要配置的环境变量名和人工触发步骤。","1) Issue 状态按实际结果回填;2) 中文提交为 WCBK1 实现企微审批回调只读 POC;3) 最终说明当前状态、改了什么、测试了什么、结果是什么、部署状态、Callback URL、环境变量名、企微后台配置步骤和 SMOKE101 处理现有测试单的人工动作;4) 不输出任何密钥值。","受影响流程:WCBK1 交付闭环 -> 人工配置回调 -> 后续真实事件确认;验证步骤:git status --short;git log --oneline -1;最终问答说明配置后复跑 live runner 和真实事件触发步骤。",git,DONE,DONE,DONE,N/A,"[""WCBK1-7""]",回滚/清理:WCBK1 已完成真实回调 URL 验证和事件确认;远端报告 /app/artifacts/qa-flow/wecom-approval-callback-poc-20260519T092648Z/summary.json 为 PASS_CALLBACK_EVENT_CONFIRMED,记录 1 条脱敏已通过审批状态事件;如后续需停用,可在企微后台取消回调模板或移除回调 URL,不影响入口、消息、WAPC2FLIVE 样件和现有业务。
|
||||
|
||||
|
在新工单中引用
屏蔽一个用户