social.yakka.actor.profile

Yakka's half of a person's profile, layered over app.bsky.actor.profile (ADR 0027 §3). Resolution is per field and lowest-precedence-first: a present field here overrides the same field there, and an absent one never blanks it. This record deliberately does NOT restate displayName, description or avatar — those have a home in the network already, and restating one would mean a name changed in any other atproto client stops showing on yakka. What lives here is what Bluesky has no field for.

Repository @yakka.social did:plc:l4qgvpbuaoktrgdo4aweye6j namespace authority
Details · record, key literal:self
Kindrecord
Record keyliteral:self
Authorityactor.yakka.social
Indexed
cid bafyreiccyxqok3gw7rt7nbsb5mcyqbh5exso3l6h2p6mvtlvnhju35nraq

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Yakka's half of a person's profile, layered over app.bsky.actor.profile (ADR 0027 §3). Resolution is per field and lowest-precedence-first: a present field here overrides the same field there, and an absent one never blanks it. This record deliberately does NOT restate displayName, description or avatar — those have a home in the network already, and restating one would mean a name changed in any other atproto client stops showing on yakka. What lives here is what Bluesky has no field for.",
      "key": "literal:self",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "pronouns": {
            "description": "Free text rather than an enum: the set is not ours to close, and a picker that omits somebody is worse than a field they can fill in.",
            "maxGraphemes": 32,
            "maxLength": 64,
            "type": "string"
          }
        },
        "required": [
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "social.yakka.actor.profile",
  "lexicon": 1
}