org.simocracy.history
Schema Diff
+17 -2
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 6 non-breaking changes.
Breaking Changes (3)
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.history:body.subjectCollection", sort: "maxLength", value: "500" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.history:body.subjectUri", sort: "maxLength", value: "5000" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.history:body.subjectName", sort: "maxGraphemes", value: "500" }
Non-Breaking Changes (6)
- AddedVertex AddedVertex { vertex_id: "org.simocracy.history:body.subjectCollection" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.history:body.subjectName" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.history:body.subjectUri" }
- AddedEdge AddedEdge { src: "org.simocracy.history:body", tgt: "org.simocracy.history:body.subjectCollection", kind: "prop", name: Some("subjectCollection") }
- AddedEdge AddedEdge { src: "org.simocracy.history:body", tgt: "org.simocracy.history:body.subjectName", kind: "prop", name: Some("subjectName") }
- AddedEdge AddedEdge { src: "org.simocracy.history:body", tgt: "org.simocracy.history:body.subjectUri", kind: "prop", name: Some("subjectUri") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "org.simocracy.history:body.subjectCollection" }AddedVertex { vertex_id: "org.simocracy.history:body.subjectName" }AddedVertex { vertex_id: "org.simocracy.history:body.subjectUri" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.history:body.subjectCollection", sort: "maxLength", value: "500" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.history:body.subjectUri", sort: "maxLength", value: "5000" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.history:body.subjectName", sort: "maxGraphemes", value: "500" }
Additional Notes
- Non-breaking: AddedEdge { src: "org.simocracy.history:body", tgt: "org.simocracy.history:body.subjectCollection", kind: "prop", name: Some("subjectCollection") }
- Non-breaking: AddedEdge { src: "org.simocracy.history:body", tgt: "org.simocracy.history:body.subjectName", kind: "prop", name: Some("subjectName") }
- Non-breaking: AddedEdge { src: "org.simocracy.history:body", tgt: "org.simocracy.history:body.subjectUri", kind: "prop", name: Some("subjectUri") }
1
1
{
2
2
"id": "org.simocracy.history",
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
"type",
11
11
"actorDid",
12
12
"simNames",
13
13
"createdAt"
14
14
],
15
15
"properties": {
16
16
"type": {
17
17
"type": "string",
18
-
"description": "Event type: \"chat\" or \"sprocess\""
18
+
"description": "Event type: \"chat\", \"sprocess\", \"delete\", or \"comment\" (sim-attribution sidecar for an org.impactindexer.review.comment record — see docs/SIM_AUTHORED_COMMENTS.md in pi-simocracy)"
19
19
},
20
20
"round": {
21
21
"type": "integer",
22
22
"description": "Ordering index within a multi-step event (e.g. sim index within an S-Process run)"
23
23
},
24
24
"content": {
25
25
"type": "string",
26
26
"description": "The actual content — sim response for chat, sim opinion for comment",
27
27
"maxGraphemes": 5000
28
28
},
29
29
"simUris": {
30
30
"type": "array",
31
31
"items": {
32
32
"type": "string"
33
33
},
34
34
"maxLength": 10,
35
35
"description": "AT-URIs of sims involved"
36
36
},
37
37
"actorDid": {
38
38
"type": "string",
39
39
"description": "DID of the user who triggered the event"
40
40
},
41
41
"simNames": {
42
42
"type": "array",
43
43
"items": {
44
44
"type": "string"
45
45
},
46
46
"maxLength": 10,
47
47
"description": "Names of sims involved"
48
48
},
49
49
"createdAt": {
50
50
"type": "string",
51
51
"format": "datetime"
52
52
},
53
53
"hearingId": {
54
54
"type": "string",
55
55
"maxLength": 32,
56
56
"description": "Opaque run ID grouping events from the same session (legacy name; also used by S-Process runs)"
57
57
},
58
+
"subjectUri": {
59
+
"type": "string",
60
+
"maxLength": 5000,
61
+
"description": "AT-URI of the record this history event is about (used for record deletion events)"
62
+
},
63
+
"subjectName": {
64
+
"type": "string",
65
+
"description": "Human-readable name/title of the record this history event is about",
66
+
"maxGraphemes": 500
67
+
},
58
68
"userMessage": {
59
69
"type": "string",
60
70
"description": "User's message that prompted the response (for chat events)",
61
71
"maxGraphemes": 2000
62
72
},
63
73
"proposalTitle": {
64
74
"type": "string",
65
75
"description": "Title of the proposal or floor the event relates to",
66
76
"maxGraphemes": 500
77
+
},
78
+
"subjectCollection": {
79
+
"type": "string",
80
+
"maxLength": 500,
81
+
"description": "Collection NSID of the record this history event is about"
67
82
}
68
83
}
69
84
},
70
-
"description": "Tracks user interactions — chat messages with sims and S-Process deliberation events."
85
+
"description": "Tracks user interactions — chat messages with sims, S-Process deliberation events, record lifecycle events, and sim-attribution sidecars for comments authored on behalf of a sim."
71
86
}
72
87
},
73
88
"$type": "com.atproto.lexicon.schema",
74
89
"lexicon": 1
75
90
}