{
  "handle": "CommitmentDevice",
  "mechanism": "Anticipate that future self will face temptation or weakness. Remove future options by present action. Examples: delete the app, announce publicly, create penalty for deviation. Cost of breaking commitment must exceed temptation value. It constructs an {{oath_bind}} contract that penalizes future deviation from the chosen path.",
  "gloss": "Pre-commitment against hyperbolic discounting",
  "failure_modes": [
    "Over-commitment: Binding too early locks out legitimate pivots when new information arrives.",
    "Silent lapse: the penalty was sufficient at binding time and is no longer — temptation grew, the penalty's value decayed, or the enforcing party stopped enforcing. Nothing in the device detects this, so a lapsed commitment continues to read as binding."
  ],
  "invariants": [
    "The cost of deviation is stated in advance and enforceable by a party other than the committer.",
    "Irrevocability: {{agent}} cannot unilaterally remove the constraint."
  ],
  "preconditions": [
    "{{agent}} expects future preference reversal (hyperbolic discounting)"
  ],
  "postconditions": [
    "Future action set constrained"
  ],
  "_meta": {
    "tier": 1,
    "ring": 0,
    "caution": "Removes future options by design — can trap agent in suboptimal commitment.",
    "supersedes": [
      "sema:CommitmentDevice#mh:SHA-256:074b03c077f07b24dd1eb5427579069b4caaf6353759aa1c7affcdab79258ced",
      "sema:CommitmentDevice#mh:SHA-256:b706eb4f41562594083392b3100c37ba37fa19524ac0fb409b289be8e483774b",
      "sema:CommitmentDevice#mh:SHA-256:dbdbd8b26ed1104714cdfb072d548747682e428e086e9ea0b9c963b79f9877d4",
      "sema:CommitmentDevice#mh:SHA-256:20c61d9f8e5d3bf08dd0a6e31a240db9e9652fde2aca997e86d8062f1002e9b0"
    ],
    "path": [
      "Mind",
      "Strategy"
    ]
  },
  "sema_id": "sema:CommitmentDevice#mh:SHA-256:548b0a08b4956329e458f4e9bd150ea3d40c1867ca99e04b3e4f1bb31c9c6278",
  "sema_ref": "CommitmentDevice#548b",
  "sema_stub": "548b",
  "data_schema": {
    "type": "object",
    "required": [
      "commitment",
      "penalty"
    ],
    "properties": {
      "commitment": {
        "type": "string",
        "description": "The action being committed to"
      },
      "penalty": {
        "type": "object",
        "description": "Cost incurred if commitment broken"
      },
      "irrevocable": {
        "type": "boolean",
        "description": "Whether commitment can be undone"
      }
    }
  },
  "dependencies": {
    "references": {
      "agent": "sema:Agent#mh:SHA-256:e127459069739fffc96a71d54ef6e8c97ca53471d5349c16aa72a092a33756cd",
      "oath_bind": "sema:OathBind#mh:SHA-256:a573c2d71a61bdce661f5df9bcc53f862866d98448682d87f69a687e1a496f5d"
    }
  },
  "sema_layer": "Mind",
  "sema_category": "Strategy",
  "used_by": {
    "references": {
      "Bid": "sema:Bid#mh:SHA-256:647f5a901a75ad0c5535dd1a16a2e2eb1f4295d88e55b592f101ea393c9d23b1",
      "Contract": "sema:Contract#mh:SHA-256:98747322ee31ffa265a8dfd6609d726e0dcba9c513e5ec85742c6c04e4afaa26",
      "HeldRelease": "sema:HeldRelease#mh:SHA-256:ce65cfd49c0f96fa291163b563d1a0ad78e09059fdd4889f571cba8d101b721f"
    }
  }
}
