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
  "id": "community.gifthood.listing",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "title",
11 11
          "intent",
12 12
          "description",
13 13
          "geohash",
14 14
          "createdAt"
15 15
        ],
16 16
        "properties": {
17 17
          "langs": {
18 18
            "type": "array",
19 19
            "items": {
20 20
              "type": "string",
21 21
              "format": "language"
22 22
            },
23 23
            "maxLength": 3,
24 24
            "description": "Language(s) the content is written in, as BCP-47 language tags. Author-asserted; clients default from the composer's locale."
25 25
          },
26 26
          "title": {
27 27
            "type": "string",
28 28
            "maxLength": 200,
29 29
            "minLength": 1,
30 30
            "description": "Required short title for the item being offered or requested.",
31 31
            "maxGraphemes": 100,
32 32
            "minGraphemes": 1
33 33
          },
34 34
          "images": {
35 35
            "type": "array",
36 36
            "items": {
37 37
              "type": "blob",
38 38
              "accept": [
39 39
                "image/jpeg",
40 40
                "image/png",
41 41
                "image/webp"
42 42
              ],
43 43
              "maxSize": 1000000
44 44
            },
45 45
            "maxLength": 4,
46 46
            "description": "Up to 4 images of the item, stored as blobs in the poster's repo."
47 47
          },
48 48
          "intent": {
49 49
            "enum": [
50 50
              "offer",
51 51
              "request"
52 52
            ],
53 53
            "type": "string",
54 54
            "description": "Whether the poster is giving away an item or looking for one."
55 55
          },
56 56
          "labels": {
57 57
            "refs": [
58 58
              "com.atproto.label.defs#selfLabels"
59 59
            ],
60 60
            "type": "union",
61 61
            "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."
62 62
          },
63 63
          "status": {
64 64
            "enum": [
65 65
              "available",
66 66
              "pending",
67 67
              "gone"
68 68
            ],
69 69
            "type": "string",
70 70
            "description": "Current availability. Clients should treat a missing value as 'available'."
71 71
          },
72 72
          "geohash": {
73 73
            "type": "string",
74 74
            "maxLength": 6,
75 75
            "minLength": 1,
76 76
            "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."
77 77
          },
78 78
          "category": {
79 79
            "enum": [
80 80
              "furniture",
81 81
              "kitchen",
82 82
              "clothing",
83 83
              "baby",
84 84
              "books",
85 +
              "instruments",
85 86
              "electronics",
86 87
              "tools",
87 88
              "garden",
88 89
              "health",
89 90
              "pets",
90 91
              "hobbies",
91 92
              "food",
92 93
              "animals",
93 94
              "service",
94 95
              "other"
95 96
            ],
96 97
            "type": "string",
97 98
            "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."
98 99
          },
99 100
          "createdAt": {
100 101
            "type": "string",
101 102
            "format": "datetime"
102 103
          },
103 104
          "imageAlts": {
104 105
            "type": "array",
105 106
            "items": {
106 107
              "type": "string",
107 108
              "maxGraphemes": 1000
108 109
            },
109 110
            "maxLength": 4,
110 111
            "description": "Alt text for images, parallel to the images array by index."
111 112
          },
112 113
          "description": {
113 114
            "type": "string",
114 115
            "maxLength": 3000,
115 116
            "minLength": 1,
116 117
            "description": "Required free text describing the item being offered or requested.",
117 118
            "maxGraphemes": 1500,
118 119
            "minGraphemes": 1
119 120
          },
120 121
          "locationName": {
121 122
            "type": "string",
122 123
            "maxLength": 300,
123 124
            "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.",
124 125
            "maxGraphemes": 100
125 126
          }
126 127
        }
127 128
      },
128 129
      "description": "An offer or request for a free item, discoverable by approximate location."
129 130
    }
130 131
  },
131 132
  "$type": "com.atproto.lexicon.schema",
132 133
  "lexicon": 1
133 134
}

Compare Other Versions

Lexicon Garden

@