zone.stratos.feed.post

lexicon.northsky.app

Schema Diff

+1 -0

From

CID
bafyreigwpryrlge...
Indexed At
2026-03-03 21:29 UTC
View this version

To

CID
bafyreic7vavdz2a...
Indexed At
2026-08-26 08:59 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

10 breaking changes, 14 non-breaking changes.

Breaking Changes (10)
  • RemovedEdge RemovedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant0", kind: "variant", name: Some("app.bsky.embed.images") }
  • RemovedEdge RemovedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant1", kind: "variant", name: Some("app.bsky.embed.video") }
  • RemovedEdge RemovedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant2", kind: "variant", name: Some("app.bsky.embed.external") }
  • RemovedEdge RemovedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant3", kind: "variant", name: Some("app.bsky.embed.record") }
  • RemovedEdge RemovedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant4", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
  • RemovedEdge RemovedEdge { src: "zone.stratos.feed.post:body.embed:variant0", tgt: "app.bsky.embed.images", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "zone.stratos.feed.post:body.embed:variant1", tgt: "app.bsky.embed.video", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "zone.stratos.feed.post:body.embed:variant2", tgt: "app.bsky.embed.external", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "zone.stratos.feed.post:body.embed:variant3", tgt: "app.bsky.embed.record", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "zone.stratos.feed.post:body.embed:variant4", tgt: "app.bsky.embed.recordWithMedia", kind: "ref", name: None }
Non-Breaking Changes (14)
  • AddedVertex AddedVertex { vertex_id: "zone.stratos.embed.images" }
  • AddedVertex AddedVertex { vertex_id: "zone.stratos.feed.post:body.embed:variant5" }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant0", kind: "variant", name: Some("zone.stratos.embed.images") }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant1", kind: "variant", name: Some("app.bsky.embed.images") }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant2", kind: "variant", name: Some("app.bsky.embed.video") }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant3", kind: "variant", name: Some("app.bsky.embed.external") }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant4", kind: "variant", name: Some("app.bsky.embed.record") }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant5", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed:variant0", tgt: "zone.stratos.embed.images", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed:variant1", tgt: "app.bsky.embed.images", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed:variant2", tgt: "app.bsky.embed.video", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed:variant3", tgt: "app.bsky.embed.external", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed:variant4", tgt: "app.bsky.embed.record", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "zone.stratos.feed.post:body.embed:variant5", tgt: "app.bsky.embed.recordWithMedia", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "zone.stratos.embed.images" }
  • AddedVertex { vertex_id: "zone.stratos.feed.post:body.embed:variant5" }

Additional Notes

  • Breaking: RemovedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant0", kind: "variant", name: Some("app.bsky.embed.images") }
  • Breaking: RemovedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant1", kind: "variant", name: Some("app.bsky.embed.video") }
  • Breaking: RemovedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant2", kind: "variant", name: Some("app.bsky.embed.external") }
  • Breaking: RemovedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant3", kind: "variant", name: Some("app.bsky.embed.record") }
  • Breaking: RemovedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant4", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
  • Breaking: RemovedEdge { src: "zone.stratos.feed.post:body.embed:variant0", tgt: "app.bsky.embed.images", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "zone.stratos.feed.post:body.embed:variant1", tgt: "app.bsky.embed.video", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "zone.stratos.feed.post:body.embed:variant2", tgt: "app.bsky.embed.external", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "zone.stratos.feed.post:body.embed:variant3", tgt: "app.bsky.embed.record", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "zone.stratos.feed.post:body.embed:variant4", tgt: "app.bsky.embed.recordWithMedia", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant0", kind: "variant", name: Some("zone.stratos.embed.images") }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant1", kind: "variant", name: Some("app.bsky.embed.images") }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant2", kind: "variant", name: Some("app.bsky.embed.video") }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant3", kind: "variant", name: Some("app.bsky.embed.external") }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant4", kind: "variant", name: Some("app.bsky.embed.record") }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed", tgt: "zone.stratos.feed.post:body.embed:variant5", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed:variant0", tgt: "zone.stratos.embed.images", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed:variant1", tgt: "app.bsky.embed.images", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed:variant2", tgt: "app.bsky.embed.video", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed:variant3", tgt: "app.bsky.embed.external", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed:variant4", tgt: "app.bsky.embed.record", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "zone.stratos.feed.post:body.embed:variant5", tgt: "app.bsky.embed.recordWithMedia", kind: "ref", name: None }
