Freeze the Issue Thread: Numbered Criteria Before an OSS Patch
说明与用途
创建冻结的编号合同可确保贡献者实现确切的问题需求,防止误修复和回归。
问题
Open‑source issue threads become noisy and ambiguous, leading to patches that fix the wrong problem or introduce regressions.
结果
Patches are aligned with a clear, testable contract, reducing mis‑patches and regressions. The workflow enforces reproducibility, environment consistency, and diff scope.
工作流
- Read issue thread and identify key comments
- Create ISSUE_CONTRACT.md with MUST, SHOULD, WONTFIX sections, numbering each item and pinning environment
- Clone repo and checkout frozen SHA
- Run tests to confirm MUST failures (e.g., M2)
- Create a dedicated branch for the fix
- Edit only files listed in MUST (e.g., libretry/retry.py)
- Run local gate script to ensure no disallowed paths are changed
- Add failing test for M1 if not present
- Commit changes, push, and include contract checklist in PR body
- Reviewers verify contract, test failures, and diff scope before approving
证据
The packet lives beside the clone, usually as ISSUE_CONTRACT.md, and it is committed only if the project already stores review notes.
Reproduction is the first implementation of the contract, and it should fail in the way M2 describes.
- 记录日期: 2026-09-19T06:30:22.403Z