{
  "handle": "SolverNode",
  "mechanism": "An active runtime container that wraps a static {{solver_manifest}} with dynamic state. It handles a specific {{problem_space}}, tracks {{budget}} expenditure, and maintains communication with its parent node. The node is the unit of Blame—when it fails, {{responsibility}} is attributed here for {{localized_learning}}. It holds the current partial {{solution}}, accumulated cost, and status.",
  "gloss": "Stateful container for a running solver instance",
  "invariants": [
    "Holds a status: Pending, Active, Solved or Failed.",
    "Carries `parent` and `children` links, either of which may be empty.",
    "Identified by `node_id`, so a failure here is distinguishable from one in a sibling sharing its manifest.",
    "Tracks `budget_spent` against `budget_allocated`, which every node declares."
  ],
  "_meta": {
    "tier": 1,
    "ring": 1,
    "supersedes": [
      "sema:SolverNode#mh:SHA-256:a834074d946b975927f4daa85da4ab4826235c49eecfa7fc5b72ce55e41774a2",
      "sema:SolverNode#mh:SHA-256:058ef1f29b21b42fc7c8bdc484fc9042ffe733da49f9e5724b840224e4f589bf",
      "sema:SolverNode#mh:SHA-256:45292efbd4e607174b8e0b82535d8bede20eb408a9d341b86742e1db2982ea1a",
      "sema:SolverNode#mh:SHA-256:fd50fc5063ba52d2670169e4a8388e475cdc69084de648606236716f9ccc13b4",
      "sema:SolverNode#mh:SHA-256:0d0e8e90495ae82daaea5339b20451ce6f9e736e4be3d1806762614a317e3e77",
      "sema:SolverNode#mh:SHA-256:eaa0ead0573a5bfa30c66cd440b29ddb041ff2d4be3c50ab847ae92fc375fc5c"
    ],
    "path": [
      "Society",
      "Protocols"
    ]
  },
  "data_schema": {
    "type": "object",
    "description": "Schema for SolverNode",
    "required": [
      "node_id",
      "manifest_id",
      "status",
      "budget_spent",
      "budget_allocated"
    ],
    "properties": {
      "manifest_id": {
        "type": "string",
        "description": "Reference to the SolverManifest defining capabilities"
      },
      "status": {
        "type": "string",
        "enum": [
          "Pending",
          "Active",
          "Solved",
          "Failed"
        ],
        "description": "Current execution state"
      },
      "budget_spent": {
        "type": "number",
        "description": "Resources consumed so far"
      },
      "budget_allocated": {
        "type": "number",
        "description": "Resources allocated by parent"
      },
      "node_id": {
        "type": "string",
        "description": "Identity of this node, distinct from its manifest."
      },
      "parent": {
        "type": "string",
        "description": "Node that allocated this node's budget. Absent at the root."
      },
      "children": {
        "type": "array",
        "description": "Nodes this node delegated to. Absent at a leaf."
      }
    }
  },
  "sema_ref": "SolverNode#f895",
  "sema_id": "sema:SolverNode#mh:SHA-256:f895214a9b07066f4043d55d3b260e8a788bda0150b9d8fda20eafa91b846116",
  "sema_stub": "f895",
  "dependencies": {
    "references": {
      "budget": "sema:Budget#mh:SHA-256:4e3e536c9ecec8c1b0af017cfd0a26ba00e9f96047de4a690bf9d3db7f3720ef",
      "localized_learning": "sema:LocalizedLearning#mh:SHA-256:a6dbe910a57206b1a10d3b60733dfe3b98fa85696e701674abe860ee0b730950",
      "problem_space": "sema:ProblemSpace#mh:SHA-256:b4ae92d26c5092dadcbba687e1e591960dfbf7689b04ef9cc5617f21b780ff28",
      "responsibility": "sema:Responsibility#mh:SHA-256:d8ccf6225585313bd3efd0198c588063cb62add74447c15fe5128c0ebfdc1d19",
      "solution": "sema:Solution#mh:SHA-256:8d55004ffa8f61d6e7d12d588ae4baa9723296dd7fa501759b5e6b1b97e7c9ab",
      "solver_manifest": "sema:SolverManifest#mh:SHA-256:4ba845fbfa60f1c3d40008e4944b1409f1734374c822f40042d0dbec2ef3c920"
    }
  },
  "sema_layer": "Society",
  "sema_category": "Protocols",
  "used_by": {
    "references": {
      "BeamSearch": "sema:BeamSearch#mh:SHA-256:345791c047f0e97dbef89d2d16e6cd67634768cebe523cef44e54a6eacec622b",
      "ContextFirst": "sema:ContextFirst#mh:SHA-256:f157ec66ccb7e55eabe7179aeefb0dc4b36bc45e3bbea3073e50d97dab86138b",
      "DeliberativeAlign": "sema:DeliberativeAlign#mh:SHA-256:dc9e3078f126856429b1372620bce9fecd733f71c1429fcd1c0332908355051e",
      "PolymorphicSolver": "sema:PolymorphicSolver#mh:SHA-256:f7fe4635a7520f918c823f0047d6fed8e38fd820c1970ef4623cc8fd78d2b0bd",
      "RecursionDive": "sema:RecursionDive#mh:SHA-256:a86f17bad949a7a5405f04b4bc43a3e6be28c5c31e8328ccf178fa292719d754",
      "RootSolver": "sema:RootSolver#mh:SHA-256:f7f5a39c4d93545b506ddc3eeb03660295425657486a5ab1f71811cb8e5816ca",
      "SolverTree": "sema:SolverTree#mh:SHA-256:e275a01a2ced22c7412f23780f4bfa84ca171e9184f29d65336c24baddcc4052",
      "UniversalSolverTree": "sema:UniversalSolverTree#mh:SHA-256:f9fba480ef013c98691c0ccb6cbbd58dab5183e60798c550ff0de093dbd30727",
      "WorkerMode": "sema:WorkerMode#mh:SHA-256:ba4708992ae8c4469b3c98e025829fafa8caf6430f1da66ed74b50a8e9255990"
    }
  }
}
