file_completed_alert is sent for file that is on pause
When torrent has multiple files and one small file has all file pieces overlapping with larger file, we can get file_completed_alert for small file even if it has dont_download flag.
See example .torrent file in attached files. You can try to set normal download priority to melk-abbey-library.jpg file from it and do not download priority to other files, and see that file_completed_alert is fired for README file.
The documentation has this to say:
This is posted whenever an individual file completes its download. i.e. All pieces overlapping this file have passed their hash check.
So, this behavior sounds as documented. Is there a problem?
This behavior is understandable, but quite surprising for the end user. If file is marked dont_download one wouldn't expect an event that this file is downloaded. Also it might be surprising to see that after getting this event the file is not present on the filesystem.