OSMOKE1 收口 OA-only smoke 账号恢复

这个提交包含在:
2026-05-23 15:01:40 +08:00
父节点 5a64809004
当前提交 4b8685d5dc
@@ -6,5 +6,5 @@ OSMOKE1-3,新增 OA-only smoke readiness 检查并接入 OAOPS1,"新增公网只
OSMOKE1-4,回写事实源和操作口径,"更新现有管理员手册、试运行报告、文档索引、事实源矩阵和项目 skill,固化 OA-only smoke 与企微测试账号分离。","后来者能从事实源看到:不再为 OA 测试申请更多企微账号;OA-only smoke 可不绑定企微;修复账号必须 dry-run + 人工确认 + 双开关 apply。","受影响流程:交付人员读取文档 -> 判断当前阻断 -> 执行正确账号治理;验证步骤:rg -n ""OSMOKE1|OA-only smoke|oaOnlySmokeExempted|OA_ONLY_SMOKE_REPAIR_APPLY"" docs .agents/skills/hyb-oa-delivery/SKILL.md。","rg|node|python3",DONE,DONE,DONE,"docs/管理员手册.md|docs/trialrun/人工试运行报告.md|docs/文档索引.md|docs/文档事实源状态矩阵.md|.agents/skills/hyb-oa-delivery/SKILL.md","[""OSMOKE1-1"",""OSMOKE1-2"",""OSMOKE1-3""]","优先更新现有事实源,不新建孤立文档。"
OSMOKE1-5,本地静态与最小门禁,"执行合同校验、process gate、Prisma validate、脚本语法、文档审计、skill 校验、diff 和最小回归。","本地门禁通过;若存在既有文档 warning,记录但不伪造成业务失败。","受影响流程:开发候选 -> 可部署候选;验证步骤:validate_issues_csv;node scripts/qa/check-process-contract.mjs --baseline --json;cd server && npm run prisma:validate;node --check affected scripts;bash -n scripts/qa/run-oa-real-use-daily.sh;node scripts/qa/audit-docs.mjs --check-registry;quick_validate.py .agents/skills/hyb-oa-delivery;git diff --check;bash scripts/check-minimal.sh。","python3|node|npm|bash|git",DONE,DONE,DONE,"server/src/scripts/*|scripts/qa/*|docs|issues/2026-05-23_13-59-52-oa-only-smoke-account-governance-v1.csv","[""OSMOKE1-4""]","本地门禁通过:validate/process gate/prisma/node check/bash -n/audit-docs/quick_validate/git diff/check-minimal 均通过;focused vitest 3 files 21 tests passed;audit-docs 保留既有 unregistered docs files 24 warning。回滚/清理路径为删除本轮未提交代码与 QA-only 脚本变更,生成报告只保留脱敏摘要且不影响公网数据。"
OSMOKE1-6,部署公网并生成远端 dry-run,"部署 OSMOKE1 到公网 OA,远端只执行 OA-only smoke 修复 dry-run 和 readiness 检查,不 apply。","部署成功;/ready 正常;dry-run 报告显示会恢复哪些 OA-only smoke 角色或显示无待修复;未执行真实账号修复。","受影响流程:本地代码 -> 公网部署 -> 远端 dry-run -> 人工确认 gate;验证步骤:SYNC_ENV=0 bash deploy/trialrun/deploy.sh;远端执行 npm run repair:oa-only-smoke -- --format=json;公网 readiness 只读检查。","bash|ssh|node",DONE,DONE,DONE,"deploy/trialrun/deploy.sh|server/src/scripts/repair-oa-only-smoke-accounts.js|scripts/qa/check-oa-only-smoke-readiness.mjs","[""OSMOKE1-5""]","公网部署完成;/ready ok,public bundle findings=0;远端 dry-run 报告 /app/artifacts/qa-flow/oa-only-smoke-repair-20260523-osmoke1-dryrun/summary.json 已复制到宿主机 /opt/hyb-oa-trialrun/artifacts/qa-flow/oa-only-smoke-repair-20260523-osmoke1-dryrun/summary.json,结论 PASS_WITH_REPAIR_PLAN:7 targets,plannedRepairs=5,readyTargets=2,blockedTargets=0,未 apply;公网 readiness 显示 employee/manager PASS,admin/ceo/finance/finance_mgr/hr 因 archived 返回 AUTH_003。部署回滚按 trialrun runbook 回退到上一提交;dry-run 无数据库写入;apply 前必须回到用户问答:A 恢复现有 OA-only smoke;B 新建新账号;C 暂停自动化。"
OSMOKE1-7,人工确认后远端 apply 与复测,"仅在用户确认 A 后,使用 --apply + OA_ONLY_SMOKE_REPAIR_APPLY=1 远端恢复现有 OA-only smoke 账号,然后复跑 OAOPS1 和 ASSET1D UI 自动化。","修复报告状态为 APPLIED;高权限 smoke 账号登录恢复;OAOPS1 账号 readiness 通过或仅剩可解释 finding;ASSET1D-4 可继续 UI 试录。","受影响流程:账号恢复 -> 角色入口 -> 资产台账/财务/AP/权限公网复测;验证步骤:远端 apply 后执行 LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh;启动只读 QA subagent/Playwright 复测资产 UI。","ssh|node|bash|playwright|manual",TODO,TODO,TODO,"external|artifacts/qa-flow","[""OSMOKE1-6""]","本轮不默认执行;等待用户确认。"
OSMOKE1-8,reviewer/QA 收口与提交,"账号状态、权限和生命周期清理属于高风险域,实施后启动只读 reviewer subagent;汇总验证结果并中文提交。","reviewer 不改代码,只输出意见;QA 结果回填 CSV;提交信息引用 OSMOKE1;若未获得 apply 确认,OSMOKE1-7 保持 TODO/PAUSED。","受影响流程:高风险修复 -> 只读评审 -> 回归证据 -> 提交;验证步骤:reviewer subagent 检查 diff/报告;git status;git diff --check;git commit。","manual|git|subagent",DONE,DONE,DONE,"issues/2026-05-23_13-59-52-oa-only-smoke-account-governance-v1.csv","[""OSMOKE1-5""]","只读 reviewer 复核无 blocker,可在 OSMOKE1-7 未执行前提交当前 dry-run 和代码变更;已修正文案为 businessReadOnly;未执行远端 apply,未执行 EA-DOC live 导入,OSMOKE1-7 继续 TODO。"
OSMOKE1-7,人工确认后远端 apply 与复测,"仅在用户确认 A 后,使用 --apply + OA_ONLY_SMOKE_REPAIR_APPLY=1 远端恢复现有 OA-only smoke 账号,然后复跑 OAOPS1 和 ASSET1D UI 自动化。","修复报告状态为 APPLIED;高权限 smoke 账号登录恢复;OAOPS1 账号 readiness 通过或仅剩可解释 finding;ASSET1D-4 可继续 UI 试录。","受影响流程:账号恢复 -> 角色入口 -> 资产台账/财务/AP/权限公网复测;验证步骤:远端 apply 后执行 LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh;启动只读 QA subagent/Playwright 复测资产 UI。","ssh|node|bash|playwright|manual",DONE,DONE,DONE,"external|artifacts/qa-flow","[""OSMOKE1-6""]","用户确认 A 后已执行远端 apply;宿主机报告 /opt/hyb-oa-trialrun/artifacts/qa-flow/oa-only-smoke-repair-20260523-osmoke1-apply/summary.json 为 APPLIED_OA_ONLY_SMOKE_REPAIR:7 targets,plannedRepairs=5,appliedRepairs=5,blockedTargets=0,wecomWrites=0,passwordReset=false,realEmployees=not_targeted。公网 OA-only smoke readiness /tmp/osmoke1-readiness-after-apply/summary.json 为 PASS_OA_ONLY_SMOKE_READY,7 个角色登录、角色和入口均 PASS。OAOPS1 日报 /tmp/oaops1-daily-after-osmoke1-apply/summary.json 为 PASS_WITH_FINDINGS:账号 readiness/live smoke/移动矩阵通过;剩余 findings 为连续登录触发 429、合同台账探针参数 400 和 wecom-entry 登录阶段失败,作为 QA 脚本/节流优化项,不阻断账号恢复。"
OSMOKE1-8,reviewer/QA 收口与提交,"账号状态、权限和生命周期清理属于高风险域,实施后启动只读 reviewer subagent;汇总验证结果并中文提交。","reviewer 不改代码,只输出意见;QA 结果回填 CSV;提交信息引用 OSMOKE1;若未获得 apply 确认,OSMOKE1-7 保持 TODO/PAUSED。","受影响流程:高风险修复 -> 只读评审 -> 回归证据 -> 提交;验证步骤:reviewer subagent 检查 diff/报告;git status;git diff --check;git commit。","manual|git|subagent",DONE,DONE,DONE,"issues/2026-05-23_13-59-52-oa-only-smoke-account-governance-v1.csv","[""OSMOKE1-5""]","提交前只读 reviewer 复核无 blocker;用户确认 A 后已执行 OSMOKE1-7 apply,apply 后 reviewer 复核无 blocker,确认可标 DONE。未执行 EA-DOC live 导入;OAOPS1 剩余 findings 进入 QA 脚本节流/参数优化反馈池。"
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
6 OSMOKE1-4 回写事实源和操作口径 更新现有管理员手册、试运行报告、文档索引、事实源矩阵和项目 skill,固化 OA-only smoke 与企微测试账号分离。 后来者能从事实源看到:不再为 OA 测试申请更多企微账号;OA-only smoke 可不绑定企微;修复账号必须 dry-run + 人工确认 + 双开关 apply。 受影响流程:交付人员读取文档 -> 判断当前阻断 -> 执行正确账号治理;验证步骤:rg -n "OSMOKE1|OA-only smoke|oaOnlySmokeExempted|OA_ONLY_SMOKE_REPAIR_APPLY" docs .agents/skills/hyb-oa-delivery/SKILL.md。 rg|node|python3 DONE DONE DONE docs/管理员手册.md|docs/trialrun/人工试运行报告.md|docs/文档索引.md|docs/文档事实源状态矩阵.md|.agents/skills/hyb-oa-delivery/SKILL.md ["OSMOKE1-1","OSMOKE1-2","OSMOKE1-3"] 优先更新现有事实源,不新建孤立文档。
7 OSMOKE1-5 本地静态与最小门禁 执行合同校验、process gate、Prisma validate、脚本语法、文档审计、skill 校验、diff 和最小回归。 本地门禁通过;若存在既有文档 warning,记录但不伪造成业务失败。 受影响流程:开发候选 -> 可部署候选;验证步骤:validate_issues_csv;node scripts/qa/check-process-contract.mjs --baseline --json;cd server && npm run prisma:validate;node --check affected scripts;bash -n scripts/qa/run-oa-real-use-daily.sh;node scripts/qa/audit-docs.mjs --check-registry;quick_validate.py .agents/skills/hyb-oa-delivery;git diff --check;bash scripts/check-minimal.sh。 python3|node|npm|bash|git DONE DONE DONE server/src/scripts/*|scripts/qa/*|docs|issues/2026-05-23_13-59-52-oa-only-smoke-account-governance-v1.csv ["OSMOKE1-4"] 本地门禁通过:validate/process gate/prisma/node check/bash -n/audit-docs/quick_validate/git diff/check-minimal 均通过;focused vitest 3 files 21 tests passed;audit-docs 保留既有 unregistered docs files 24 warning。回滚/清理路径为删除本轮未提交代码与 QA-only 脚本变更,生成报告只保留脱敏摘要且不影响公网数据。
8 OSMOKE1-6 部署公网并生成远端 dry-run 部署 OSMOKE1 到公网 OA,远端只执行 OA-only smoke 修复 dry-run 和 readiness 检查,不 apply。 部署成功;/ready 正常;dry-run 报告显示会恢复哪些 OA-only smoke 角色或显示无待修复;未执行真实账号修复。 受影响流程:本地代码 -> 公网部署 -> 远端 dry-run -> 人工确认 gate;验证步骤:SYNC_ENV=0 bash deploy/trialrun/deploy.sh;远端执行 npm run repair:oa-only-smoke -- --format=json;公网 readiness 只读检查。 bash|ssh|node DONE DONE DONE deploy/trialrun/deploy.sh|server/src/scripts/repair-oa-only-smoke-accounts.js|scripts/qa/check-oa-only-smoke-readiness.mjs ["OSMOKE1-5"] 公网部署完成;/ready ok,public bundle findings=0;远端 dry-run 报告 /app/artifacts/qa-flow/oa-only-smoke-repair-20260523-osmoke1-dryrun/summary.json 已复制到宿主机 /opt/hyb-oa-trialrun/artifacts/qa-flow/oa-only-smoke-repair-20260523-osmoke1-dryrun/summary.json,结论 PASS_WITH_REPAIR_PLAN:7 targets,plannedRepairs=5,readyTargets=2,blockedTargets=0,未 apply;公网 readiness 显示 employee/manager PASS,admin/ceo/finance/finance_mgr/hr 因 archived 返回 AUTH_003。部署回滚按 trialrun runbook 回退到上一提交;dry-run 无数据库写入;apply 前必须回到用户问答:A 恢复现有 OA-only smoke;B 新建新账号;C 暂停自动化。
9 OSMOKE1-7 人工确认后远端 apply 与复测 仅在用户确认 A 后,使用 --apply + OA_ONLY_SMOKE_REPAIR_APPLY=1 远端恢复现有 OA-only smoke 账号,然后复跑 OAOPS1 和 ASSET1D UI 自动化。 修复报告状态为 APPLIED;高权限 smoke 账号登录恢复;OAOPS1 账号 readiness 通过或仅剩可解释 finding;ASSET1D-4 可继续 UI 试录。 受影响流程:账号恢复 -> 角色入口 -> 资产台账/财务/AP/权限公网复测;验证步骤:远端 apply 后执行 LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-oa-real-use-daily.sh;启动只读 QA subagent/Playwright 复测资产 UI。 ssh|node|bash|playwright|manual TODO DONE TODO DONE TODO DONE external|artifacts/qa-flow ["OSMOKE1-6"] 本轮不默认执行;等待用户确认。 用户确认 A 后已执行远端 apply;宿主机报告 /opt/hyb-oa-trialrun/artifacts/qa-flow/oa-only-smoke-repair-20260523-osmoke1-apply/summary.json 为 APPLIED_OA_ONLY_SMOKE_REPAIR:7 targets,plannedRepairs=5,appliedRepairs=5,blockedTargets=0,wecomWrites=0,passwordReset=false,realEmployees=not_targeted。公网 OA-only smoke readiness /tmp/osmoke1-readiness-after-apply/summary.json 为 PASS_OA_ONLY_SMOKE_READY,7 个角色登录、角色和入口均 PASS。OAOPS1 日报 /tmp/oaops1-daily-after-osmoke1-apply/summary.json 为 PASS_WITH_FINDINGS:账号 readiness/live smoke/移动矩阵通过;剩余 findings 为连续登录触发 429、合同台账探针参数 400 和 wecom-entry 登录阶段失败,作为 QA 脚本/节流优化项,不阻断账号恢复。
10 OSMOKE1-8 reviewer/QA 收口与提交 账号状态、权限和生命周期清理属于高风险域,实施后启动只读 reviewer subagent;汇总验证结果并中文提交。 reviewer 不改代码,只输出意见;QA 结果回填 CSV;提交信息引用 OSMOKE1;若未获得 apply 确认,OSMOKE1-7 保持 TODO/PAUSED。 受影响流程:高风险修复 -> 只读评审 -> 回归证据 -> 提交;验证步骤:reviewer subagent 检查 diff/报告;git status;git diff --check;git commit。 manual|git|subagent DONE DONE DONE issues/2026-05-23_13-59-52-oa-only-smoke-account-governance-v1.csv ["OSMOKE1-5"] 只读 reviewer 复核无 blocker,可在 OSMOKE1-7 未执行前提交当前 dry-run 和代码变更;已修正文案为 businessReadOnly;未执行远端 apply,未执行 EA-DOC live 导入,OSMOKE1-7 继续 TODO。 提交前只读 reviewer 复核无 blocker;用户确认 A 后已执行 OSMOKE1-7 apply,apply 后 reviewer 复核无 blocker,确认可标 DONE。未执行 EA-DOC live 导入;OAOPS1 剩余 findings 进入 QA 脚本节流/参数优化反馈池。