Requirements Management - "Immutable requirements" or requirements workflow
Problem to solve
Right now, requirements can be updated in-place and with no indication in the UI what has changed. There's no enforced workflow (in the vein of merge request pipelines and approvals).
Proposal
With requirements management, we would like some workflow for managing requirement changes over time. Currently, you can either update requirements in-place, or you can implement an 'archive and create new' method. We would like to use the second method, but with enforcement.
In other words, requirements should be immutable. When a requirement changes, it would be nice to have enforcement that says the old requirement must be closed and replaced with a new requirement (with the ability, perhaps, to indicate that the new requirement deprecates the old requirement).
This can be implemented in a number of ways. One way is to make each requirement 'lockable' on an item-by-item basis, with only high-level roles able to 'unlock' the requirement. There could even be a setting that makes requirements 'locked' by default.
Another approach is to have an approval workflow similar to merge requests. Someone (e.g. a reporter) can propose a requirement, and an Owner or Maintainer can approve it, at which point it becomes immutable.
Intended users
This feature would likely be useful for any GitLab persona.