id.sifa.profile.project

sifa.id

Schema Diff

+9 -6

From

CID
bafyreig4aol7rad...
Indexed At
2026-03-27 23:46 UTC
View this version

To

CID
bafyreidg4x3vv5v...
Indexed At
2026-05-27 12:05 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@