I would keep this much simpler:
- Create a "Lessons Learned" checkbox on risk, issue and change request objects
- If instance is "Lesson Learned," something that needs to be passed on, check the box
- If something is learned that isn't already a risk, issue or change request, create it as an issue and mark the "Lessons Learned" checkbox
- Review lessons learned in real-time, in project reviews
- containment: are there any other inflight projects that need to have the learned lesson applied immediately? Yes? Go do it!
- permanent fix: create a project which will change whatever needs changing - design, tech and/or test specs, training docs, simulators
This can be done with no changes to CA PPM, no custom objects or sub-objects, no re-tasking of any out of the box objects/sub-objects. And, when the New UX is launched, it will still work.
One may have other requirements:
- Recording Lesson Learned project decision (Approved to become Project or Rejected)
- Bi-directional traceability between Lesson Learned risk/issue/cr and project
- Generation new LL project from risk/issue/cr
I won't detail how to solve these last 3 requirements - others have already started to and there are out of the box example solutions for each of these, too, that one can copy from (e.g. on a risk, create an issue, on issue, see "Originating Risk" hyperlink), with discussions elsewhere in this community site on how to replicate this.
Main point is this: Lessons learned drive change. The effort to make the change is a project. When completed, teams will be using the lessons learned, not searching for them.