We finally did it:
Jack had his first accident-free day yesterday!
It wasn't even an easy day; we went to story time at the library, then to the park and he managed not to pee in his pants. So far so good today, too!
Next step: he wore underwear to bed for nap time. He's been dry after his naps all week, so I figured we could give it a shot!