In my opinion the move to utilize the extracts from geofabrik is the right approach. Extracting the data takes a long time, so this should speed the map generation process up considerably.
But I also think that this should be more flexible in the sense that other sources should be allowed more easily. The main rationale for this is to allow others to hook in their extracts (or custom generated data sources). This would not only be for their benefits, but also for ours: the more the scripts get used by others, the more input we will get in terms of bug fixes, improvements (maybe wishful thinking).
I think the new scripts need some more error handling. One of the main problems with the current setup has been that the many errors that occur are not handled correctly and result in corrupt files.
When everything runs fine, our current scripts are fine (if slow), but if errors occur, we generally do not know until someone alerts us. The current setup produces too many logs in too many places.
What we need is a) an alert if a generation for a region failed that is suitable for a cron alert, b) a hint to log files where more info is to be found. I think the new scripts will also produce so much logging noise so that the result is not very useful.
There also needs to be something that refreshes the coastline files. They do change a bit and should really be in sync as much as possible. Before I run a batch on our server, I delete the input files, forcing our current script to get the coastlines again.
Another point: If I read the scripts correctly, osmosis will now overwrite a previously generated file in situ (unless there will be other scripts that move the file after it has been generated). This will not only result in an invalid file while it is being generated (which then might be picked up by our mirrors), but also if any error occurs, it will leave an invalid file in place.
Something else we put in place was to check the date of files when to regenerate something. This has been useful to rerun the whole script if errors occurred to speed the regeneration of files up that were corrupted.
The size check before overwriting was also useful (but failed with the recent germany.map because the sizes were within the allowed range for a change).
I am really not a script programmer and while I can read the scripts, I often fail to see the subtle problems. I have the feeling there might be more stuff lurking.