[parallel] wrap agent runs w/ threads