Skip to content

style bits on channel names read as semantics — reserve italic/bold for actual states, not identity entropy #403

Description

@aaronsb

Operator finding (2026-07-22, riding the loop): 'why is #testing italic?' — it isn't a state; it's identity entropy. Group::for_name hashes the channel name into a palette entry PLUS style bits (agent-identity's deliberate secondary axes for identity-space width), so some channels render italic/bold purely by hash accident.

The finding: the operator's own question is the evidence. Style bits carry conventional MEANING to humans (italic = draft/inactive/unavailable; bold = active/unread), so hash-assigned styles provoke false semantic inference — attention spent decoding noise.

Proposal: channels keep color + glyph as the identity axes (both read as arbitrary, so neither invites inference); style bits get RESERVED for real states where their conventional reading helps — e.g. italic = registered-but-not-joined, bold = foreground tab / unread activity. Agent nicknames may warrant the same review (bold/italic combos exist there too, same hash mechanism), with the same principle: entropy in axes that don't look meaningful, semantics in axes that do.

Note the palette.rs philosophy comment already half-knows this ('italic renders inconsistently across terminals... use it sparingly') — this issue extends the caution from rendering reliability to semantic misfire.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions