{
  "handle": "Consensus",
  "mechanism": "A distributed protocol allowing a set of agents to agree on a single data value or state transition. It orchestrates {{vote}} exchange and uses {{quorum}} to validate the result. It ensures safety and liveness in an adversarial network, accepting a {{proposal}} and yielding a {{value}}.",
  "gloss": "Distributed agreement process",
  "failure_modes": [
    "Split Brain: Network partition causes two subgroups to reach different {{value}}s.",
    "Liveness Failure: The system stalls and never reaches agreement on the {{proposal}}.",
    "Sybil Attack: One malicious actor creates multiple identities to sway the {{vote}}.",
    "Byzantine Failure: Agents lying or acting maliciously to prevent consensus."
  ],
  "invariants": [
    "Agreement: All correct agents who decide must decide the same {{value}}.",
    "Validity: If all agents propose V, then the {{value}} must be V.",
    "Termination: Eventually, every correct agent decides on a {{value}}."
  ],
  "preconditions": [
    "Group of agents is defined (Membership List)",
    "Communication channel is available",
    "{{proposal}} received"
  ],
  "postconditions": [
    "A single {{value}} is committed to the shared state",
    "All agents are notified of the {{value}}"
  ],
  "_meta": {
    "tier": 1,
    "ring": 0,
    "related": [
      "Sync"
    ],
    "caution": "Governance decisions susceptible to coordinated voting blocs.",
    "supersedes": [
      "sema:Consensus#mh:SHA-256:7216e0e528262020ff05fa26124a8db9fcb14613fde05ddd0b2eb393958c4211",
      "sema:Consensus#mh:SHA-256:b862129bd2b8e4a8aa030b4a62a57343385ee7e3863a0639a3563c9800da75f7",
      "sema:Consensus#mh:SHA-256:45f490890803e907aa12e85c4751fed8e7f7273f4530fa35f5bd1713a46e3630",
      "sema:Consensus#mh:SHA-256:ec3034a2309a89ac077741967abce0cc1301ec49028d96203c9b6403348f1540"
    ],
    "path": [
      "Society",
      "Coordination"
    ]
  },
  "sema_id": "sema:Consensus#mh:SHA-256:b9a51a8b58edf41b9990f962ee403dbc03c6dd380d6bf178cf5403666ec77d32",
  "sema_ref": "Consensus#b9a5",
  "sema_stub": "b9a5",
  "dependencies": {
    "accepts": {
      "proposal": "sema:Proposal#mh:SHA-256:5d0a98055eef6c963d4c9ec0403cac243720ce8927398032c19b4f5d8cc94506"
    },
    "composes_with": {
      "quorum": "sema:Quorum#mh:SHA-256:2a33f05d34bfb2667645680393ca37865d4a7d05d2056eddf4c9df0c13b21744",
      "vote": "sema:Vote#mh:SHA-256:84935dbc846bcd8fe2da01e9e04401f190769e87d0354e00c0986e43e414f300"
    },
    "yields": {
      "value": "sema:Value#mh:SHA-256:37fd75758d04cdd7f57a636ccb5394d463713d60c33b694e37ab71f4a5a896f8"
    }
  },
  "sema_layer": "Society",
  "sema_category": "Coordination",
  "used_by": {
    "references": {
      "AnchorDrop": "sema:AnchorDrop#mh:SHA-256:63a776fe9a90b5b17802569fcbe5e01c59773b0176ee42641c0af5b3b6a6c26c",
      "ConsensusFinder": "sema:ConsensusFinder#mh:SHA-256:cbb7008c04a31f627c94eaeb135e9a14f7e57085fe84ae9941e49d3204ff5190"
    }
  }
}
