Same function, executed twice by the network. The only difference: one called scheduleCall. Buying the next wake-up is the price. The live deployment repeats it: 1.5404 vs 0.0522 ℏ.
At 1 ℏ a period, Retainer loses money on every renewal. Break-even ≈ 1.55 ℏ a period — one setTerms() call by the seller, no redeploy. Written up in docs/gas-economics.md.