Files
bot-bottle/docs/prds/0076-modernize-built-in-agent-images.md
T
didericis-codex 9c06702b32
prd-number / assign-numbers (push) Failing after 25s
lint / lint (push) Successful in 4m7s
Update Quality Badges / update-badges (push) Failing after 13m37s
test / coverage (push) Has been skipped
test / integration-docker (push) Failing after 13m51s
test / integration-firecracker (push) Failing after 13m48s
test / integration-macos (push) Failing after 13m54s
test / unit (push) Failing after 13m53s
test / publish-infra (push) Has been skipped
docs(prd): number merged placeholder documents
2026-07-26 06:06:04 +00:00

1.9 KiB

PRD 0076: Modernize built-in agent images

  • Status: Active
  • Author: Codex
  • Created: 2026-07-21
  • Issue: #451

Summary

Keep every built-in agent provider on Debian's current stable release and make Podman available inside each image. This gives agents a consistent, modern userspace and an OCI container tool without requiring per-project setup.

Problem

The Claude, Codex, and Pi images inherit the generic node:22-slim tag. That tag does not state which Debian release the project supports and currently leaves the images on the older Bookworm release. None of the built-in images installs Podman, so tasks that need to inspect or build OCI images must first modify the bottle or cannot run at all.

Goals / success criteria

  • Every Dockerfile under bot_bottle/contrib/*/Dockerfile explicitly inherits node:22-trixie-slim, based on Debian 13 (the current stable release).
  • Every built-in agent image installs Podman from Debian stable.
  • Every built-in agent image retains an SSH client for Git-over-SSH workflows.
  • The non-root agent user owns a traversable XDG Git configuration directory, so Git can load bot-bottle's global git-gate rewrites without permission errors.
  • A shared test enforces both requirements for current and future built-in providers.

Non-goals

  • Configuring privileged or nested-container execution for bottles.
  • Pinning Podman outside Debian's stable package repository.
  • Changing the Node.js or agent CLI release policy.

Design

Use the explicit node:22-trixie-slim base rather than the floating slim variant. Install the podman package with each image's existing apt-get dependency layer, so package metadata and caches are still removed in the same layer. Treat Debian stable as the Podman stability and update channel; this keeps the images stdlib/distribution-first and avoids adding a third-party package repository.