{
  "handle": "Loop",
  "mechanism": "A control flow structure that repeats a sequence of {{work}} until a specific {{condition}} is met. Essential for feedback, learning, and persistent processes.",
  "gloss": "Repeated execution cycle",
  "invariants": [
    "Termination Guarantee: Must have a proven exit condition (or explicit Daemon mode).",
    "Progress: State must change between iterations to avoid infinite freeze."
  ],
  "_meta": {
    "tier": 1,
    "ring": 0,
    "supersedes": [
      "sema:Loop#mh:SHA-256:fb2e7eeab0b569d64f7e74defeec56aeccf5abdb6c5cd4a0ce80c397ebc5d593",
      "sema:Loop#mh:SHA-256:984a20b35090934ca5ea1f97f2026b6be48b3805ddc0802f32ba66fe6bfcaf87"
    ],
    "path": [
      "Infrastructure",
      "Primitives"
    ],
    "related": [
      "PracticeResponseReview#a24f",
      "Spiralback#f9b7"
    ]
  },
  "sema_id": "sema:Loop#mh:SHA-256:37f953c0b21b9b0c72a639c4e1a54354faa71f07905531d271f6bbf40c341603",
  "sema_ref": "Loop#37f9",
  "sema_stub": "37f9",
  "dependencies": {
    "accepts": {
      "condition": "sema:Condition#mh:SHA-256:b480f3c4da11ba6d86f6d14e0fb8521268f3c4bb38588460f7ff4253ad8d78d5"
    },
    "composes_with": {
      "work": "sema:Work#mh:SHA-256:f0c3ba2d663c900244d2ed814ed3682c56a867aa32bc3c4dfd1b19fe311aa2c6"
    }
  },
  "sema_layer": "Infrastructure",
  "sema_category": "Primitives",
  "used_by": {
    "references": {
      "Agent": "sema:Agent#mh:SHA-256:e127459069739fffc96a71d54ef6e8c97ca53471d5349c16aa72a092a33756cd",
      "Cyclic": "sema:Cyclic#mh:SHA-256:a8f6c907685f7a420ccdc584e4b9066b476aa82171a6d280eb1441fc2769b423",
      "DepthGovernor": "sema:DepthGovernor#mh:SHA-256:5b24d810ede53e7e6716e3e20e7c28cf578f171845af2358344c25f0c56b7b75",
      "EvaluatorOptimizer": "sema:EvaluatorOptimizer#mh:SHA-256:ae098f2db7c18e00fa1dea16a305133a0778bd157652d5ee42b65f3bf86eef83",
      "OODA": "sema:OODA#mh:SHA-256:18821021e1b71305acddf87bb6014d8095a62ca7a37e89de4048b0676d028c53",
      "PracticeResponseReview": "sema:PracticeResponseReview#mh:SHA-256:a24f1acbcd640887c5d3bef0d6a5d1893d417c4426e6a47bbc6d260ac45bee92",
      "ReAct": "sema:ReAct#mh:SHA-256:3361fd75537995da1d70c0f60b9b8bd01c44bad9e2596a81fa059b7c6c3fba83",
      "Resonate": "sema:Resonate#mh:SHA-256:786d8bf55b013d0405e49f2cab6a084e45fdc4507f7394fd6cff99354bc87aad",
      "RootHashGossip": "sema:RootHashGossip#mh:SHA-256:12ec6a98cbd6c22b940a361a0dc763ba039b200f2fb609e64c8f1c82248d7c6e",
      "SocraticLoop": "sema:SocraticLoop#mh:SHA-256:4f17ec8b7e28b3f223931274df090225572d754cd772fe4f738c922f16f93a18",
      "Spiralback": "sema:Spiralback#mh:SHA-256:f9b7d63ffeecdc7a9ba56ae26022bab1b40cffc08b7bb2be2e03b31423eb1e10",
      "SteelmanCheck": "sema:SteelmanCheck#mh:SHA-256:b004eb6d85a184da7f9bb7fc06d011bc869f6eb6ad1061f30cbbbcc4c2b8f6aa",
      "SunkCostIgnore": "sema:SunkCostIgnore#mh:SHA-256:c2e5392f7eee86aa652633c415404ce13a5f83f4e239ad02fd230c75b3c2313c"
    },
    "composes_with": {
      "Monitor": "sema:Monitor#mh:SHA-256:d31621c43589a14a237d53b3ff53c360b841cea6fe8fa8b7dc90724a686fcf8f",
      "RolloutWatch": "sema:RolloutWatch#mh:SHA-256:e8baa1d88901961450ea3e254e2da79075e8c8eb27d8e1d1de0a8f14f4f8ebfa"
    }
  }
}
