--- name: req-audit description: 部署后审计。运行时日志检查 + 静态缺陷分析 + 设计偏移检测。可独立调用或由 /req done 自动触发。 --- # 部署后审计 (audit) 对本次部署执行三维度审计:运行时行为、代码缺陷、设计偏移。 ## 执行流程 ### 2a. 运行时检查 检查部署后是否有新增错误。 **优先 SSH**: ```bash ssh -o ConnectTimeout=3 ${EC2_USER}@${EC2_HOST} \ "docker logs ${APP_CONTAINER} --since 10m 2>&1 | grep -i 'error\|panic\|fatal\|traceback'" ``` **降级 1:CI 日志**: ```bash RUN_ID=$(gh run list --repo ${OWNER}/${REPO} --limit 1 --json databaseId -q '.[0].databaseId') gh run view ${RUN_ID} --repo ${OWNER}/${REPO} --log 2>&1 | grep -i 'error\|panic\|fatal' ``` **降级 2:N/A + 警告**: ``` ⚠️ 无法获取运行时日志(SSH 不可达 + CI 日志无异常信息),2a 标记为 N/A。 运行时问题可能未被发现,建议手动检查服务器日志。 ``` ### 2b. 静态分析 调用现有 `/defect-analysis` command,传入变更文件: ``` 对以下变更文件执行缺陷分析: {变更文件列表} 重点关注:运行时行为(不是合并前 CR 的重复,而是部署后复查) ``` 输出:缺陷清单(按致命/高/中/低分级) ### 2c. 设计偏移检测 1. 读取需求的 PRD 文档(linkRole=prd 的任务文档) 2. 读取本次变更的源码 3. AI 对比分析: ``` 请对比以下 PRD 功能点和实际代码实现: PRD 功能点: {从 PRD 提取的功能清单} 实际代码变更: {变更文件的关键逻辑} 检查: - 遗漏的功能(PRD 有但代码没实现) - 多做的功能(代码有但 PRD 没提) - 实现方式与 PRD 描述不一致 ``` 输出:偏移项列表 ### 合并报告 ```markdown ## 部署后审计报告 ### 2a 运行时检查 | 检查项 | 结果 | 详情 | | 新增错误 | ✅ 无 / ❌ 有 N 条 | ... | ### 2b 静态分析 | 缺陷 | 严重度 | 描述 | (来自 defect-analysis 输出) ### 2c 设计偏移 | 偏移项 | 类型 | 说明 | ### 结论 - 致命/高级缺陷: N 个 → {阻断/通过} - 中/低级缺陷: N 个 → 已创建 backlog - 设计偏移: N 项 → {建议处理方式} ``` ### 缺陷分级处理 | 级别 | 处理 | |------|------| | 致命 | 阻断归档 + 回滚建议 + `ai-proj task create` 创建修复任务并关联需求 | | 高级 | 阻断归档 + 回滚建议 + 创建修复任务 | | 中级 | 警告不阻断 + 创建 backlog 任务 | | 低级 | 记录到报告,不创建任务 | ## 任务关联 - linkRole: `code_review` - 任务标题: `【审计】部署后审计: {需求标题}` - 报告附加到任务文档