Should we start recording the original path and filename on import?

As I said here, I think recording this information would raise confidence in Beets and allow it to become more lossless. It keeps more options open for beets development in the future. (Imagine taking a second pass at autotagging your library after it received an upgrade that’s better able to understand filenames).

To me the only question is if this should be a plugin or if it should be base functionality. I do welcome feedback if this is a bad idea somehow. What kind of tradeoff must be considered instead of adding fields willy-nilly?

Sounds reasonable! Seems like adding this in a flexible attribute by default can’t hurt.

Would this be a good template to follow for native flex attributes? Are there any other flex attributes in base beets? Everything else I see in beet fields was added by me or a plugin. How does the process of doing it in a plugin vs. base compare?

Further reading: https://beets.io/blog/flexattr.html

Absolutely!