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