{
  "handle": "Proposal",
  "data_schema": {
    "type": "object",
    "required": [
      "proposal_id",
      "action",
      "justification"
    ],
    "properties": {
      "proposal_id": {
        "type": "string",
        "description": "Unique identifier"
      },
      "action": {
        "type": "string",
        "description": "The proposed action or transition"
      },
      "justification": {
        "type": "string",
        "description": "Why this action should be taken"
      },
      "proposer_id": {
        "type": "string",
        "description": "Who submitted the proposal"
      }
    }
  },
  "mechanism": "A structured payload proposing a specific {{act}} or {{transition}}. It supplies an identifier, the requested change, and its rationale to a decision-making process; a {{message}} may carry the payload.",
  "gloss": "A suggested course of action",
  "invariants": [
    "`proposal_id` is unique within the consuming decision process.",
    "`action` identifies the requested act or transition and what it applies to.",
    "`justification` states at least one reason for the request."
  ],
  "_meta": {
    "ring": 1,
    "tier": 1,
    "supersedes": [
      "sema:Proposal#mh:SHA-256:48400f03d012e37914685f66064ccd4c3875efb0bb4dff24d88c8f1ca9aa247d",
      "sema:Proposal#mh:SHA-256:5e96c86b24df6ee2910c5d4c8cc75531e10e402d2867bb68ed5dc04606e538f4"
    ],
    "path": [
      "Infrastructure",
      "Data Structures"
    ],
    "related": [
      "Costeer#eeda"
    ]
  },
  "sema_id": "sema:Proposal#mh:SHA-256:5d0a98055eef6c963d4c9ec0403cac243720ce8927398032c19b4f5d8cc94506",
  "sema_ref": "Proposal#5d0a",
  "sema_stub": "5d0a",
  "dependencies": {
    "references": {
      "act": "sema:Act#mh:SHA-256:2dfedd75a396f2639ce949b9f5270766350b9c7404d404c11c57140fcf030455",
      "message": "sema:Message#mh:SHA-256:bf6d3d4643c881a8c245617c3603b13ffef26026304fc7e7c384a80cf25fd237",
      "transition": "sema:Transition#mh:SHA-256:9b62398c6edcd43ad2af8ec1df8186ece2b4f697772b3872227f4d9d8390e328"
    }
  },
  "sema_layer": "Infrastructure",
  "sema_category": "Data Structures",
  "used_by": {
    "accepts": {
      "Consensus": "sema:Consensus#mh:SHA-256:b9a51a8b58edf41b9990f962ee403dbc03c6dd380d6bf178cf5403666ec77d32"
    },
    "references": {
      "Costeer": "sema:Costeer#mh:SHA-256:eeda46af6559f397dbb387a7dcd6b0612bbea2c3d02cf3e6f8da7025955fc463"
    }
  }
}
