Examples · New feature
A useless hostname, replaced with a name an operator actually chooses
Added an operator-set device name that now wins everywhere a device is shown, with the old hostname kept as a fallback.
- $29.54
- Cost, start to finish
- 3h 9m
- Lead time, filed to merged
- 58
- Files changed in the merge
Measured from this task's real merge.
- Cost
- $29.54
- Turns
- 504
- Lead time
- 3h 9m
- Merged
- Aug 7, 2026
- Diff
- 58 files · +902 -200
Devices used to inherit their name from the EC2 instance that created them. That was replaced with a generated hash, which is stable but tells an operator nothing about which machine they're looking at.
What was asked for
We recently changed it so that devices didn't keep the names of the ec2 servers they were created from - probably an ok change... but what it has been replaced with is useless... some hash that means nothing...
Filed from the web app, no CLI or git required (go, react).
What the herd did
- plan
- code
- review
- merge
- verify
- done
- plan
- Decided the fix needed a real, separately-stored device name rather than a smarter hostname, since a hostname is a fact about the machine, not a label an operator picks.
- code
- Added a device name column and a migration, a resolver that prefers the operator-set name and falls back to the hostname, and updated every screen and CLI command that shows a device.
- review
- Checked the fallback chain end to end and the new migration against the storage package's own conventions.
- merge
- Fifty-eight files touched: the migration, the Go handler and repo layers, the SPA's device pages, and the ch CLI.
- verify
- Confirmed a named device shows its name everywhere, and an unnamed one still falls back to its hostname exactly as before.
- done
- $29.54 across 504 turns, the widest-reaching change in this set.
What it changed
The merge touched 58 files (+902 −200). Among them:
internal/devicename/devicename.gointernal/devices/handler.gointernal/storage/migrations/20260807030218_devices_name.up.sqlapp/src/pages/DeviceDetail.tsxcmd/ch/device.go
What it cost
$29.54 in model spend, 504 agent turns, and 3h 9m from filed to merged. See what a month of work like this would cost your own team on our cost calculator.
A generated identifier and an operator's own name for a thing are two different fields, not one.

Got something like this to ship?
Tell us what you're building. We'll set your workspace up and you can file it today.