{
  "handle": "Solver",
  "mechanism": "The abstract {{trait}} exposing the five-surface Solver Contract — Manifest (what can you do?), Execute (perform the {{task}}), Consult (cost/quality/rationale), Verify (post-execution assurance), and Feedback (emits a typed {{performance_signal}} — structured evaluation, or a FrameError escalation). Manifest and Execute are mandatory; Consult/Verify/Feedback are optional but strongly recommended at hard seams. Accepts a typed Task and yields a typed {{solution}}. Solver is an interface, not a class: any {{agent}} can take on the role of a Solver for the duration of a Task. The \"[descriptor]Solver\" naming convention is the library's construction pattern — DiagnosticSolver, PlanningSolver, ReduceSolver, PUREOptimizationSolver, and so on are all minted by appending \"Solver\" to a domain descriptor, each specialising the contract. The same agent can wear many solver roles simultaneously or sequentially; lightweight roles (Manifest + Execute only) scale up to permanent instances as tasks compound. Recursion follows naturally: when a Solver decomposes its Task, it becomes the root of a sub-tree whose children are themselves Solvers — the mechanism that gives the UniversalSolverTree its fractal shape.",
  "gloss": "Abstract five-surface contract: Manifest, Execute, Consult, Verify, Feedback",
  "signature": [
    "Trait(Task)"
  ],
  "_meta": {
    "ring": 0,
    "tier": 0,
    "supersedes": [
      "sema:Solver#mh:SHA-256:1c9beeb5cffc0c686b5291439d830a2104225589f91a66bd0a83038f1a0a8982",
      "sema:Solver#mh:SHA-256:b7f9e18fec50d288ea829a21a59de02f65cf1ffe3eef07142389d659bd421d02",
      "sema:Solver#mh:SHA-256:04b58c815005971905e3d430112a06fb76b727882204a80fe58ace79b066a1d6",
      "sema:Solver#mh:SHA-256:a9ecf615e1964f937986b1972f498ad6d00137dd8b069ddeaf4106704845f054",
      "sema:Solver#mh:SHA-256:1f06eef94b1ee0c75628274a0f80d3348b6def7cdf42ae072ec203346c3d9241"
    ],
    "path": [
      "Mind",
      "Strategy"
    ]
  },
  "sema_id": "sema:Solver#mh:SHA-256:a4478611882cced1b069f8dc551d401c74b35cefe02ed67d37d1aa135e19825b",
  "sema_ref": "Solver#a447",
  "sema_stub": "a447",
  "invariants": [
    "Every surface it declares is callable; Manifest and Execute are mandatory.",
    "A declared surface reports its own unavailability rather than failing silently."
  ],
  "dependencies": {
    "accepts": {
      "task": "sema:Task#mh:SHA-256:a85010f508f85055170c396c8fa390125c1206888c565ac10651f3969a339f8d"
    },
    "references": {
      "agent": "sema:Agent#mh:SHA-256:e127459069739fffc96a71d54ef6e8c97ca53471d5349c16aa72a092a33756cd",
      "performance_signal": "sema:PerformanceSignal#mh:SHA-256:9dfb41dd2ac3f271ca5d4a3ab67219a5a18aa8dbd970cdb410e7c9c1ec85488c",
      "trait": "sema:Trait#mh:SHA-256:e415fe6619857f831d831228b5532ea64d4a6a222773c828098f30d36f450b20"
    },
    "yields": {
      "solution": "sema:Solution#mh:SHA-256:8d55004ffa8f61d6e7d12d588ae4baa9723296dd7fa501759b5e6b1b97e7c9ab"
    }
  },
  "sema_layer": "Mind",
  "sema_category": "Strategy",
  "used_by": {
    "references": {
      "Award": "sema:Award#mh:SHA-256:4c5d0b7992809eebff99b727da727b08f4659773607c2621d8181b5d816e4b23",
      "Bid": "sema:Bid#mh:SHA-256:647f5a901a75ad0c5535dd1a16a2e2eb1f4295d88e55b592f101ea393c9d23b1",
      "DiscoveryProtocol": "sema:DiscoveryProtocol#mh:SHA-256:5c8e74ee9833090e8bc5e91f373e165f885cd7b23f79bb55c6127d783ba9d96b",
      "PolymorphicSolver": "sema:PolymorphicSolver#mh:SHA-256:f7fe4635a7520f918c823f0047d6fed8e38fd820c1970ef4623cc8fd78d2b0bd",
      "SolverDecomposition": "sema:SolverDecomposition#mh:SHA-256:ff4b4921d148c7672540eb0ec6201e5eed9b7c06b6442c6525399a856f121bfa",
      "SolverManifest": "sema:SolverManifest#mh:SHA-256:4ba845fbfa60f1c3d40008e4944b1409f1734374c822f40042d0dbec2ef3c920",
      "Workflow": "sema:Workflow#mh:SHA-256:808de72d3285e4ac086b85bfe4ba028ad2904b4088f7a22b60259ff8d8ffe057"
    }
  }
}
