Skip to content

5.3: Per-stage container images (plan, execute, verify) #40

Description

@savitharaghunathan

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 + Maven
  • agent-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/
  • Add Makefile targets for per-stage image builds with dependency chain (agent-base → agent-java-base → execute/verify, agent-base → plan)
  • Clean up old images that don't fit this model (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-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

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status
🏗 In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions