id.sifa.profile.project
Schema Diff
+9 -6
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "id.sifa.profile.project:body.projectRef" }
- AddedEdge AddedEdge { src: "id.sifa.profile.project:body", tgt: "id.sifa.profile.project:body.projectRef", kind: "prop", name: Some("projectRef") }
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "id.sifa.profile.project:body.name", sort: "maxGraphemes", old_value: "100", new_value: "256" }
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "id.sifa.profile.project:body.name", sort: "maxLength", old_value: "1000", new_value: "2560" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "id.sifa.profile.project:body.projectRef" }
Constraint Changes
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "id.sifa.profile.project:body.name", sort: "maxLength", old_value: "1000", new_value: "2560" }
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "id.sifa.profile.project:body.name", sort: "maxGraphemes", old_value: "100", new_value: "256" }
Additional Notes
- Non-breaking: AddedEdge { src: "id.sifa.profile.project:body", tgt: "id.sifa.profile.project:body.projectRef", kind: "prop", name: Some("projectRef") }
1
1
{
2
2
"id": "id.sifa.profile.project",
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
"name",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"url": {
15
15
"type": "string",
16
16
"format": "uri",
17
17
"description": "URL of the project (website, repository, demo, etc.)."
18
18
},
19
19
"name": {
20
20
"type": "string",
21
-
"maxLength": 1000,
21
+
"maxLength": 2560,
22
22
"minLength": 1,
23
23
"description": "Project name.",
24
-
"maxGraphemes": 100
24
+
"maxGraphemes": 256
25
25
},
26
26
"labels": {
27
27
"refs": [
28
28
"com.atproto.label.defs#selfLabels"
29
29
],
30
30
"type": "union",
31
31
"description": "Self-label values for this project record."
32
32
},
33
33
"endedAt": {
34
34
"type": "string",
35
-
"format": "datetime",
36
-
"description": "Project end date. Omit if ongoing."
35
+
"description": "Project end date in YYYY-MM or YYYY-MM-DD format. Omit if ongoing."
37
36
},
38
37
"position": {
39
38
"ref": "com.atproto.repo.strongRef",
40
39
"type": "ref",
41
40
"description": "Reference to the associated id.sifa.profile.position record, if applicable."
42
41
},
43
42
"createdAt": {
44
43
"type": "string",
45
44
"format": "datetime",
46
45
"description": "Client-declared timestamp when this record was originally created."
47
46
},
48
47
"startedAt": {
49
48
"type": "string",
50
-
"format": "datetime",
51
-
"description": "Project start date."
49
+
"description": "Project start date in YYYY-MM or YYYY-MM-DD format."
50
+
},
51
+
"projectRef": {
52
+
"ref": "com.atproto.repo.strongRef",
53
+
"type": "ref",
54
+
"description": "Reference to the first-class id.sifa.project.self record, if this personal project entry corresponds to a collaborative project."
52
55
},
53
56
"description": {
54
57
"type": "string",
55
58
"maxLength": 50000,
56
59
"description": "Description of the project, the user's role, and outcomes.",
57
60
"maxGraphemes": 5000
58
61
}
59
62
}
60
63
},
61
64
"description": "Record representing a single project."
62
65
}
63
66
},
64
67
"$type": "com.atproto.lexicon.schema",
65
68
"lexicon": 1,
66
69
"description": "A project the user has worked on."
67
70
}