app.atmobb.forum.stamp

lexicons.atmobb.app

Schema Diff

+7 -0

From

CID
bafyreigerpzfame...
Indexed At
2026-09-13 23:12 UTC
View this version

To

CID
bafyreibc2qi4uzi...
Indexed At
2026-10-07 04:30 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.stamp#look.symbol" }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.stamp#look", tgt: "app.atmobb.forum.stamp#look.symbol", kind: "prop", name: Some("symbol") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.atmobb.forum.stamp#look.symbol" }

Additional Notes

  • Non-breaking: AddedEdge { src: "app.atmobb.forum.stamp#look", tgt: "app.atmobb.forum.stamp#look.symbol", kind: "prop", name: Some("symbol") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "look": {
5 5
      "description": "How the stamp is drawn: two colors and one of a bounded set of shapes. No free CSS or images.",
6 6
      "properties": {
7 7
        "bg": {
8 8
          "description": "Background as a full six-digit hex color (for example #1a73e8). Writers must validate the #RRGGBB format.",
9 9
          "maxLength": 7,
10 10
          "type": "string"
11 11
        },
12 12
        "ink": {
13 13
          "description": "Text and outline as a full six-digit hex color (for example #ffffff). Writers must validate the #RRGGBB format.",
14 14
          "maxLength": 7,
15 15
          "type": "string"
16 16
        },
17 17
        "shape": {
18 18
          "knownValues": [
19 19
            "stamp",
20 20
            "pill",
21 21
            "ticket",
22 22
            "pixel"
23 23
          ],
24 24
          "maxLength": 32,
25 25
          "type": "string"
26 +
        },
27 +
        "symbol": {
28 +
          "description": "Optional visible grapheme drawn on the stamp. Writers must reject invisible or whitespace-only symbols.",
29 +
          "maxGraphemes": 1,
30 +
          "maxLength": 64,
31 +
          "minGraphemes": 1,
32 +
          "type": "string"
26 33
        }
27 34
      },
28 35
      "required": [
29 36
        "bg",
30 37
        "ink",
31 38
        "shape"
32 39
      ],
33 40
      "type": "object"
34 41
    },
35 42
    "main": {
36 43
      "description": "A stamp a forum awards for belonging: being somewhere or arriving at some time, never for how much someone has posted. Lives in the forum account's repo. Members choose which awarded stamps to wear via the wearing list on their membership record.",
37 44
      "key": "tid",
38 45
      "record": {
39 46
        "properties": {
40 47
          "createdAt": {
41 48
            "format": "datetime",
42 49
            "type": "string"
43 50
          },
44 51
          "look": {
45 52
            "ref": "#look",
46 53
            "type": "ref"
47 54
          },
48 55
          "name": {
49 56
            "maxGraphemes": 24,
50 57
            "maxLength": 240,
51 58
            "type": "string"
52 59
          },
53 60
          "trigger": {
54 61
            "ref": "#trigger",
55 62
            "type": "ref"
56 63
          }
57 64
        },
58 65
        "required": [
59 66
          "name",
60 67
          "look",
61 68
          "trigger",
62 69
          "createdAt"
63 70
        ],
64 71
        "type": "object"
65 72
      },
66 73
      "type": "record"
67 74
    },
68 75
    "trigger": {
69 76
      "description": "What earns the stamp. kind names the event or place; the other fields parameterize it. Writers must validate that the parameter matching kind is present: board for firstPostInBoard, before for profileBefore, via for arrivedBy. firstPostHere and byHand take no parameter.",
70 77
      "properties": {
71 78
        "before": {
72 79
          "description": "For profileBefore: members whose atmobb profile predates this moment earn the stamp.",
73 80
          "format": "datetime",
74 81
          "type": "string"
75 82
        },
76 83
        "board": {
77 84
          "description": "For firstPostInBoard: the app.atmobb.forum.board whose first post earns the stamp.",
78 85
          "format": "at-uri",
79 86
          "type": "string"
80 87
        },
81 88
        "kind": {
82 89
          "knownValues": [
83 90
            "firstPostInBoard",
84 91
            "firstPostHere",
85 92
            "profileBefore",
86 93
            "arrivedBy",
87 94
            "byHand"
88 95
          ],
89 96
          "maxLength": 32,
90 97
          "type": "string"
91 98
        },
92 99
        "via": {
93 100
          "description": "For arrivedBy: how the member was accepted (matches the acceptMember action's via).",
94 101
          "knownValues": [
95 102
            "invite",
96 103
            "application",
97 104
            "founding"
98 105
          ],
99 106
          "maxLength": 32,
100 107
          "type": "string"
101 108
        }
102 109
      },
103 110
      "required": [
104 111
        "kind"
105 112
      ],
106 113
      "type": "object"
107 114
    }
108 115
  },
109 116
  "id": "app.atmobb.forum.stamp",
110 117
  "lexicon": 1
111 118
}

Compare Other Versions

Lexicon Garden

@