social.colibri.beta.community.migrate

colibri.social

Schema Diff

+4 -4

From

CID
bafyreidckg464zo...
Indexed At
2026-08-23 12:32 UTC
View this version

To

CID
bafyreidenb6x2yf...
Indexed At
2026-08-23 17:25 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

3 breaking changes, 1 non-breaking change.

Breaking Changes (3)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.beta.community.migrate:input", src: "social.colibri.beta.community.migrate:input", tgt: "social.colibri.beta.community.migrate:input.community", kind: "prop", name: Some("community") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "social.colibri.beta.community.migrate:input", src: "social.colibri.beta.community.migrate:input", tgt: "social.colibri.beta.community.migrate:input.legacy", kind: "prop", name: Some("legacy") }
  • RemovedVertex RemovedVertex { vertex_id: "social.colibri.beta.community.migrate:input.legacy" }
Non-Breaking Changes (1)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.community.migrate:input.community" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "social.colibri.beta.community.migrate:input.legacy" }

Added Elements

  • AddedVertex { vertex_id: "social.colibri.beta.community.migrate:input.community" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.beta.community.migrate:input", src: "social.colibri.beta.community.migrate:input", tgt: "social.colibri.beta.community.migrate:input.community", kind: "prop", name: Some("community") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "social.colibri.beta.community.migrate:input", src: "social.colibri.beta.community.migrate:input", tgt: "social.colibri.beta.community.migrate:input.legacy", kind: "prop", name: Some("legacy") }
1 1
{
2 2
  "id": "social.colibri.beta.community.migrate",
3 3
  "defs": {
4 4
    "main": {
5 5
      "type": "procedure",
6 6
      "input": {
7 7
        "schema": {
8 8
          "type": "object",
9 9
          "required": [
10 -
            "legacy"
10 +
            "community"
11 11
          ],
12 12
          "properties": {
13 -
            "legacy": {
13 +
            "community": {
14 14
              "type": "string",
15 -
              "format": "at-uri",
16 -
              "description": "The legacy social.colibri.beta.community record to migrate."
15 +
              "format": "at-identifier",
16 +
              "description": "The legacy community to migrate, by handle or DID. Only a community that holds its own DID can be migrated, so the DID is the whole address: the record to read is always social.colibri.community at self in that repo."
17 17
            }
18 18
          }
19 19
        },
20 20
        "encoding": "application/json"
21 21
      },
22 22
      "errors": [
23 23
        {
24 24
          "name": "AuthRequired",
25 25
          "description": "The request is missing, malformed, or unverifiable service auth."
26 26
        },
27 27
        {
28 28
          "name": "Forbidden",
29 29
          "description": "The requesting user lacks permission to migrate this community."
30 30
        },
31 31
        {
32 32
          "name": "CommunityNotFound",
33 33
          "description": "No community exists at the legacy record's DID."
34 34
        },
35 35
        {
36 36
          "name": "AlreadyExists",
37 37
          "description": "This legacy community has already been migrated."
38 38
        },
39 39
        {
40 40
          "name": "CredentialsUnavailable",
41 41
          "description": "The AppView's stored credentials for this community are missing or unusable."
42 42
        },
43 43
        {
44 44
          "name": "UpstreamFailure",
45 45
          "description": "A PDS or third-party call the AppView depends on failed."
46 46
        }
47 47
      ],
48 48
      "output": {
49 49
        "schema": {
50 50
          "type": "object",
51 51
          "required": [
52 52
            "community"
53 53
          ],
54 54
          "properties": {
55 55
            "community": {
56 56
              "ref": "social.colibri.beta.community.defs#communityView",
57 57
              "type": "ref",
58 58
              "description": "The newly created, space-backed community."
59 59
            }
60 60
          }
61 61
        },
62 62
        "encoding": "application/json"
63 63
      },
64 64
      "description": "Migrates a repo-backed community onto spaces. Structure is recreated in new spaces and stamped with migratedFrom. Message history stays in the legacy public repos and is served alongside, because messages live in their authors' repos and only their authors can move them."
65 65
    }
66 66
  },
67 67
  "$type": "com.atproto.lexicon.schema",
68 68
  "lexicon": 1
69 69
}

Compare Other Versions

Lexicon Garden

@