dev.frogspace.stacks.item

spacefrog.dev

Schema Diff

+36 -0

From

CID
bafyreid22ljk7kz...
Indexed At
2026-09-12 18:36 UTC
View this version

To

CID
bafyreibqiwx57dr...
Indexed At
2026-09-13 19:13 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 12 non-breaking changes.

Non-Breaking Changes (12)
  • AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.collections" }
  • AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.collections:items" }
  • AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.rating" }
  • AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.readState" }
  • AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.tags" }
  • AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.tags:items" }
  • AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.collections", kind: "prop", name: Some("collections") }
  • AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.rating", kind: "prop", name: Some("rating") }
  • AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.readState", kind: "prop", name: Some("readState") }
  • AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.tags", kind: "prop", name: Some("tags") }
  • AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body.collections", tgt: "dev.frogspace.stacks.item:body.collections:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body.tags", tgt: "dev.frogspace.stacks.item:body.tags:items", kind: "items", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.collections" }
  • AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.collections:items" }
  • AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.rating" }
  • AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.readState" }
  • AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.tags" }
  • AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.tags:items" }

Additional Notes

  • Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.collections", kind: "prop", name: Some("collections") }
  • Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.rating", kind: "prop", name: Some("rating") }
  • Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.readState", kind: "prop", name: Some("readState") }
  • Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.tags", kind: "prop", name: Some("tags") }
  • Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body.collections", tgt: "dev.frogspace.stacks.item:body.collections:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body.tags", tgt: "dev.frogspace.stacks.item:body.tags:items", kind: "items", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "citation record. the annotation author comes from the verified repo context. no subject content or snapshots are stored.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "addedAt": {
10 10
            "description": "time the citation was first saved. preserve it when editing the note.",
11 11
            "format": "datetime",
12 12
            "type": "string"
13 13
          },
14 +
          "collections": {
15 +
            "description": "optional collections this citation belongs to, referenced by their record AT-URIs. at most 16.",
16 +
            "items": {
17 +
              "description": "full in-space AT-URI of a dev.frogspace.stacks.collection record in the owner's library space.",
18 +
              "format": "at-uri",
19 +
              "type": "string"
20 +
            },
21 +
            "maxLength": 16,
22 +
            "type": "array"
23 +
          },
14 24
          "note": {
15 25
            "description": "optional personal annotation, limited to 16384 graphemes and 65536 UTF-8 bytes. empty is allowed.",
16 26
            "maxGraphemes": 16384,
17 27
            "maxLength": 65536,
18 28
            "type": "string"
19 29
          },
30 +
          "rating": {
31 +
            "description": "optional personal rating of the subject on a 1-5 scale.",
32 +
            "maximum": 5,
33 +
            "minimum": 1,
34 +
            "type": "integer"
35 +
          },
36 +
          "readState": {
37 +
            "description": "optional reading state of the subject. vocabulary: unread, reading, read.",
38 +
            "knownValues": [
39 +
              "unread",
40 +
              "reading",
41 +
              "read"
42 +
            ],
43 +
            "type": "string"
44 +
          },
20 45
          "subject": {
21 46
            "description": "full public record AT-URI with a DID authority, collection and record key. clients enforce these additional constraints. any public collection is supported.",
22 47
            "format": "at-uri",
23 48
            "type": "string"
24 49
          },
25 50
          "subjectCid": {
26 51
            "description": "CID observed for the subject when saved. retain it when the public record changes.",
27 52
            "format": "cid",
28 53
            "type": "string"
54 +
          },
55 +
          "tags": {
56 +
            "description": "optional inline tag strings on the citation (ADR 0001). at most 32 tags, each at most 64 graphemes.",
57 +
            "items": {
58 +
              "description": "inline tag string. clients enforce uniqueness within the array.",
59 +
              "maxGraphemes": 64,
60 +
              "maxLength": 256,
61 +
              "type": "string"
62 +
            },
63 +
            "maxLength": 32,
64 +
            "type": "array"
29 65
          }
30 66
        },
31 67
        "required": [
32 68
          "subject",
33 69
          "subjectCid",
34 70
          "addedAt"
35 71
        ],
36 72
        "type": "object"
37 73
      },
38 74
      "type": "record"
39 75
    }
40 76
  },
41 77
  "id": "dev.frogspace.stacks.item",
42 78
  "lexicon": 1
43 79
}

Compare Other Versions

Lexicon Garden

@