community.gifthood.listing

gifthood.community

Schema Diff

+1 -0

From

CID
bafyreibaq7x5yvi...
Indexed At
2026-06-13 00:08 UTC
View this version

To

CID
bafyreicoqhd377v...
Indexed At
2026-06-18 12:16 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 0 non-breaking changes.

Breaking Changes (1)
  • ConstraintTightened ConstraintTightened { vertex_id: "community.gifthood.listing:body.category", sort: "enum", old_value: "furniture,kitchen,clothing,baby,books,electronics,tools,garden,health,pets,hobbies,food,animals,service,other", new_value: "furniture,kitchen,clothing,baby,books,instruments,electronics,tools,garden,health,pets,hobbies,food,animals,service,other" }

Migration Guidance

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "community.gifthood.listing:body.category", sort: "enum", old_value: "furniture,kitchen,clothing,baby,books,electronics,tools,garden,health,pets,hobbies,food,animals,service,other", new_value: "furniture,kitchen,clothing,baby,books,instruments,electronics,tools,garden,health,pets,hobbies,food,animals,service,other" }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "An offer or request for a free item, discoverable by approximate location.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "category": {
10 10
            "description": "Optional single-level category for opt-out feed filtering. Append-only enum; unknown or missing values index as 'other'. Never used for proximity or safety logic.",
11 11
            "enum": [
12 12
              "furniture",
13 13
              "kitchen",
14 14
              "clothing",
15 15
              "baby",
16 16
              "books",
17 +
              "instruments",
17 18
              "electronics",
18 19
              "tools",
19 20
              "garden",
20 21
              "health",
21 22
              "pets",
22 23
              "hobbies",
23 24
              "food",
24 25
              "animals",
25 26
              "service",
26 27
              "other"
27 28
            ],
28 29
            "type": "string"
29 30
          },
30 31
          "createdAt": {
31 32
            "format": "datetime",
32 33
            "type": "string"
33 34
          },
34 35
          "description": {
35 36
            "description": "Required free text describing the item being offered or requested.",
36 37
            "maxGraphemes": 1500,
37 38
            "maxLength": 3000,
38 39
            "minGraphemes": 1,
39 40
            "minLength": 1,
40 41
            "type": "string"
41 42
          },
42 43
          "geohash": {
43 44
            "description": "Approximate location as a geohash, precision 6 (~1.2km cell). This is a privacy floor: indexers MUST truncate any finer-precision value to 6 characters before indexing or display.",
44 45
            "maxLength": 6,
45 46
            "minLength": 1,
46 47
            "type": "string"
47 48
          },
48 49
          "imageAlts": {
49 50
            "description": "Alt text for images, parallel to the images array by index.",
50 51
            "items": {
51 52
              "maxGraphemes": 1000,
52 53
              "type": "string"
53 54
            },
54 55
            "maxLength": 4,
55 56
            "type": "array"
56 57
          },
57 58
          "images": {
58 59
            "description": "Up to 4 images of the item, stored as blobs in the poster's repo.",
59 60
            "items": {
60 61
              "accept": [
61 62
                "image/jpeg",
62 63
                "image/png",
63 64
                "image/webp"
64 65
              ],
65 66
              "maxSize": 1000000,
66 67
              "type": "blob"
67 68
            },
68 69
            "maxLength": 4,
69 70
            "type": "array"
70 71
          },
71 72
          "intent": {
72 73
            "description": "Whether the poster is giving away an item or looking for one.",
73 74
            "enum": [
74 75
              "offer",
75 76
              "request"
76 77
            ],
77 78
            "type": "string"
78 79
          },
79 80
          "labels": {
80 81
            "description": "Self-labels set by the author. Used to flag mature/adult content (e.g. the global 'sexual' value), which the AppView gates behind an opt-in.",
81 82
            "refs": [
82 83
              "com.atproto.label.defs#selfLabels"
83 84
            ],
84 85
            "type": "union"
85 86
          },
86 87
          "langs": {
87 88
            "description": "Language(s) the content is written in, as BCP-47 language tags. Author-asserted; clients default from the composer's locale.",
88 89
            "items": {
89 90
              "format": "language",
90 91
              "type": "string"
91 92
            },
92 93
            "maxLength": 3,
93 94
            "type": "array"
94 95
          },
95 96
          "locationName": {
96 97
            "description": "Optional human-readable area name. App-populated via reverse geocoding of the geohash cell. Display only; MUST NOT be used for proximity matching or filtering.",
97 98
            "maxGraphemes": 100,
98 99
            "maxLength": 300,
99 100
            "type": "string"
100 101
          },
101 102
          "status": {
102 103
            "description": "Current availability. Clients should treat a missing value as 'available'.",
103 104
            "enum": [
104 105
              "available",
105 106
              "pending",
106 107
              "gone"
107 108
            ],
108 109
            "type": "string"
109 110
          },
110 111
          "title": {
111 112
            "description": "Required short title for the item being offered or requested.",
112 113
            "maxGraphemes": 100,
113 114
            "maxLength": 200,
114 115
            "minGraphemes": 1,
115 116
            "minLength": 1,
116 117
            "type": "string"
117 118
          }
118 119
        },
119 120
        "required": [
120 121
          "title",
121 122
          "intent",
122 123
          "description",
123 124
          "geohash",
124 125
          "createdAt"
125 126
        ],
126 127
        "type": "object"
127 128
      },
128 129
      "type": "record"
129 130
    }
130 131
  },
131 132
  "id": "community.gifthood.listing",
132 133
  "lexicon": 1
133 134
}

Compare Other Versions

Lexicon Garden

@