(note that this was “Run w/o Debugging”; if you run in the debugger from Water, console output shows in the debug console at the bottom, not in a dedicated Terminal window).
Good catch on the copy / paste error… that was it! Changing %s to {0} worked. If string.format had returned the original text with the %s in it I would’ve caught it myself.