dsh-pre-push-checks · git:20261030.1b17503 · 2026-10-30 · sha256 f1fe06ad9259237c

dsh-pre-push-checks git:20261030.1b17503A

Immutable. This exact content never changes and is served at /api/v1/blob/f1fe06ad9259237c.

---
name: "dsh-pre-push-checks"
description: "在交付或推送前验证改动时使用,核实项目必需检查、当前构建产物和真实用户行为,区分通过、失败、未运行与环境阻塞。"
---

# 验证是否具备交付条件

阅读[项目上下文](references/project-context.md)和[验证证据](references/evidence.md)。本流程负责验证;推送、提交和部署须属于相应任务范围。

1. 检查当前改动、适用指令、清单、构建脚本和 CI。将必需检查与有针对性的辅助检查分开。即使只改文档,也保留项目要求的完整检查。
2. 确认前置条件以及实际测试的源码或构建产物。需要时重新构建,并验证运行入口确实使用该产物。根据实际进程和产物识别旧服务,不能只看熟悉的端口或页面标题。
3. 执行必需检查,记录命令、退出状态、选中的用例和输出。查明失败原因,不通过删除断言、盲改期望、串行化测试或添加重试掩盖问题。资源或并发故障使用[测试可靠性](references/test-reliability.md)。不得隐瞒工具缺失或网络失败。
4. 验收规则变化时,在隔离样例中故意违反规则,确认真实检查入口会拒绝,再确认合法样例通过。现有检查未覆盖的行为,应通过真实调用方验证并查看结果。
5. 检查最终差异和工作区状态,确认没有意外修改、生成产物遗漏或陈旧文档。修复改变了被测内容时,重跑受影响检查;不能声称早先证据适用于后来的文件状态。

只有全部必需检查和变化的行为都有证据支持时,才报告“可以交付”。否则明确列出失败、跳过、未运行或环境阻塞的检查,以及下一步最小操作。单元测试通过,但必需集成检查失败或交付构建陈旧,仍不具备交付条件。