id.sifa.profile.education

sifa.id

Schema Diff

+4 -0

From

CID
bafyreiez5b53edd...
Indexed At
2026-08-07 11:35 UTC
View this version

To

CID
bafyreice4m577pm...
Indexed At
2026-09-05 16:00 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "id.sifa.profile.education:body.isPrimary" }
  • AddedEdge AddedEdge { src: "id.sifa.profile.education:body", tgt: "id.sifa.profile.education:body.isPrimary", kind: "prop", name: Some("isPrimary") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "id.sifa.profile.education:body.isPrimary" }

Additional Notes

  • Non-breaking: AddedEdge { src: "id.sifa.profile.education:body", tgt: "id.sifa.profile.education:body.isPrimary", kind: "prop", name: Some("isPrimary") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "Record representing a single education credential.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "activities": {
10 10
            "description": "Activities, societies, and extracurriculars.",
11 11
            "maxGraphemes": 1000,
12 12
            "maxLength": 10000,
13 13
            "type": "string"
14 14
          },
15 15
          "createdAt": {
16 16
            "description": "Client-declared timestamp when this record was originally created.",
17 17
            "format": "datetime",
18 18
            "type": "string"
19 19
          },
20 20
          "degree": {
21 21
            "description": "Degree name (e.g., 'Bachelor of Science', 'Master of Arts').",
22 22
            "maxGraphemes": 256,
23 23
            "maxLength": 2560,
24 24
            "type": "string",
25 25
            "x-skos:closeMatch": [
26 26
              "schema:hasCredential",
27 27
              "bibo:degree"
28 28
            ]
29 29
          },
30 30
          "description": {
31 31
            "description": "Additional description or notes about the education.",
32 32
            "maxGraphemes": 5000,
33 33
            "maxLength": 50000,
34 34
            "type": "string"
35 35
          },
36 36
          "endedAt": {
37 37
            "description": "End date (graduation or expected graduation) in YYYY-MM or YYYY-MM-DD format. Omit if currently enrolled.",
38 38
            "type": "string"
39 39
          },
40 40
          "entityRef": {
41 41
            "description": "Portable, app-neutral identifier for the educational institution the user selected from a resolver dropdown: a Wikidata Q-ID URI (http://www.wikidata.org/entity/Q...), a ROR URI, or an LEI URI. Enables deterministic resolution to a canonical entity even before the institution claims an ATproto account. Absent for free-text entries.",
42 42
            "format": "uri",
43 43
            "type": "string"
44 44
          },
45 45
          "fieldOfStudy": {
46 46
            "description": "Field of study or major.",
47 47
            "maxGraphemes": 256,
48 48
            "maxLength": 2560,
49 49
            "type": "string",
50 50
            "x-skos:closeMatch": [
51 51
              "schema:educationalCredentialAwarded"
52 52
            ],
53 53
            "x-skos:note": "ISCED-F is the value anchor."
54 54
          },
55 55
          "grade": {
56 56
            "description": "Grade, GPA, or classification achieved.",
57 57
            "maxGraphemes": 50,
58 58
            "maxLength": 500,
59 59
            "type": "string"
60 60
          },
61 61
          "institution": {
62 62
            "description": "Name of the educational institution.",
63 63
            "maxGraphemes": 256,
64 64
            "maxLength": 2560,
65 65
            "minLength": 1,
66 66
            "type": "string",
67 67
            "x-skos:exactMatch": [
68 68
              "schema:alumniOf"
69 69
            ]
70 70
          },
71 71
          "institutionDid": {
72 72
            "description": "DID of the institution's ATproto account, if one exists.",
73 73
            "format": "did",
74 74
            "type": "string"
75 75
          },
76 +
          "isPrimary": {
77 +
            "description": "Whether this is the user's primary education entry, surfaced in profile Highlights. Any entry may be primary.",
78 +
            "type": "boolean"
79 +
          },
76 80
          "labels": {
77 81
            "description": "Self-label values for this education record.",
78 82
            "refs": [
79 83
              "com.atproto.label.defs#selfLabels"
80 84
            ],
81 85
            "type": "union"
82 86
          },
83 87
          "location": {
84 88
            "description": "Institution location. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer.",
85 89
            "ref": "community.lexicon.location.address",
86 90
            "type": "ref"
87 91
          },
88 92
          "startedAt": {
89 93
            "description": "Start date in YYYY-MM or YYYY-MM-DD format.",
90 94
            "type": "string"
91 95
          }
92 96
        },
93 97
        "required": [
94 98
          "institution",
95 99
          "createdAt"
96 100
        ],
97 101
        "type": "object"
98 102
      },
99 103
      "type": "record",
100 104
      "x-skos:closeMatch": [
101 105
        "schema:EducationalOccupationalCredential"
102 106
      ],
103 107
      "x-skos:note": "One record maps to two schema.org assertions: alumniOf for the institution and hasCredential for the degree."
104 108
    }
105 109
  },
106 110
  "description": "An education entry in the user's professional profile.",
107 111
  "id": "id.sifa.profile.education",
108 112
  "lexicon": 1
109 113
}

Compare Other Versions

Lexicon Garden

@