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