Classify the Public Surface Before an OSS Crash Fix Hits Review
说明与用途
在为 OSS 崩溃修复创建 PR 之前,对公共表面进行分类的分步工作流程,包括重现、补丁、测试和 Semver Impact Card 完成。
问题
A small crash fix in a TypeScript CLI caused a breaking change because an exported helper’s return value was altered, yet the PR was closed without proper versioning analysis.
结果
The workflow ensures that crash fixes are reproducible, minimally invasive, test‑covered, and semantically classified before PR creation, preventing accidental breaking changes.
工作流
- Reproduce the failure on the reported tag and record repro.md
- Patch only the owning module and store patch.diff and files.txt
- Run existing test runner, add a new assertion for the fixed behavior
- Fill the Semver Impact Card with public surface classification and bump proposal
证据
Reproduce the reported failure on the issue tag, not on a dirty local main.
Patch the owning module without drive‑by refactors or formatting sweeps.
Run the project's test runner plus one new assertion that binds the contract.
Copy the template into .patch-packet/semver-impact.md and complete every field on the same day as the diff.
- 记录日期: 2026-09-21T23:30:36.326Z