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

Compare Other Versions

Lexicon Garden

@