Well, maybe it's an issue, maybe it isn't. After all, if you simply open an esp in OpenCS and save it, wouldn't it just automatically save it as an omwaddon in the appropriate format?When someone saves a content files in the CS all legacy files depending on this one will have to be adjusted. That is how it is working now more or less, so there is actually not much change. That means however that we will have to deliver a porting tool with 1.0 (a GUI function that allows to move a content file to different dependencies). I had hoped we could do that post 1.0. Oh, well ...
Assuming it does, I would suggest managing this at 1.0 in one of three ways:
Do Everything: Iterate the list of downstream esp's and automatically load / save them for the user (with appropriate notice, so they know what's going to happen), ensuring all upstream esp's have valid omwaddon ports.
Do Something: Implement #1 above, only supply a dialog allowing the user to cherry-pick downstream esp's to convert (with the warning that uncoverted downstream esp's will not be functional).
Do Nothing: Simply supply a warning and list of downstream esp's which require conversion and leave it to the user to convert them individually / manually.
Anyway, since i have internet access (but no way to do dev), I'm free to brainstorm if you have conundrums to work out. (can you tell I'm bored?).
Edit: I don't see why you have to retain extensions in the header dependency list. It should be no big deal to validate the extensions of files matching the general name, choose only the omwaddon (if it exists), or warn the user / auto-convert the esp (if it exists). Heck, you could ignore extensions and use Esm::Reader to quickly validate the file layout.
The only question is, what is the value-add for eliminating the extension from the header dependency name?
I'd say worry more about making dependency management as painless to the user as possible. Whether or not you retain the extension in the header is immaterial in my mind since I don't see that a little extra file validation code would incur much time or effort... unless there are complications I'm simply not aware of?