use Dist::Zilla::Role::FileWatcher

This makes your code simpler, so you don't have to mess around with applying the role directly.

I think your pod_for_source_file code from https://github.com/DarwinAwardWinner/Dist-Zilla-Role-DistFileReader/blob/master/lib/Dist/Zilla/Role/PerlModuleReader.pm#L31 would be best added directly to Dist::Zilla::Role::PPI (where you can cache the PPI document, being even more efficient).


Well, I think I previously assumed that File::ChangeNotification would trigger every time the file was written to. As far as I can tell, the test here is completely redundant with the same check in File::ChangeNotification (assuming there are no hash collisiions).