hyperledger-identus / hyperledger-identus/sdk-rust
Factory: support non-closing PR linkage for long-lived acceptance work
- Dominant language
- Rust
- Stars
- 0
- Forks
- 0
- Avg merge
- 39m
- Merged PRs (30d)
- 153
Description
## Problem
The contribution policy currently requires every issue branch PR body to contain a GitHub closing keyword for the branch issue. This conflicts with milestones such as #276, where repository changes merge before post-merge canary and natural-schedule evidence can legitimately close the issue. The current workaround is an avoidable close/reopen transaction.
## Desired outcome
Define and implement an issue-linkage contract that:
- still requires every non-bot PR to bind exactly to its branch issue;
- permits a non-closing reference when the OpenSpec archive explicitly reserves post-merge acceptance;
- prevents ambiguous, missing, or mismatched issue references;
- keeps ordinary implementation PRs closing their issue by default;
- updates contribution-policy tests, PR template, governance prose, and OpenSpec before implementation.
## Acceptance criteria
- An ADR or routine governance decision records closing versus non-closing semantics and abuse resistance.
- Policy tests cover valid closing, valid explicitly deferred linkage, mismatched issue, missing issue, and decoy/comment/code-fence references.
- A PR with deferred post-merge acceptance can stay open without a close/reopen race.
- Existing required CI and branch naming rules remain intact.
## Origin
Discovered by the exact-head review of PR #290 while preserving the first-natural-schedule acceptance condition in #276.
Contributor guide
Research direction
Start with the contribution-policy tests, PR template, governance prose, and OpenSpec named in the issue, then inspect how existing CI and branch naming rules are represented. Record closing versus explicitly deferred linkage and abuse resistance in an ADR or routine governance decision. Done means the tests cover valid, missing, mismatched, and decoy references while deferred post-merge acceptance can remain open without changing existing rules.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- ci-cd, developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100