app.tempomusic.actor.profile

lexicons.tempomusic.fan

Documentation

Customizable profile attributes for a Tempo actor. Stored as a singleton per repository under the literal record key 'self'.

main record

Customizable profile attributes for a Tempo actor. Stored as a singleton per repository under the literal record key 'self'.

Record Key literal:self Fixed literal value

Properties

avatar union Optional

Actor's avatar selection. Open union: currently only catalog-based avatars; future variants (e.g. custom blob upload) may be added without a breaking change.

Known types:
createdAt string datetime Required

Client-declared timestamp when this revision of the profile was authored. NOTE: with the singleton 'self' key, this advances on every edit; it is NOT a ToS-acceptance baseline. AppViews wanting an immutable first-acceptance timestamp must capture it separately.

displayName string Required

User-chosen display name shown in posts, replies and profile views. Bounded in graphemes (visible characters) so the UI can render it predictably; the byte budget is set to 10x the grapheme budget to leave headroom for multi-byte UTF-8 sequences.

maxLength: 180 bytesminLength: 1 bytesmaxGraphemes: 18 graphemes
View raw schema
{
  "key": "literal:self",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "displayName",
      "createdAt"
    ],
    "properties": {
      "avatar": {
        "refs": [
          "#catalogAvatar"
        ],
        "type": "union",
        "description": "Actor's avatar selection. Open union: currently only catalog-based avatars; future variants (e.g. custom blob upload) may be added without a breaking change."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Client-declared timestamp when this revision of the profile was authored. NOTE: with the singleton 'self' key, this advances on every edit; it is NOT a ToS-acceptance baseline. AppViews wanting an immutable first-acceptance timestamp must capture it separately."
      },
      "displayName": {
        "type": "string",
        "maxLength": 180,
        "minLength": 1,
        "description": "User-chosen display name shown in posts, replies and profile views. Bounded in graphemes (visible characters) so the UI can render it predictably; the byte budget is set to 10x the grapheme budget to leave headroom for multi-byte UTF-8 sequences.",
        "maxGraphemes": 18
      }
    }
  },
  "description": "Customizable profile attributes for a Tempo actor. Stored as a singleton per repository under the literal record key 'self'."
}
catalogAvatar object

Reference to an avatar from the curated illustration catalog bundled with Tempo clients. The avatar is composed of (1) a character illustration identified by `id` and (2) a background color identified by `backgroundColor`. Clients resolve both against their local catalog/theme at render time and fall back to defaults when a value is unknown.

Properties

backgroundColor string Required

Stable identifier of the background color, resolved by the client against the Tempo extended theme palette. `knownValues` is informational; AppViews and clients MUST accept unknown values gracefully so the palette can grow non-breakingly.

maxLength: 32 bytes
Known values: userOrange, userBlue, userPink, userRed, userCyan, userGrey
id string Required

Stable catalog identifier (e.g. 'hoodie_jacket'). Lowercase ASCII with underscores; opaque to the protocol.

maxLength: 64 bytes
View raw schema
{
  "type": "object",
  "required": [
    "id",
    "backgroundColor"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 64,
      "description": "Stable catalog identifier (e.g. 'hoodie_jacket'). Lowercase ASCII with underscores; opaque to the protocol."
    },
    "backgroundColor": {
      "type": "string",
      "maxLength": 32,
      "description": "Stable identifier of the background color, resolved by the client against the Tempo extended theme palette. `knownValues` is informational; AppViews and clients MUST accept unknown values gracefully so the palette can grow non-breakingly.",
      "knownValues": [
        "userOrange",
        "userBlue",
        "userPink",
        "userRed",
        "userCyan",
        "userGrey"
      ]
    }
  },
  "description": "Reference to an avatar from the curated illustration catalog bundled with Tempo clients. The avatar is composed of (1) a character illustration identified by `id` and (2) a background color identified by `backgroundColor`. Clients resolve both against their local catalog/theme at render time and fall back to defaults when a value is unknown."
}

Lexicon Garden

@