The upload of the code to the shield is something I picked up from a different fork of RP. Maybe it doesn't have to happen but Ive noticed that if I remove power from my alamode without uploading after power on then the Alamode doesn't work. Maybe it was a one off or I have wiring mistake.
If the alamode code or python code is restarted or the configuration is change (i.e. count per pour) then the new configuration is sent to the shield without uploading the sketch to it.
As for recompiling every start; it doesn't, it takes the latest binary and uploads to run then request configuration to get the pins/delay/ticks/kickcount/etc. if there is no latest compiled sketch then nothing is uploaded and it assume the shield will keep it programming (hence removing the *.cpp.hex file removes the upload)
If you modify the python to upload the .ino file directly then yes every time it would to recompile.
If the alamode code or python code is restarted or the configuration is change (i.e. count per pour) then the new configuration is sent to the shield without uploading the sketch to it.
As for recompiling every start; it doesn't, it takes the latest binary and uploads to run then request configuration to get the pins/delay/ticks/kickcount/etc. if there is no latest compiled sketch then nothing is uploaded and it assume the shield will keep it programming (hence removing the *.cpp.hex file removes the upload)
If you modify the python to upload the .ino file directly then yes every time it would to recompile.