- Dockerfile: COPY to /app/agent/ and use agent.main:app for proper
package imports
- docker_ops: use low-level API in get_health() to avoid NotFound on
containers stuck in Docker Dead state
- Add comprehensive README with architecture, API docs, and usage
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add DockerOps class wrapping the Docker SDK with methods for listing,
starting, stopping, restarting containers, fetching logs, and pulling
images. Swarm containers are detected via labels and receive special
handling (scale/force-update instead of direct container ops).
Includes 16 passing tests using mocked Docker client.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>