{
  "handle": "RootSolver",
  "mechanism": "The apex node of a solver {{tree}} — the unique entry point where a {{problem}} (attached to a {{task}}) enters that tree. Its cognitive operation is triage: determining what kind of problem this is and routing it via a dispatch function conditioned on its {{pathway_memory}}. The RootSolver holds four unique authorities: Problem Framing (initial constraints and {{problem_space}}), Budget Allocation (cascading {{budget}} to child {{solver_node}}s), Ultimate Accountability (owning the final {{result}} or {{solution}}), and Pathway Memory maintenance (compounding learning about which routes work for which problem types). Every tree has exactly one RootSolver; sub-trees carry their own. A {{frame_error}} arriving from any descendant is the signal that reframing is required rather than retry; the RootSolver is its terminal consumer, since it alone holds Reframe Authority.",
  "gloss": "Apex triage node of a SolverTree, with Pathway Memory as its compounding learning site",
  "failure_modes": [
    "Bad Frame: problem framed incorrectly, unsolvable by downstream nodes.",
    "Reframe Failure: Root fails to find a valid alternative frame after downstream failure.",
    "Budget Misallocation: resources distributed poorly across child nodes.",
    "Poisoned Pathway Memory silently biases routing decisions — mitigated by signed writes only."
  ],
  "invariants": [
    "Singleton per tree: every SolverTree has exactly one RootSolver.",
    "Owns the final success or failure of the root {{task}}.",
    "Sole reframe authority, and terminal consumer of any {{frame_error}} raised beneath it.",
    "{{pathway_memory}} writes name the node that wrote them."
  ],
  "_meta": {
    "tier": 1,
    "ring": 1,
    "supersedes": [
      "sema:SolverRoot#mh:SHA-256:d31bfa55e755ef10526cf18631128ba7fa9f77afbc6417a07bb5c0700f7a671f",
      "sema:SolverRoot#mh:SHA-256:8a84b7a912568866ea4b75faf00eb272cb9611b5c96648c073ddcf5a4d687ba1",
      "sema:RootSolver#mh:SHA-256:750d3992db274fa89e6bad275ad10c0fc6ea9969cc9e4ff9cd809c77f96a4d32",
      "sema:RootSolver#mh:SHA-256:6d0d34bacbf2d51f0c8152acde51d1bcc1c3f2e93127d4e03ea037a87183980b",
      "sema:RootSolver#mh:SHA-256:332edbdd0535c4895116d911fbdc4dfeb1ccefc3266d56f413b39f418f66f31b",
      "sema:RootSolver#mh:SHA-256:29d798d343e265e5a0e7de0f84917106067fdaf958476eb9128c5b271a711acb"
    ],
    "path": [
      "Mind",
      "Strategy"
    ],
    "related": [
      "MandatoryAbstraction",
      "GeneralProblemSolvingProtocol"
    ]
  },
  "data_schema": {
    "type": "object",
    "required": [
      "task_ref",
      "problem_frame"
    ],
    "properties": {
      "task_ref": {
        "type": "string",
        "description": "Reference to originating task"
      },
      "problem_frame": {
        "type": "object",
        "description": "Initial problem constraints and space"
      },
      "budget_allocation": {
        "type": "object",
        "description": "Resource distribution to children"
      },
      "pathway_memory_ref": {
        "type": "string",
        "description": "Reference to this Root's PathwayMemory"
      },
      "children": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Child solver node refs"
      }
    }
  },
  "sema_id": "sema:RootSolver#mh:SHA-256:f7f5a39c4d93545b506ddc3eeb03660295425657486a5ab1f71811cb8e5816ca",
  "sema_ref": "RootSolver#f7f5",
  "sema_stub": "f7f5",
  "dependencies": {
    "composes_with": {
      "pathway_memory": "sema:PathwayMemory#mh:SHA-256:ce2e6ce822404fae0e60a43fc2c6fbe2e4d51ab9aefee1e7a9e21da75893e722"
    },
    "references": {
      "budget": "sema:Budget#mh:SHA-256:4e3e536c9ecec8c1b0af017cfd0a26ba00e9f96047de4a690bf9d3db7f3720ef",
      "frame_error": "sema:FrameError#mh:SHA-256:1d0ac501f011a053fde50bef6bc2a781c2f916014f4b2b74de955f6d84db9c5d",
      "problem": "sema:Problem#mh:SHA-256:2580c43677ec78ee7ee428d200662c6096e4eab38c2c5a868154979074cc0f08",
      "problem_space": "sema:ProblemSpace#mh:SHA-256:b4ae92d26c5092dadcbba687e1e591960dfbf7689b04ef9cc5617f21b780ff28",
      "result": "sema:Result#mh:SHA-256:c02a8d6817c2f0e14d5a9360824240f135905e8be25fd659feb76d1f44e274c6",
      "solution": "sema:Solution#mh:SHA-256:8d55004ffa8f61d6e7d12d588ae4baa9723296dd7fa501759b5e6b1b97e7c9ab",
      "solver_node": "sema:SolverNode#mh:SHA-256:f895214a9b07066f4043d55d3b260e8a788bda0150b9d8fda20eafa91b846116",
      "task": "sema:Task#mh:SHA-256:a85010f508f85055170c396c8fa390125c1206888c565ac10651f3969a339f8d",
      "tree": "sema:Tree#mh:SHA-256:dd927c24f8165bd3ddc75b29cc96c1e43eb45bdaf084ba1e2bce2b0a71ab05ec"
    }
  },
  "sema_layer": "Mind",
  "sema_category": "Strategy",
  "used_by": {
    "references": {
      "GeneralProblemSolvingProtocol": "sema:GeneralProblemSolvingProtocol#mh:SHA-256:7ad457a8f3c6dd35e024c94c900ce5b0771fdd3adff7cedd660fbefef8ba87ac",
      "MandatoryAbstraction": "sema:MandatoryAbstraction#mh:SHA-256:ac445b08b6e335a966b8ac1e72d2481daaf3078c92295ebed1c66f864935ef04",
      "ProblemFramer": "sema:ProblemFramer#mh:SHA-256:ad6b7fc1f14f2e26dd0d230f81382a2c602c365ebe4b9ad5fd390fb0c2d4c4fc",
      "SolverTree": "sema:SolverTree#mh:SHA-256:e275a01a2ced22c7412f23780f4bfa84ca171e9184f29d65336c24baddcc4052"
    }
  }
}
