In my new plugin i decided to use .runtime.xml file mask for all runtime data to not track constantly changed data (should be useful for example for jobConfigHistory).
Why do you need TransientProjectActionFactory if you are getting Action directly from static class?
Yes, real Actions are stored, Transient in-memory. But transient can be persisted.
Btw, what will happen with plugins that operates directly with BuildData?
For existing APIs I've maintained some BuildData support, but for sure some exotic usage may be broken.
Will it work with multiple scm?
also, I hate multiple-scm. This plugin do impact all SCM plugin and introduce dependency on "a proof-of-concept than a robust and fully functional component". Such a plugin should not exist and would better have been designed as some API enhancement in jenkins-core.
There is one : create a better solution (sic), deprecate this plugin with some migration code, remove all related code from scm plugins.