To further explain; “introspection” just provides a description of the parameter fields of each module (for the latest version only). How this is used is up to whoever wants to use it.
So I was imagining one would want to have a complete XMP, but with the info for some (or all) modules’ parameters in “human readable” form. But instead one could also have a separate XMP/XML/csv “adjustment” file that could be read (via a script? whatever) and “overlaid” over the current values (just overwriting the fields it contains with the values specified; multiple instances would need to be dealt with carefully). Or treat any additionally specified field values in an XMP as adjustments to the blob that would also be provided (a “blob” would always be “complete” “by definition”). Or whatever other approach might be more generic and widely useful. Even when using individual fields, one has to be careful that their values or interpretation might change between versions. Or they might even be completely removed, so staying up to date with version changes would still be important.
If adjustments are to be provided in separate files, of course finding and handling those (matching them with the images/styles that need to be adjusted) is a separate topic that needs to be carefully designed. If everything in the same xmp, this is simpler and changes would only be needed in the saving and loading routines.