The 158 isn't going to be leaving for Cheltenham for over an hour.
A deeply frustrating under utilisation of rolling stock - a side effect of the alternate Swindon and Paddington services along the Golden Valley. You have two units doing one round trip each every 240 minutes - of which standing time at Swindon (70), Cheltenham Spa (34) and Gloucester take up almost a half. The train is stopped more than it's moving.
Come
IEP▸ and all services through to Paddington, something more efficient and useful should be possible. As the units link in with the Westbury service, I would hope that the 05:19 from Gloucester to Swindon would become the 05:19 Westbury to Swindon, and the 22:04 Swindon to Cheltenham Spa would become the 22:04 Swindon to Salisbury. The 07:48 arrival into Swindon wouldn't carry on to Cheltenham Spa at 07:54, but rather would run to Salisbury, and the 18:50 to Southampton wouldn't come off the 18:44 arrival from Cheltenham Spa, but rather off an arrival at around 18:15 from Salisbury.
This logical change ensures no major upset to the TransWilts services, it meets the requests for "Early London", "Back late please", and "southbound commute to Melksham / Trowbridge / Westbury" services which are the most major ones not handled by the current service. And it fills other gaps such as the Melksham to Bristol one between 07:48 and 09:15.
I think some work is needed to ensure the unwary traveller is not caught out when two services to very different destinations share the same platform.
I have seen positive crew engagement on this front (i.e. the conductor coming through to make sure that people really want the Westbury train). But could do with clarification. Platforms 2a and 2b anyone?