From 41d3148219ac989dde8180993ed73022872a6aa7 Mon Sep 17 00:00:00 2001 From: joelteply Date: Sat, 30 May 2026 11:57:24 -0500 Subject: [PATCH] fix(install): remove dangling avatars build context from docker-compose MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `avatars: ./src/models/avatars` additional_context was added in 9b1f6ca2a (April 2026) when the plan was to bake CC0 avatar VRMs into the continuum-core image. That plan never landed end-to-end — docker/continuum-core.Dockerfile lines 131-143 document the rollback: src/models is gitignored, the dir doesn't exist in CI checkouts, and the Dockerfile uses `RUN mkdir -p /app/avatars` as a placeholder instead of COPYing from the avatars context. The compose-side context declaration was left behind, dangling. No Dockerfile uses `--from=avatars` (verified by grep), so the declaration referenced nothing in build instructions. But docker compose validates that ALL additional_contexts resolve at build time — a missing local context dir fails the whole build with "stat /tmp/carl-smoke-NNNN/src/ models/avatars: no such file or directory". That's the exact failure mode currently blocking carl-install-smoke on PR #1475 (Mac Intel hardware tier) — any PR that touches install.sh triggers carl-install-smoke, which has been silently broken by this dangling context since the rollback. Other PRs (e.g. #1471, #1473, #1474) didn't touch install.sh so the check never ran on them; the break was invisible until now. Removing the line restores the carl-install-smoke happy path while keeping the Dockerfile's empty-dir placeholder intact. Restore the build context when the avatar-provisioning story lands (LFS, model-init download, or curl from a CC0 URL in CI before docker build) per the gap noted in docs/infrastructure/PR891-E2E-VALIDATION.md. Inline comment preserves the context-of-removal in the file so a future contributor doesn't re-add the dangling line. Co-Authored-By: Claude Opus 4.7 --- docker-compose.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index e901c052e..c3a5eea7b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -84,7 +84,20 @@ services: context: ./src/workers dockerfile: ../../docker/continuum-core-vulkan.Dockerfile additional_contexts: - avatars: ./src/models/avatars + # NOTE: the `avatars: ./src/models/avatars` line was here from + # 9b1f6ca2a "Bake CC0 avatar VRM models into continuum-core image" + # (April 2026), but src/models is gitignored — the directory + # doesn't exist in CI checkouts and the build context fails to + # resolve, breaking carl-install-smoke for any PR that touches + # install.sh (e.g. #1475). The Dockerfile already handles the + # empty-dir case via `RUN mkdir -p /app/avatars` (see + # docker/continuum-core.Dockerfile line 143 and the explanatory + # comment block at lines 131-142). No Dockerfile uses + # `--from=avatars`, so the context declaration was dangling + # (referenced nowhere, broke everywhere). Restore when the + # avatar-provisioning story lands (LFS, model-init download, + # or curl from a CC0 URL in CI before docker build) per the + # gap noted in PR891-E2E-VALIDATION.md. shared: ./src/shared shared-generated: ./src/shared/generated args: