{
  "handle": "RuleSet",
  "mechanism": "A structured collection of {{constraint}}s and invariants that defines a validity boundary. It serves as the immutable input for validation logic, distinct from a mutable policy or social {{constitution}}.",
  "gloss": "Immutable collection of constraints",
  "_meta": {
    "ring": 0,
    "tier": 1,
    "supersedes": [
      "sema:RuleSet#mh:SHA-256:8d85afc9e1f879dc43aaf8c92bd280aa8f1c81ece7dd1bd6f36c6ab47ddc0ecf",
      "sema:RuleSet#mh:SHA-256:e91d3830512ca5aa5a8cf7f50ad7d186de4b82aeced94c8cb106258a8663e482",
      "sema:RuleSet#mh:SHA-256:29462fee548f58cad67908506e4d68676b5a73ab4a60ca36e0cd71cd01412563",
      "sema:RuleSet#mh:SHA-256:8395e6e9e6a221bbfe200335ad0dd145fc2bdaf7f1815704444ad05e08f9b363"
    ],
    "path": [
      "Infrastructure",
      "Data Structures"
    ],
    "related": [
      "Ruleflip#ba93"
    ]
  },
  "data_schema": {
    "type": "object",
    "required": [
      "constraints",
      "invariants"
    ],
    "properties": {
      "constraints": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "List of constraint hashes"
      },
      "invariants": {
        "type": "array",
        "description": "Invariants the set asserts, alongside its constraints. Named in the mechanism and previously absent."
      }
    }
  },
  "invariants": [
    "Immutable once bound: a change is a new RuleSet, not an edit to the one already committed to."
  ],
  "sema_id": "sema:RuleSet#mh:SHA-256:7ebf36ad0634307d189aa0545d3424f0d0783bf2a0df04dfafdecf64e0cc9146",
  "sema_ref": "RuleSet#7ebf",
  "sema_stub": "7ebf",
  "dependencies": {
    "references": {
      "constitution": "sema:Constitution#mh:SHA-256:3deb8d31b8ace640b29c0a4d547191eebbcdedb46548f6c09711860be3af4645",
      "constraint": "sema:Constraint#mh:SHA-256:70136d525260a10eedf156aad1fe6c50510eadb10a89d063c7a85575b15708fc"
    }
  },
  "sema_layer": "Infrastructure",
  "sema_category": "Data Structures",
  "used_by": {
    "accepts": {
      "InvariantFilter": "sema:InvariantFilter#mh:SHA-256:212b8b7a75ea69b22561e19191aa5cb630aaf75f4e4229e03db798338ab00a8e"
    },
    "references": {
      "OathBind": "sema:OathBind#mh:SHA-256:a573c2d71a61bdce661f5df9bcc53f862866d98448682d87f69a687e1a496f5d",
      "Ruleflip": "sema:Ruleflip#mh:SHA-256:ba935e998951b0be35fb5f203eb40eba5d5efc6bb863043f0ab7f84e943dd79a"
    }
  }
}
