2e156fc534
The post-creation 'docker network connect' was failing silently for unknown reasons (race condition, container state, or Docker internals). Instead of fighting with this, we now inject the backend network directly into the compose file before 'docker compose up'. Docker Compose then attaches the container to the network atomically during creation. - apps/api/src/api/tool_instances.py: new _ensure_backend_network_in_compose() adds 'networks: [backend_name]' to the service and declares the network as external at the top level - apps/api/src/api/tool_instances.py: call _ensure_backend_network_in_compose() in both start_instance and restart_instance, right after _ensure_container_name_in_compose() - apps/api/src/api/tool_instances.py: removed connect_container_to_network import and call entirely - apps/api/src/api/tool_instances.py: import get_backend_network_name from docker module for use in the new helper Quality gates: ruff clean