at.atjam.signup
Schema Diff
+6 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 3 non-breaking changes.
Non-Breaking Changes (3)
- AddedVertex AddedVertex { vertex_id: "at.atjam.signup:body.invitation" }
- AddedEdge AddedEdge { src: "at.atjam.signup:body", tgt: "at.atjam.signup:body.invitation", kind: "prop", name: Some("invitation") }
- AddedEdge AddedEdge { src: "at.atjam.signup:body.invitation", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "at.atjam.signup:body.invitation" }
Additional Notes
- Non-breaking: AddedEdge { src: "at.atjam.signup:body", tgt: "at.atjam.signup:body.invitation", kind: "prop", name: Some("invitation") }
- Non-breaking: AddedEdge { src: "at.atjam.signup:body.invitation", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Declares the record creator's intent to participate in the referenced round.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"createdAt": {
10
10
"format": "datetime",
11
11
"type": "string"
12
12
},
13
+
"invitation": {
14
+
"description": "Strong-ref to an at.atjam.invitation that authorizes this signup. Required by readers when round.joinMode is 'hosted' or 'network'; ignored when 'open'. The invitation's invitee DID MUST match this signup's creator DID — consumers validate this relationship.",
15
+
"ref": "com.atproto.repo.strongRef",
16
+
"type": "ref"
17
+
},
13
18
"note": {
14
19
"description": "Optional note from the participant (e.g. what they plan to do).",
15
20
"maxGraphemes": 300,
16
21
"maxLength": 3000,
17
22
"type": "string"
18
23
},
19
24
"round": {
20
25
"description": "Strong-ref to the at.atjam.round record.",
21
26
"ref": "com.atproto.repo.strongRef",
22
27
"type": "ref"
23
28
}
24
29
},
25
30
"required": [
26
31
"round",
27
32
"createdAt"
28
33
],
29
34
"type": "object"
30
35
},
31
36
"type": "record"
32
37
}
33
38
},
34
-
"description": "A declaration of intent to participate in a specific round. The participant's DID is implicit (the record creator).",
39
+
"description": "A declaration of intent to participate in a specific round. The participant's DID is implicit (the record creator). When the round's joinMode is 'hosted' or 'network', a signup is only valid for readers when it strong-refs an at.atjam.invitation written by a valid inviter.",
35
40
"id": "at.atjam.signup",
36
41
"lexicon": 1
37
42
}