org.simocracy.skill

gainforest.earth

Schema Diff

+31 -40

From

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

To

CID
bafyreie7wdds7f7...
Indexed At
2026-04-07 23:25 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@