New resource name: /etc/hostname = ${setting:hostname}\n, no default. Live machines today: g14 g14 (= mesh name), ace Ace, novox novox-be, shanks Shanks — the operator decides (per-node values, or mesh-wide {"hostname": "${machine:name}"}). Without the setting the module is left out on that machine, naming the key.
Takes effect at next boot; nothing set live (a running X session's authority is keyed by the old name). README says so.
Rollout: mesh-controller hostname-module rolled out → this merged and hostname registered → settings set hostname for every node → per node: unassign <node> hosts, assign <node> hostname, push <node> (one apply: hosts.own region taken out, hostname.own added at the start; operator lines byte for byte) → module forget hosts.
Checks: module check ok; module go vet/go test green.
- `modules/hosts` → `modules/hostname` (Go module, `cmd/hostname-tools`, binary `hostname-tools`), claiming `node-hostname`; verbs entries/add/remove unchanged, now `<node>/node-hostname.<verb>`.
- `/etc/hosts` block unchanged but for its comment.
- New resource `name`: `/etc/hostname` = `${setting:hostname}\n`, **no default**. Live machines today: g14 `g14` (= mesh name), ace `Ace`, novox `novox-be`, shanks `Shanks` — the operator decides (per-node values, or mesh-wide `{"hostname": "${machine:name}"}`). Without the setting the module is left out on that machine, naming the key.
- Takes effect at next boot; nothing set live (a running X session's authority is keyed by the old name). README says so.
**Rollout:** mesh-controller `hostname-module` rolled out → this merged and `hostname` registered → `settings set hostname` for every node → per node: `unassign <node> hosts`, `assign <node> hostname`, `push <node>` (one apply: `hosts.own` region taken out, `hostname.own` added at the start; operator lines byte for byte) → `module forget hosts`.
Checks: `module check` ok; module `go vet`/`go test` green.
Two files say one fact, the machine's name, and nothing owned /etc/hostname.
The name written is the operator's hostname setting, with no default: three
of four machines call themselves something other than their mesh name, and
renaming one is the operator's call. It takes effect at the next boot.
Deliverynovox/mesh-catalog@5c2157b81cc2 — held since 2026-10-06T23:05:28Z
Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.
Delivery plan — builds hostname, new: modules/hosts → ace, g14, novox, shanks; no bus step
tier 0: hostname
ace: receives hostname
g14: receives hostname
novox: receives hostname
shanks: receives hostname
Transitions
2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#78 merged; its head was not heard by this owner, so it is made from the forge's word
2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-catalog@5c2157b81cc2` — **held** since 2026-10-06T23:05:28Z
Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on.
**Delivery plan** — builds hostname, new: modules/hosts → ace, g14, novox, shanks; no bus step
- tier 0: hostname
- ace: receives hostname
- g14: receives hostname
- novox: receives hostname
- shanks: receives hostname
**Transitions**
- 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#78 merged; its head was not heard by this owner, so it is made from the forge's word
- 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
modules/hosts→modules/hostname(Go module,cmd/hostname-tools, binaryhostname-tools), claimingnode-hostname; verbs entries/add/remove unchanged, now<node>/node-hostname.<verb>./etc/hostsblock unchanged but for its comment.name:/etc/hostname=${setting:hostname}\n, no default. Live machines today: g14g14(= mesh name), aceAce, novoxnovox-be, shanksShanks— the operator decides (per-node values, or mesh-wide{"hostname": "${machine:name}"}). Without the setting the module is left out on that machine, naming the key.Rollout: mesh-controller
hostname-modulerolled out → this merged andhostnameregistered →settings set hostnamefor every node → per node:unassign <node> hosts,assign <node> hostname,push <node>(one apply:hosts.ownregion taken out,hostname.ownadded at the start; operator lines byte for byte) →module forget hosts.Checks:
module checkok; modulego vet/go testgreen.Delivery
novox/mesh-catalog@5c2157b81cc2— held since 2026-10-06T23:05:28ZHeld for a person: merged without a passing check: only a person decides that it goes on —
mesh-delivery.releasewith why lets it go on.Delivery plan — builds hostname, new: modules/hosts → ace, g14, novox, shanks; no bus step
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.