org.hypercerts.context.evaluation

hypercerts.org

Schema Diff

+14 -6

From

CID
bafyreiddxl56hxp...
Indexed At
2026-03-19 20:27 UTC
View this version

To

CID
bafyreicyejzv7fm...
Indexed At
2026-07-26 20:13 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

6 breaking changes, 4 non-breaking changes.

Breaking Changes (6)
  • KindChanged KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.max", old_kind: "integer", new_kind: "string" }
  • KindChanged KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.min", old_kind: "integer", new_kind: "string" }
  • KindChanged KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.value", old_kind: "integer", new_kind: "string" }
  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.min", sort: "maxLength", value: "50" }
  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.value", sort: "maxLength", value: "50" }
  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.max", sort: "maxLength", value: "50" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "app.certified.signature.defs#list" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.context.evaluation:body.signatures" }
  • AddedEdge AddedEdge { src: "org.hypercerts.context.evaluation:body", tgt: "org.hypercerts.context.evaluation:body.signatures", kind: "prop", name: Some("signatures") }
  • AddedEdge AddedEdge { src: "org.hypercerts.context.evaluation:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.certified.signature.defs#list" }
  • AddedVertex { vertex_id: "org.hypercerts.context.evaluation:body.signatures" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.value", sort: "maxLength", value: "50" }
  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.min", sort: "maxLength", value: "50" }
  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.context.evaluation#score.max", sort: "maxLength", value: "50" }

Additional Notes

  • Breaking: KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.max", old_kind: "integer", new_kind: "string" }
  • Breaking: KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.min", old_kind: "integer", new_kind: "string" }
  • Breaking: KindChanged { vertex_id: "org.hypercerts.context.evaluation#score.value", old_kind: "integer", new_kind: "string" }
  • Non-breaking: AddedEdge { src: "org.hypercerts.context.evaluation:body", tgt: "org.hypercerts.context.evaluation:body.signatures", kind: "prop", name: Some("signatures") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.context.evaluation:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "An evaluation of a hypercert record (e.g. an activity and its impact).",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "content": {
10 10
            "description": "Evaluation data (URIs or blobs) containing detailed reports or methodology",
11 11
            "items": {
12 12
              "refs": [
13 13
                "org.hypercerts.defs#uri",
14 14
                "org.hypercerts.defs#smallBlob"
15 15
              ],
16 16
              "type": "union"
17 17
            },
18 18
            "maxLength": 100,
19 19
            "type": "array"
20 20
          },
21 21
          "createdAt": {
22 22
            "description": "Client-declared timestamp when this record was originally created",
23 23
            "format": "datetime",
24 24
            "type": "string"
25 25
          },
26 26
          "evaluators": {
27 27
            "description": "DIDs of the evaluators",
28 28
            "items": {
29 29
              "ref": "app.certified.defs#did",
30 30
              "type": "ref"
31 31
            },
32 32
            "maxLength": 1000,
33 33
            "type": "array"
34 34
          },
35 35
          "location": {
36 36
            "description": "An optional reference for georeferenced evaluations. The record referenced must conform with the lexicon app.certified.location.",
37 37
            "ref": "com.atproto.repo.strongRef",
38 38
            "type": "ref"
39 39
          },
40 40
          "measurements": {
41 41
            "description": "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement",
42 42
            "items": {
43 43
              "ref": "com.atproto.repo.strongRef",
44 44
              "type": "ref"
45 45
            },
46 46
            "maxLength": 100,
47 47
            "type": "array"
48 48
          },
49 49
          "score": {
50 50
            "description": "Optional overall score for this evaluation on a numeric scale.",
51 51
            "ref": "#score",
52 52
            "type": "ref"
53 53
          },
54 +
          "signatures": {
55 +
            "description": "Optional cryptographic signatures attesting to this record's content.",
56 +
            "ref": "app.certified.signature.defs#list",
57 +
            "type": "ref"
58 +
          },
54 59
          "subject": {
55 60
            "description": "A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.)",
56 61
            "ref": "com.atproto.repo.strongRef",
57 62
            "type": "ref"
58 63
          },
59 64
          "summary": {
60 65
            "description": "Brief evaluation summary",
61 66
            "maxGraphemes": 1000,
62 67
            "maxLength": 5000,
63 68
            "type": "string"
64 69
          }
65 70
        },
66 71
        "required": [
67 72
          "evaluators",
68 73
          "summary",
69 74
          "createdAt"
70 75
        ],
71 76
        "type": "object"
72 77
      },
73 78
      "type": "record"
74 79
    },
75 80
    "score": {
76 81
      "description": "Overall score for an evaluation on a numeric scale.",
77 82
      "properties": {
78 83
        "max": {
79 -
          "description": "Maximum value of the scale, e.g. 5 or 10.",
80 -
          "type": "integer"
84 +
          "description": "Maximum value of the scale as a numeric string (e.g. '5', '10').",
85 +
          "maxLength": 50,
86 +
          "type": "string"
81 87
        },
82 88
        "min": {
83 -
          "description": "Minimum value of the scale, e.g. 0 or 1.",
84 -
          "type": "integer"
89 +
          "description": "Minimum value of the scale as a numeric string (e.g. '0', '1').",
90 +
          "maxLength": 50,
91 +
          "type": "string"
85 92
        },
86 93
        "value": {
87 -
          "description": "Score within the inclusive range [min, max].",
88 -
          "type": "integer"
94 +
          "description": "Score within the inclusive range [min, max] as a numeric string (e.g. '3.7').",
95 +
          "maxLength": 50,
96 +
          "type": "string"
89 97
        }
90 98
      },
91 99
      "required": [
92 100
        "min",
93 101
        "max",
94 102
        "value"
95 103
      ],
96 104
      "type": "object"
97 105
    }
98 106
  },
99 107
  "id": "org.hypercerts.context.evaluation",
100 108
  "lexicon": 1
101 109
}

Compare Other Versions

Lexicon Garden

@