org.simocracy.skill

gainforest.earth

Schema Diff

+30 -39

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, 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
}

Compare Other Versions

Lexicon Garden

@