5.3: Per-stage container images (plan, execute, verify)
Part of Stream 5: Harness → AgentPlaybookRun alignment
ADR-0001 defines a layered image architecture: base → runtime → language. The current images don't align with the per-stage model needed for AgentPlaybookRun, where each stage runs in its own Sandbox with exactly one skill baked into the image.
Tasks
Design Notes
Bundling goose directly in the base image (skipping the ADR's Layer 1.5 runtime separation) is acceptable for the POC. The runtime image split (agent-base-goose as a separate layer) is a future optimization tracked by #27.
Acceptance Criteria
- Each stage image contains exactly one skill at
/opt/skills/{name}/SKILL.md
- Stage images extend the correct base (plan extends agent-base, execute/verify extend agent-java-base)
migration-harness run works in each stage image (discovers the skill, launches goose, runs the stage)
- Makefile targets build the full image chain with correct dependencies
References
5.3: Per-stage container images (plan, execute, verify)
Part of Stream 5: Harness → AgentPlaybookRun alignment
ADR-0001 defines a layered image architecture: base → runtime → language. The current images don't align with the per-stage model needed for AgentPlaybookRun, where each stage runs in its own Sandbox with exactly one skill baked into the image.
Tasks
agent-base— UBI, harness binary, goose, git, empty/opt/skills/directory (no pipeline-specific tools)agent-java-base— extends agent-base with JDK 21 + Mavenagent-plan— extends agent-base with Python/graphify +COPY skills/plan/ /opt/skills/plan/agent-execute— extends agent-java-base +COPY skills/execute/ /opt/skills/execute/agent-verify— extends agent-java-base +COPY skills/verify/ /opt/skills/verify/agent-base-goose-java)Design Notes
Bundling goose directly in the base image (skipping the ADR's Layer 1.5 runtime separation) is acceptable for the POC. The runtime image split (
agent-base-gooseas a separate layer) is a future optimization tracked by #27.Acceptance Criteria
/opt/skills/{name}/SKILL.mdmigration-harness runworks in each stage image (discovers the skill, launches goose, runs the stage)References