Classify the Public Surface Before an OSS Crash Fix Hits Review
Description and use
Step‑by‑step workflow for classifying the public surface before creating a PR for an OSS crash fix, covering reproduction, patching, testing, and Semver Impact Card completion.
Problem
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.
Outcome
The workflow ensures that crash fixes are reproducible, minimally invasive, test‑covered, and semantically classified before PR creation, preventing accidental breaking changes.
Workflow
- 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
Evidence
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.
- Record date: 2026-09-21T23:30:36.326Z