- Own Docker build contexts and runtime container definitions.
- Keep framework runtime, agent execution runtime, exposed ports, mounted paths, and image build assumptions explicit.
base/owns the base image context.run/owns the runnable image context and compose file.- Root
DockerfileLocalis owned by the root contract but must stay compatible with this directory.
- Preserve the two-runtime model: the Python 3.12 framework runtime under
/opt/venv-a0runs the WebUI, APIs, scheduler, framework imports, and plugin hooks; the Python 3.13 agent execution runtime under/opt/venvruns agent terminal tasks and user code. - Verify backend imports and plugin hooks with
/opt/venv-a0; packages installed into/opt/venvdo not prove framework compatibility. - Do not bake secrets, local
.envvalues, or user data into images. - Keep compose mounts aligned with
usr/,logs/, and other runtime-state expectations. - Image changes that affect GitHub publishing must stay synchronized with
.github/workflows/docker-publish.yml.
- Keep Dockerfile steps cache-friendly and explicit about which runtime they target.
- Avoid broad copies of ignored runtime folders.
- Update setup docs when ports, volumes, startup commands, or runtime layout change.
- Build the affected Docker context when Docker behavior changes.
- Run Docker-related tests or startup smoke checks when changing runtime entrypoints.
Direct child DOX files:
| Child | Scope |
|---|---|
| base/AGENTS.md | Base image Dockerfile, copied filesystem, and installation scripts. |
| run/AGENTS.md | Runnable image Dockerfile, compose example, entrypoints, and install scripts. |