docs(release-process): add post-fix repro verification policy
Race-condition and concurrency fixes must include reporter-verified repro confirmation before the originating issue is closed. Adds the checklist and rationale grounded in recent incident examples. Closes MEDIUM-12
This commit is contained in:
@@ -12,33 +12,19 @@ Before publishing a release, maintainers verify:
|
||||
- User-facing documentation covers new public behavior.
|
||||
- Known issues are documented before the release notes are finalized.
|
||||
|
||||
CI green is required for release readiness, but CI does not replace manual
|
||||
verification for bugs whose reproducer depends on timing, providers, models, or
|
||||
external OpenCode behavior.
|
||||
CI green is required for release readiness, but CI does not replace manual verification for bugs whose reproducer depends on timing, providers, models, or external OpenCode behavior.
|
||||
|
||||
## Post-Fix Repro Verification
|
||||
|
||||
### Policy
|
||||
|
||||
For race-condition and concurrency fixes, the original issue reporter, or a
|
||||
maintainer if the reporter is unavailable, must re-run the documented
|
||||
reproducer against the fix commit before the issue is closed. CI green is
|
||||
necessary but not sufficient.
|
||||
Race-condition and concurrency fixes must include reporter-verified repro confirmation before the originating issue is closed. CI green is necessary but not sufficient for this class of fix.
|
||||
|
||||
### Checklist
|
||||
|
||||
- [ ] Reproducer documented in the issue thread with steps, expected result,
|
||||
and actual result.
|
||||
- [ ] Fix commit identified.
|
||||
- [ ] Reproducer re-run on the fix commit.
|
||||
- [ ] Result documented in the issue thread as
|
||||
"Repro retested: PASS on <commit-sha>".
|
||||
- [ ] If the repro is environmental, such as a specific OS, model, or provider,
|
||||
the re-run is attempted in matching conditions.
|
||||
- [ ] Original issue reporter (or maintainer if reporter unavailable) re-runs the documented reproducer against the fix commit.
|
||||
- [ ] Re-run result documented in the issue thread as "Repro retested: PASS/FAIL on commit <SHA>".
|
||||
- [ ] If repro is environmental (specific OS, model, provider), repro is attempted in matching environment.
|
||||
- [ ] If repro cannot be obtained, this is explicitly noted in the issue close comment AND recorded in release notes as "Fix unverified end-to-end".
|
||||
|
||||
### Escalation
|
||||
### Rationale
|
||||
|
||||
If the repro cannot be obtained, such as a transient race that does not
|
||||
reproduce locally, the limitation must be noted in the issue close comment and
|
||||
added to release notes as "Fix unverified end-to-end". Do not close the issue
|
||||
as fully verified without that disclosure.
|
||||
Race-condition fixes that pass CI but were never retested against the original reproducer have historically regressed in production. Issues #4006, #3996, #3962 are recent examples where reporter confirmation was sparse. Issue #4012 (the prompt-async-gate motivating bug) had detailed reporter analysis that drove the eventual fix, and that level of post-fix verification should be the norm for this class.
|
||||
|
||||
Reference in New Issue
Block a user