org.simocracy.skill
Schema Diff
+31 -40
Compatibility Analysis
Breaking Changes Detected
23 breaking changes, 13 non-breaking changes.
Breaking Changes (23)
- RemovedVertex RemovedVertex { vertex_id: "org.simocracy.skill:body.descriptionFacets" }
- RemovedVertex RemovedVertex { vertex_id: "org.simocracy.skill:body.descriptionFacets:items" }
- RemovedVertex RemovedVertex { vertex_id: "org.simocracy.skill:body.instructions" }
- RemovedVertex RemovedVertex { vertex_id: "org.simocracy.skill:body.instructionsFacets" }
- RemovedVertex RemovedVertex { vertex_id: "org.simocracy.skill:body.instructionsFacets:items" }
- RemovedVertex RemovedVertex { vertex_id: "org.simocracy.skill:body.sim" }
- RemovedVertex RemovedVertex { vertex_id: "org.simocracy.skill:body.triggers" }
- RemovedVertex RemovedVertex { vertex_id: "org.simocracy.skill:body.triggers:items" }
- RemovedEdge RemovedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.descriptionFacets", kind: "prop", name: Some("descriptionFacets") }
- RemovedEdge RemovedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.instructions", kind: "prop", name: Some("instructions") }
- RemovedEdge RemovedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.instructionsFacets", kind: "prop", name: Some("instructionsFacets") }
- RemovedEdge RemovedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.sim", kind: "prop", name: Some("sim") }
- RemovedEdge RemovedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.triggers", kind: "prop", name: Some("triggers") }
- RemovedEdge RemovedEdge { src: "org.simocracy.skill:body.descriptionFacets", tgt: "org.simocracy.skill:body.descriptionFacets:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "org.simocracy.skill:body.instructionsFacets", tgt: "org.simocracy.skill:body.instructionsFacets:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "org.simocracy.skill:body.triggers", tgt: "org.simocracy.skill:body.triggers:items", kind: "items", name: None }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.skillUrl", sort: "maxLength", value: "5000" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.category", sort: "maxLength", value: "1000" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.shortDescription", sort: "maxLength", value: "3000" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.shortDescription", sort: "maxGraphemes", value: "300" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.name", sort: "maxGraphemes", value: "300" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.skillMd", sort: "maxLength", value: "100000" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.skillMd", sort: "maxGraphemes", value: "10000" }
Non-Breaking Changes (13)
- AddedVertex AddedVertex { vertex_id: "org.simocracy.skill:body.category" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.skill:body.shortDescription" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.skill:body.skillMd" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.skill:body.skillUrl" }
- AddedEdge AddedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.category", kind: "prop", name: Some("category") }
- AddedEdge AddedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.shortDescription", kind: "prop", name: Some("shortDescription") }
- AddedEdge AddedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.skillMd", kind: "prop", name: Some("skillMd") }
- AddedEdge AddedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.skillUrl", kind: "prop", name: Some("skillUrl") }
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "org.simocracy.skill:body.description", sort: "maxLength", old_value: "3000", new_value: "30000" }
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "org.simocracy.skill:body.description", sort: "maxGraphemes", old_value: "300", new_value: "3000" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "org.simocracy.skill:body.instructions", sort: "maxGraphemes" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "org.simocracy.skill:body.instructions", sort: "maxLength" }
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "org.simocracy.skill:body.name", sort: "maxLength", old_value: "128", new_value: "3000" }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "org.simocracy.skill:body.descriptionFacets" }RemovedVertex { vertex_id: "org.simocracy.skill:body.descriptionFacets:items" }RemovedVertex { vertex_id: "org.simocracy.skill:body.instructions" }RemovedVertex { vertex_id: "org.simocracy.skill:body.instructionsFacets" }RemovedVertex { vertex_id: "org.simocracy.skill:body.instructionsFacets:items" }RemovedVertex { vertex_id: "org.simocracy.skill:body.sim" }RemovedVertex { vertex_id: "org.simocracy.skill:body.triggers" }RemovedVertex { vertex_id: "org.simocracy.skill:body.triggers:items" }
Added Elements
AddedVertex { vertex_id: "org.simocracy.skill:body.category" }AddedVertex { vertex_id: "org.simocracy.skill:body.shortDescription" }AddedVertex { vertex_id: "org.simocracy.skill:body.skillMd" }AddedVertex { vertex_id: "org.simocracy.skill:body.skillUrl" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.name", sort: "maxGraphemes", value: "300" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.skillMd", sort: "maxLength", value: "100000" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.skillMd", sort: "maxGraphemes", value: "10000" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.category", sort: "maxLength", value: "1000" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.skillUrl", sort: "maxLength", value: "5000" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.shortDescription", sort: "maxGraphemes", value: "300" }
- ConstraintAdded ConstraintAdded { vertex_id: "org.simocracy.skill:body.shortDescription", sort: "maxLength", value: "3000" }
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "org.simocracy.skill:body.description", sort: "maxLength", old_value: "3000", new_value: "30000" }
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "org.simocracy.skill:body.description", sort: "maxGraphemes", old_value: "300", new_value: "3000" }
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "org.simocracy.skill:body.name", sort: "maxLength", old_value: "128", new_value: "3000" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "org.simocracy.skill:body.instructions", sort: "maxLength" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "org.simocracy.skill:body.instructions", sort: "maxGraphemes" }
Additional Notes
- Breaking: RemovedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.descriptionFacets", kind: "prop", name: Some("descriptionFacets") }
- Breaking: RemovedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.instructions", kind: "prop", name: Some("instructions") }
- Breaking: RemovedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.instructionsFacets", kind: "prop", name: Some("instructionsFacets") }
- Breaking: RemovedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.sim", kind: "prop", name: Some("sim") }
- Breaking: RemovedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.triggers", kind: "prop", name: Some("triggers") }
- Breaking: RemovedEdge { src: "org.simocracy.skill:body.descriptionFacets", tgt: "org.simocracy.skill:body.descriptionFacets:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "org.simocracy.skill:body.instructionsFacets", tgt: "org.simocracy.skill:body.instructionsFacets:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "org.simocracy.skill:body.triggers", tgt: "org.simocracy.skill:body.triggers:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.category", kind: "prop", name: Some("category") }
- Non-breaking: AddedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.shortDescription", kind: "prop", name: Some("shortDescription") }
- Non-breaking: AddedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.skillMd", kind: "prop", name: Some("skillMd") }
- Non-breaking: AddedEdge { src: "org.simocracy.skill:body", tgt: "org.simocracy.skill:body.skillUrl", kind: "prop", name: Some("skillUrl") }
1
1
{
2
2
"id": "org.simocracy.skill",
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
-
"sim",
11
10
"name",
11
+
"shortDescription",
12
12
"createdAt"
13
13
],
14
14
"properties": {
15
-
"sim": {
16
-
"ref": "com.atproto.repo.strongRef",
17
-
"type": "ref",
18
-
"description": "Reference to the sim record this skill belongs to"
19
-
},
20
15
"name": {
21
16
"type": "string",
22
-
"maxLength": 128,
23
-
"description": "Name of the skill"
17
+
"maxLength": 3000,
18
+
"maxGraphemes": 300
24
19
},
25
-
"triggers": {
26
-
"type": "array",
27
-
"items": {
28
-
"type": "string"
29
-
},
30
-
"maxLength": 10,
31
-
"description": "Conditions or phrases that trigger this skill"
20
+
"skillMd": {
21
+
"type": "string",
22
+
"maxLength": 100000,
23
+
"description": "Full skill.md content that agents read to understand and execute this mechanism. Stored directly in the record.",
24
+
"maxGraphemes": 10000
32
25
},
33
-
"createdAt": {
26
+
"category": {
34
27
"type": "string",
35
-
"format": "datetime",
36
-
"description": "Timestamp when the skill was created"
28
+
"maxLength": 1000,
29
+
"description": "Mechanism category",
30
+
"knownValues": [
31
+
"allocation",
32
+
"evaluation",
33
+
"deliberation"
34
+
]
37
35
},
38
-
"description": {
36
+
"skillUrl": {
39
37
"type": "string",
40
-
"maxLength": 3000,
41
-
"description": "Short description of what this skill does. Rich text annotations may be provided via descriptionFacets.",
42
-
"maxGraphemes": 300
38
+
"maxLength": 5000,
39
+
"description": "URL to the skill.md that agents read to execute this mechanism"
40
+
},
41
+
"createdAt": {
42
+
"type": "string",
43
+
"format": "datetime"
43
44
},
44
-
"instructions": {
45
+
"description": {
45
46
"type": "string",
46
47
"maxLength": 30000,
47
-
"description": "Detailed step-by-step instructions for executing this skill. Rich text annotations may be provided via instructionsFacets.",
48
+
"description": "Full explanation of how the mechanism works",
48
49
"maxGraphemes": 3000
49
50
},
50
-
"descriptionFacets": {
51
-
"type": "array",
52
-
"items": {
53
-
"ref": "app.bsky.richtext.facet",
54
-
"type": "ref"
55
-
},
56
-
"description": "Rich text annotations for description."
57
-
},
58
-
"instructionsFacets": {
59
-
"type": "array",
60
-
"items": {
61
-
"ref": "app.bsky.richtext.facet",
62
-
"type": "ref"
63
-
},
64
-
"description": "Rich text annotations for instructions."
51
+
"shortDescription": {
52
+
"type": "string",
53
+
"maxLength": 3000,
54
+
"description": "Brief summary for cards",
55
+
"maxGraphemes": 300
65
56
}
66
57
}
67
58
},
68
-
"description": "A skill the sim possesses. A sim can have many skills."
59
+
"description": "A skill that sims can use in governance events — allocation mechanisms, evaluation methods, deliberation protocols."
69
60
}
70
61
},
71
62
"$type": "com.atproto.lexicon.schema",
72
63
"lexicon": 1
73
64
}