1 1
{
2 2
  "id": "zone.stratos.feed.post",
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
          "createdAt"
11 11
        ],
12 12
        "properties": {
13 13
          "tags": {
14 14
            "type": "array",
15 15
            "items": {
16 16
              "type": "string",
17 17
              "maxLength": 640,
18 18
              "maxGraphemes": 64
19 19
            },
20 20
            "maxLength": 8,
21 21
            "description": "Additional hashtags, in addition to any included in post text and facets."
22 22
          },
23 23
          "text": {
24 24
            "type": "string",
25 25
            "maxLength": 3000,
26 26
            "description": "The primary post content. May be an empty string, if there are embeds. Omitted in stub records.",
27 27
            "maxGraphemes": 300
28 28
          },
29 29
          "embed": {
30 30
            "refs": [
31 +
              "zone.stratos.embed.images",
31 32
              "app.bsky.embed.images",
32 33
              "app.bsky.embed.video",
33 34
              "app.bsky.embed.external",
34 35
              "app.bsky.embed.record",
35 36
              "app.bsky.embed.recordWithMedia"
36 37
            ],
37 38
            "type": "union"
38 39
          },
39 40
          "langs": {
40 41
            "type": "array",
41 42
            "items": {
42 43
              "type": "string",
43 44
              "format": "language"
44 45
            },
45 46
            "maxLength": 3,
46 47
            "description": "Indicates human language of post primary text content."
47 48
          },
48 49
          "reply": {
49 50
            "ref": "#replyRef",
50 51
            "type": "ref"
51 52
          },
52 53
          "facets": {
53 54
            "type": "array",
54 55
            "items": {
55 56
              "ref": "app.bsky.richtext.facet",
56 57
              "type": "ref"
57 58
            },
58 59
            "description": "Annotations of text (mentions, URLs, hashtags, etc)"
59 60
          },
60 61
          "labels": {
61 62
            "refs": [
62 63
              "com.atproto.label.defs#selfLabels"
63 64
            ],
64 65
            "type": "union",
65 66
            "description": "Self-label values for this post. Effectively content warnings."
66 67
          },
67 68
          "source": {
68 69
            "ref": "zone.stratos.defs#source",
69 70
            "type": "ref",
70 71
            "description": "When present, indicates this is a stub record. Full content should be hydrated from the referenced service."
71 72
          },
72 73
          "boundary": {
73 74
            "refs": [
74 75
              "zone.stratos.boundary.defs#Domains"
75 76
            ],
76 77
            "type": "union",
77 78
            "description": "Limit exposure to defined domains. Omitted in stub records."
78 79
          },
79 80
          "createdAt": {
80 81
            "type": "string",
81 82
            "format": "datetime",
82 83
            "description": "Client-declared timestamp when this post was originally created."
83 84
          }
84 85
        }
85 86
      },
86 87
      "description": "Record containing a private Stratos post with domain boundary restrictions. When stored on user's PDS as a stub, only 'source' and 'createdAt' are present. Full content is available from the hydration service."
87 88
    },
88 89
    "replyRef": {
89 90
      "type": "object",
90 91
      "required": [
91 92
        "root",
92 93
        "parent"
93 94
      ],
94 95
      "properties": {
95 96
        "root": {
96 97
          "ref": "com.atproto.repo.strongRef",
97 98
          "type": "ref"
98 99
        },
99 100
        "parent": {
100 101
          "ref": "com.atproto.repo.strongRef",
101 102
          "type": "ref"
102 103
        }
103 104
      },
104 105
      "description": "Reference to parent and root posts for replies. Must reference stratos posts only."
105 106
    }
106 107
  },
107 108
  "$type": "com.atproto.lexicon.schema",
108 109
  "lexicon": 1
109 110
}

Compare Other Versions

Lexicon Garden

@