Skip to content

docker: remove the four ADD fetches that are blocking every deploy - #131

Merged
AdaWorldAPI merged 1 commit into
mainfrom
claude/q2-dockerfile-unblock
Aug 14, 2026
Merged

docker: remove the four ADD fetches that are blocking every deploy#131
AdaWorldAPI merged 1 commit into
mainfrom
claude/q2-dockerfile-unblock

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

Unblocks the deploy. Not a draft — every build on main is currently failing at step 11/16.

One file, one commit. The four ADD https://…/commits/main.atom lines and the comment block that justified them are deleted. No build step, clone step, or behaviour change otherwise — the layer is simply cacheable again, exactly as before 3c76143.

Why the build fails

[builder 11/16] ADD https://github.com/AdaWorldAPI/ndarray/commits/main.atom /tmp/rev/ndarray.atom
failed to load cache key: invalid response status 404

AdaWorldAPI/ndarray's default branch is master, not main, so that URL is a permanent 404.

This is not a stale cache. BuildKit resolves an ADD <url> by fetching the URL to compute the cache key, so it fails on a cold cache, a warm cache, and a fresh commit alike — disabling the build cache only guarantees the fetch is attempted. "Push a new commit" works in exactly one sense: a commit that removes the lines. This is that commit.

Why removed, not repaired

Correcting mainmaster would also have worked, and would still have left four network fetches in the build's critical path where any 404 or blip kills a deploy.

More importantly, the block defends a failure class that no longer exists. It was added after a stale lance-graph clone took a deploy down — but what made a stale clone fatal was lance-graph-ogar's COUNT_FUSE, a compile-time length assert that turned "this clone's codebook mirror is one concept behind OGAR" into E0080 at const-eval.

lance-graph #954 removed that fuse. Activation now verifies the plugged concepts against the mirror at runtime and names the drift (MirrorDrift { concept, authority_id, mirror_id }). A slightly stale sibling compiles; real drift surfaces where it can be read. The plug-and-play migration retired the hazard, and the cache-bust fetches outlived their reason.

The comment that replaces them records why the block is absent so it does not get re-added, and points at explicit SHA ARGs as the instrument to use if cache staleness needs solving again — an ARG change busts the layer with zero network calls and fails legibly at git checkout.

Provenance

Both the breakage and the fix are mine: 3c76143 (q2 #130) added the lines, and the comment directly above them named this exact hazard — "a failed ADD FAILS THE BUILD. That trades a stale cache for a new outage cause, which is the opposite of the point." — before shipping four of them anyway.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NMeiLmtDKhomJNSo2ecbJw


Generated by Claude Code

They are mine (3c76143) and they break the build. `AdaWorldAPI/ndarray`'s
default branch is `master`, not `main`, so
`.../ndarray/commits/main.atom` is a guaranteed 404 — and a failed `ADD`
fails the build. Every deploy dies at step 11/16.

Removed rather than corrected, because the whole block should not exist.
It was added to bust the sibling-clone layer after a stale lance-graph
clone took a deploy down — but what made a stale clone FATAL was
`COUNT_FUSE`, a compile-time length assert that turned "this mirror is
one concept behind OGAR" into E0080 at const-eval. lance-graph #954
removed that fuse: activation now checks the PLUGGED concepts against the
mirror at runtime and names the drift. A slightly stale sibling compiles
now; real drift surfaces where it can be read.

So the fetches defended a failure class that had already been retired,
and paid for it with four network calls in the build's critical path
where any 404 or blip kills the deploy. The comment directly above them
named that exact hazard and I shipped them anyway.

Deletions only in effect — no build step changes, no clone step changes,
no behaviour change beyond the layer being cacheable again. The comment
that replaces them records why the block is absent, so it does not get
re-added, and points at explicit SHA ARGs as the instrument to use if
cache staleness needs solving: an ARG change busts the layer with zero
network calls and fails legibly at `git checkout`.
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Important

Review available on request

  • 🔍 Trigger review

Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment @coderabbitai review to review the latest changes. For a full review, comment @coderabbitai full review.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: dacd7174-a012-4fc9-900b-704f505e427d


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Aug 14, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_30ffefa1-2f74-433b-ad35-d8151c7755ac)

@AdaWorldAPI
AdaWorldAPI merged commit 28dcc6d into main Aug 14, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants