Monorepo for Aesthetic.Computer aesthetic.computer

slab: the rock takes the name of the piece it is holding master

Opening a piece called `balozo` handed you a rock called `muzad`. Both names are drawn from the same fourteen consonants and five vowels, so neither looked wrong — they just had nothing to do with each other, and you had to hold two words for one session. They were independent by construction. The piece's slug comes from aesthetic-code's `randomSlug`; the rock's name came from `SigilRenderer.name`, seeded on the Slab session UUID. The marker has carried a `piece` field the whole time and the Swift side simply never read it — `ClaudeSession` parsed `scan_url` out of the same JSON object and stopped one key short. For an Aesthetic Code session the piece now names the rock. That is not an arbitrary tiebreak between two equal names: the slug is already the session's public identity, the thing in the address on the rock and in the channel the piece is pushed on. The rock was the only surface disagreeing. Precedent for an external name winning was already here — Loopboys take theirs off the contact route — so this is a second case of the same rule rather than a new one, and it sits in the same function. Non-Aesthetic-Code sessions are untouched: Claude and Codex rocks have no piece and keep deriving from the session id. The slug is filtered to letters, digits, hyphen and underscore and capped at sixteen characters before it becomes a fleet-visible handle, and an empty result falls through to the old derivation, so a session that has not named a piece yet still gets a rock. The name follows a rename, which the old doc comment warned against — it wanted a handle stable for the session lifetime. That reasoning holds for a prompt whose subject drifts; it does not hold for a piece, where a rename is a deliberate act and having the rock keep the dead name is the worse outcome. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A1xZ1BonXHyds6EzF5H9Hb


+18
2 changed files