app.bulleted.outline

lexicons.bulleted.app

Documentation

Titles and describes an outline, and names who may contribute to it. Record key 'self' means the identity's whole forest; any other key names the subtree at 'root'. The key is 'any' rather than 'tid' because 'self' is not a TID.

main record

Titles and describes an outline, and names who may contribute to it. Record key 'self' means the identity's whole forest; any other key names the subtree at 'root'. The key is 'any' rather than 'tid' because 'self' is not a TID.

Record Key any Any valid record key

Properties

contributors array of ref #contributor Optional

Identities whose records render inside this outline at this level and below, interleaved with the author's own. Absent inherits the nearest ancestor record's list; an empty array grants nobody and stops inheriting. How many are rendered is bounded by the application, not here. The Lexicon cannot express any of that, so the application enforces all of it.

createdAt string datetime Required

When the outline was created.

description string Optional

Longer summary of the outline.

maxLength: 3000 bytesmaxGraphemes: 600 graphemes
image blob Optional

Preview image for link cards and og:image. SVG is deliberately excluded because it can carry script.

maxSize: 1.0 MB
imageAlt string Optional

Alt text for image. Required whenever image is present; enforced by the application.

maxLength: 2000 bytes
root string at-uri Optional

The node at the top of this outline. Absent means the whole forest; present if and only if the record key is not 'self'. The Lexicon cannot express that conditional, so the application enforces it.

title string Optional

Display title for the outline.

maxLength: 1000 bytesmaxGraphemes: 200 graphemes
View raw schema
{
  "description": "Titles and describes an outline, and names who may contribute to it. Record key 'self' means the identity's whole forest; any other key names the subtree at 'root'. The key is 'any' rather than 'tid' because 'self' is not a TID.",
  "key": "any",
  "record": {
    "properties": {
      "contributors": {
        "description": "Identities whose records render inside this outline at this level and below, interleaved with the author's own. Absent inherits the nearest ancestor record's list; an empty array grants nobody and stops inheriting. How many are rendered is bounded by the application, not here. The Lexicon cannot express any of that, so the application enforces all of it.",
        "items": {
          "ref": "#contributor",
          "type": "ref"
        },
        "type": "array"
      },
      "createdAt": {
        "description": "When the outline was created.",
        "format": "datetime",
        "type": "string"
      },
      "description": {
        "description": "Longer summary of the outline.",
        "maxGraphemes": 600,
        "maxLength": 3000,
        "type": "string"
      },
      "image": {
        "accept": [
          "image/png",
          "image/jpeg",
          "image/webp"
        ],
        "description": "Preview image for link cards and og:image. SVG is deliberately excluded because it can carry script.",
        "maxSize": 1000000,
        "type": "blob"
      },
      "imageAlt": {
        "description": "Alt text for image. Required whenever image is present; enforced by the application.",
        "maxLength": 2000,
        "type": "string"
      },
      "root": {
        "description": "The node at the top of this outline. Absent means the whole forest; present if and only if the record key is not 'self'. The Lexicon cannot express that conditional, so the application enforces it.",
        "format": "at-uri",
        "type": "string"
      },
      "title": {
        "description": "Display title for the outline.",
        "maxGraphemes": 200,
        "maxLength": 1000,
        "type": "string"
      }
    },
    "required": [
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}
contributor object

One identity admitted to this level. An object rather than a bare DID string so an entry can gain a field — a role, a colour, a grant timestamp — without a breaking change.

Properties

did string did Required

The contributing identity. A DID and never a handle: a handle is a lease, and a grant that followed one would move when the name did.

View raw schema
{
  "description": "One identity admitted to this level. An object rather than a bare DID string so an entry can gain a field — a role, a colour, a grant timestamp — without a breaking change.",
  "properties": {
    "did": {
      "description": "The contributing identity. A DID and never a handle: a handle is a lease, and a grant that followed one would move when the name did.",
      "format": "did",
      "type": "string"
    }
  },
  "required": [
    "did"
  ],
  "type": "object"
}

Lexicon Garden

@