social.dracome.contributor.defs
Schema Diff
+1 -0
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 0 non-breaking changes.
Breaking Changes (1)
- ConstraintAdded ConstraintAdded { vertex_id: "social.dracome.contributor.defs#contributorRole", sort: "maxLength", value: "64" }
Migration Guidance
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "social.dracome.contributor.defs#contributorRole", sort: "maxLength", value: "64" }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"contributorIdentifier": {
5
5
"description": "An external identifier for a contributor from a known authority (GND, VIAF, Wikidata, or Open Library).",
6
6
"properties": {
7
7
"scheme": {
8
8
"description": "The identifier scheme, lowercase like work.defs#catalogIdentifier: gnd (German National Library), viaf (Virtual International Authority File), wikidata (Wikidata entity ID), ol-author (Open Library author key).",
9
9
"knownValues": [
10
10
"gnd",
11
11
"viaf",
12
12
"wikidata",
13
13
"ol-author"
14
14
],
15
15
"maxLength": 64,
16
16
"type": "string"
17
17
},
18
18
"value": {
19
19
"description": "The bare identifier value, matching Dracome's internal storage convention (e.g., GND number without URI prefix, VIAF ID without URL, Wikidata entity without prefix, OL key like OL123A).",
20
20
"maxLength": 256,
21
21
"type": "string"
22
22
}
23
23
},
24
24
"required": [
25
25
"scheme",
26
26
"value"
27
27
],
28
28
"type": "object"
29
29
},
30
30
"contributorProfileRef": {
31
31
"description": "A dereferenceable reference to a contributor's profile record on their own PDS.",
32
32
"properties": {
33
33
"cid": {
34
34
"description": "Optional content hash of the referenced record at time of reference; informational only.",
35
35
"format": "cid",
36
36
"type": "string"
37
37
},
38
38
"uri": {
39
39
"description": "AT-URI of the referenced social.dracome.contributor.profile record.",
40
40
"format": "at-uri",
41
41
"type": "string"
42
42
}
43
43
},
44
44
"required": [
45
45
"uri"
46
46
],
47
47
"type": "object"
48
48
},
49
49
"contributorRole": {
50
50
"description": "The role a person played in creating a book. Currently only 'author' is known. Additional roles (translator, illustrator, narrator, editor, etc.) are expected to be added over time by appending to knownValues — adding a new role is an additive, backwards-compatible lexicon change, not a versioning event. Consumers MUST tolerate unknown values.",
51
51
"knownValues": [
52
52
"author"
53
53
],
54
+
"maxLength": 64,
54
55
"type": "string"
55
56
},
56
57
"creditedContributor": {
57
58
"description": "A person credited on a book with a specific role, carrying a resolvable profile reference. Used in submission records where a network-resolvable profile is assumed to exist.",
58
59
"properties": {
59
60
"contributor": {
60
61
"description": "Reference to the credited person's profile record.",
61
62
"ref": "#contributorProfileRef",
62
63
"type": "ref"
63
64
},
64
65
"role": {
65
66
"description": "The role this person held in creating this work.",
66
67
"ref": "#contributorRole",
67
68
"type": "ref"
68
69
}
69
70
},
70
71
"required": [
71
72
"contributor",
72
73
"role"
73
74
],
74
75
"type": "object"
75
76
}
76
77
},
77
78
"id": "social.dracome.contributor.defs",
78
79
"lexicon": 1
79
80
}