b114779ba5
Hosted v2-integration run 1224 got past the old fixture-host timeout and failed one step earlier: "Bind for :::19000 failed: port is already allocated" — the runner's docker daemon is shared. Fixtures now retry on the next host port when one is taken (opc-plc keeps host == listen port, as its advertised endpoint requires) and export the ports actually used; container names carry the run id so a concurrent run's `down` can't remove them, and a new `logs` subcommand replaces the workflow's hard-coded name list. Verified locally: with 19000 squatted, QuestDB moved to 18813/19001 and every fixture reached ready; logs/down found the suffixed containers. Claude-Session: https://claude.ai/code/session_01GT67AD99zQQqpLCVm3p7xk