claudebox needs a 'doctor' verb — every fault the drill's doctor catches is a user's fault too #46
Labels
No labels
blocked
blocker:ci-red
blocker:conflict
blocker:drill-pending
blocker:unrequested
bug
claimed
documentation
enhancement
epic
merge-next
needs-triage
ready
release
scope:cli
scope:drill
scope:host
scope:installer
scope:templates
scope:tiers
stale
state:addressing
state:bots-reviewing
state:building
state:needs-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: heavy-duty/box#46
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The drill grew a doctor because runs kept failing for host reasons (
drill/doctor.sh). Look at what it actually diagnoses:security.port_isolationclaimed by config butisolated offin the kernelAll but the last are user faults, not drill faults. Today's session proved it live: a cold
claudebox newdied withTemporary failure resolving 'deb.debian.org'and nothing short of reading cloud-init logs said why. A user on any VPN host hits exactly that, with no drill in sight.The CLI already half-admits this.
bin/claudebox's mint-failure path greps the box's cloud-init log and points at issue #33 by hand — that is a doctor's job, done inline, in one special case.Proposal
claudebox doctor— the host-health checks as a first-class verb:install.shcopies everything,drill/included), so the verb can delegate to the installed script. No new distribution mechanism.--fix. Or one script with the drill-only sections behind a flag — implementer's call.--pin-dnsstays with the doctor as the quick test; the durable fix is setup-host.sh (#45).bin/claudeboxshould end withrun: claudebox doctorinstead of its hand-rolled #33 hint.Relation to #17
The verb must survive the
boxrename — it is exactly the kind of generic, non-Claude-specific surface #17 is about. If #17 lands first, this isbox doctorfrom day one; if this lands first, it is one more rename site on #17's list.Provenance
Runs 10–12. The doctor caught or explained every host fault in that arc (#26 wedge, #33 resolver, the
isolated offground truth), and it took five of its own false alarms (#40, #43) to make it trustworthy — that hardening is exactly what a user-facing verb should inherit rather than re-learn.🤖 Generated with Claude Code