How we built Oyster's voice agent: voice was easy, but driving real WooCommerce checkouts across retailers with idempotency and live sessions was hard.