fix(install): the rename broke every install — stop guessing the tarball's top dir #61

Merged
dan-claude-bot merged 1 commit from fix/install-extract-dir into main 2026-07-15 00:39:39 +00:00
dan-claude-bot commented 2026-07-15 00:39:09 +00:00 (Migrated from github.com)

The rename broke every install. GitHub names a tarball's top directory <repo>-<ref>; the extractor globbed claudebox-*, so since the repo became heavy-duty/box the tarball extracts to box-main and every curl install.sh | bash — and therefore every drill run, which installs via that exact path — dies with could not find the extracted source directory in archive. That's the failure in today's drill attempt.

Fix: the archive has exactly one top-level directory — take the directory, whatever it's called, and let the existing bin/box sanity check judge whether it's the right tree. No name to guess means nothing for the next rename (or a slashed branch ref, which GitHub dash-mangles) to break.

Verified against the live tarball: a BOX_HOME/BOX_BIN scratch install from heavy-duty/box@main lands, links, and box --version answers box 0.5.0.

Note for the drill: it fetches install.sh from $REPO@$REF at runtime, so the drill unbreaks the moment this merges — no drill-side change needed.

🤖 Generated with Claude Code

**The rename broke every install.** GitHub names a tarball's top directory `<repo>-<ref>`; the extractor globbed `claudebox-*`, so since the repo became `heavy-duty/box` the tarball extracts to `box-main` and every `curl install.sh | bash` — and therefore every drill run, which installs via that exact path — dies with `could not find the extracted source directory in archive`. That's the failure in today's drill attempt. Fix: the archive has exactly **one** top-level directory — take the directory, whatever it's called, and let the existing `bin/box` sanity check judge whether it's the right tree. No name to guess means nothing for the next rename (or a slashed branch ref, which GitHub dash-mangles) to break. Verified against the live tarball: a `BOX_HOME`/`BOX_BIN` scratch install from `heavy-duty/box@main` lands, links, and `box --version` answers `box 0.5.0`. Note for the drill: it fetches `install.sh` from `$REPO@$REF` at runtime, so the drill unbreaks the moment this merges — no drill-side change needed. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: heavy-duty/box#61
No description provided.