Bug
In dbt_cloud/cli.py, the `while True` polling loop for `dbt-cloud job run --wait` has no maximum iteration count or wall-clock timeout. If a job gets permanently stuck in a QUEUED or STARTING state, the CLI will poll indefinitely.
Fix: Add a `--wait-timeout` option (e.g. default 3600 seconds) and break out of the loop with a non-zero exit code if exceeded.