What new or enhanced feature are you proposing?
Right now we have an issue owner and a CC list. The CC list is an undifferentiated bag of people who care about the issue. That's perfect when those people just want to keep informed, but it's less than perfect when those people are on the list because they bear some responsibility for some aspect of the issue. E.g., they are not the overall issue owner, but they do own the quality-assurance aspect of that issue, or the i18n or translation or deployment parts of it.
Keep things are they are by default, and keep one issue owner and a general CC list. But, add the ability for project owners to define a set of issue roles, such as "QA manager", "Translator", "Release Eng", etc. When these are defined, then separate fields will be shown on the issue for the email addresses of each of those people.
In terms of access permissions and notifications, the users named in the custom roles are really just treated the same as CC'd users. Maybe we could allow each project role to be marked as granting the EditIssue permission, but that should not be the default.
Sign-off is just a checkbox on each issue for each custom role. Either that user is satisfied that that part of the issue is done or not. Each user who is named in that role would be able to sign-off on just their own part, and that would be noted in the issue updates just like a label change would be. They would be able to sign-off their own part even if they do not otherwise have permission to edit the issue. Project owners should be able to sign-off any aspect of any issue.
Maybe the sign-off value should be multiple choice rather than just a checkbox. E.g., Approval pending, Not applicable, and Approval granted. It might be useful to have an explicit Denied state too. It would be useful, if a stakeholder has a good reason why a given issue should be rejected and work on it discarded, but if we don't offer that, they could still write it up in a comment and leave approval pending forever.
Like the current CC field, it should be possible to search and sort by these custom fields and see them in the issue list and grid. E.g., show me all the issues that I need to approve for any reason. E.g., show me all the issues that are pending "QA manager" approval by anyone, or by a specific user.
The goal of sign-offs is just to inform users of the current state of the issue and to allow them to express sign-off information more easily than they could do it today with free text comments. It is not intended to be enforced. E.g., we will not prevent an issue from being closed while there are pending approvals, although we might send a notification to those approvers that highlights the fact that that was done.
It should be possible to edit and query the state of each type of sign-off even if no user was assigned to that role. E.g., a project owner might track the "QA Manager" sign-off state for lots of issues even when no user is specified.
Filter rules should allow default users to be set in each of the custom roles, just like they can set default owners and CC'd users right now.
What goal would this enhancement help you achieve?
It would be a powerful tool for managing issues in larger projects that have a little bit of process around quality, translations, and deployments. It would make it much easier to track the state of specific aspects of these issues rather than needing to go in and look at long CC lists, ad-hoc labels, and free-text comments.