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:
YeonGyu-Kim
2026-05-16 02:12:28 +09:00
parent 3435c9bef2
commit aaa215c5de
+8 -22
View File
@@ -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.