{
  "handle": "Solution",
  "mechanism": "A recursive {{work}} unit that contains an output {{artifact}}, provenance identifying its creator and creation time, and a reference to its originating {{task}}. Composite solutions also record a component {{tree}} of the sub-solutions used to generate them; omission of that tree denotes a leaf. It is the verifiable output container validated against the task's acceptance criteria.",
  "gloss": "The fractal unit of completed work",
  "failure_modes": [
    "Orphaned {{artifact}}: Solution does not reference a valid {{task}} ID.",
    "Broken Lineage: a composite Solution references a sub-solution whose verification fails ({{chain}} of custody broken).",
    "Schema Violation: {{artifact}} data does not match acceptance criteria type."
  ],
  "invariants": [
    "Immutability: Once finalized, {{artifact}} and Provenance cannot be modified.",
    "Provenance attributes the Solution to its Creator and the time of creation.",
    "Where the Creator is untrusted, attribution is cryptographically signed."
  ],
  "preconditions": [
    "{{artifact}} generated",
    "{{task}} ID is valid"
  ],
  "postconditions": [
    "Solution sealed and ready for transport"
  ],
  "_meta": {
    "tier": 1,
    "ring": 0,
    "supersedes": [
      "sema:Solution#mh:SHA-256:7186aebe86145a01476542042ab77b7eda5c54033e6dccf62a97e8fa6b94e806",
      "sema:Solution#mh:SHA-256:48442c3e14ce25ef325cbff085d095ecf4c7735b006f162eb76e23d4315f8fa2",
      "sema:Solution#mh:SHA-256:6bd046a617cb877ba6d0cd898bd1a87287d902621693230a291d80db16314fae"
    ],
    "path": [
      "Infrastructure",
      "Data Structures"
    ]
  },
  "data_schema": {
    "type": "object",
    "required": [
      "artifact",
      "provenance",
      "task_ref"
    ],
    "properties": {
      "artifact": {
        "description": "The output produced by this solution"
      },
      "provenance": {
        "type": "object",
        "required": [
          "creator_id",
          "timestamp"
        ],
        "properties": {
          "creator_id": {
            "type": "string"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "signature": {
            "type": "string"
          }
        }
      },
      "task_ref": {
        "type": "string",
        "description": "Reference to the originating task"
      },
      "component_tree": {
        "type": "array",
        "minItems": 1,
        "items": {
          "type": "string"
        },
        "description": "Sub-solutions used by a composite solution; omit for a leaf"
      },
      "confidence": {
        "type": "number",
        "minimum": 0,
        "maximum": 1
      },
      "cost_incurred": {
        "type": "number",
        "description": "Total compute cost in tokens"
      }
    }
  },
  "sema_id": "sema:Solution#mh:SHA-256:8d55004ffa8f61d6e7d12d588ae4baa9723296dd7fa501759b5e6b1b97e7c9ab",
  "sema_ref": "Solution#8d55",
  "sema_stub": "8d55",
  "dependencies": {
    "accepts": {
      "task": "sema:Task#mh:SHA-256:a85010f508f85055170c396c8fa390125c1206888c565ac10651f3969a339f8d"
    },
    "references": {
      "artifact": "sema:Artifact#mh:SHA-256:b533ad2674ec00c5e9a5f1e3920f1097e2bc1eea7263f89e8f46563fa319a0ee",
      "chain": "sema:Chain#mh:SHA-256:3ba084dba5cf36bbdd43d03306c187ca75a2e3f448b555e257c26aab9b71c4fb",
      "tree": "sema:Tree#mh:SHA-256:dd927c24f8165bd3ddc75b29cc96c1e43eb45bdaf084ba1e2bce2b0a71ab05ec",
      "work": "sema:Work#mh:SHA-256:f0c3ba2d663c900244d2ed814ed3682c56a867aa32bc3c4dfd1b19fe311aa2c6"
    }
  },
  "sema_layer": "Infrastructure",
  "sema_category": "Data Structures",
  "used_by": {
    "references": {
      "AgentProtocol": "sema:AgentProtocol#mh:SHA-256:86a3f129036a28bab76d60f15ac835dfe779536cf02fe916f7b21cb1369ebf6d",
      "AnalogyBridge": "sema:AnalogyBridge#mh:SHA-256:cf62f5ead4f1aaa93a26feb06a9546035a93d1103cca1fccb1d4de5f08babc4a",
      "Decompose": "sema:Decompose#mh:SHA-256:69942e7e0dcdc7781144da58c8f09b2e8a17c247be435dadf3325cb0d0bbb22b",
      "FeedbackSignal": "sema:FeedbackSignal#mh:SHA-256:69647a84ed114fda3cc3c10c14161dac2adee6010792b293d20b9c36ec1c6a18",
      "LateralOptimization": "sema:LateralOptimization#mh:SHA-256:168e22fe88101fc8256a1eb40041bda926ae521ccb74f94794aa597cfac32aa4",
      "LeastToMost": "sema:LeastToMost#mh:SHA-256:942de8e9b154190e8a85a88d74c46350b5b9c936d4d463d33e697297f02ba0e3",
      "ProblemSpace": "sema:ProblemSpace#mh:SHA-256:b4ae92d26c5092dadcbba687e1e591960dfbf7689b04ef9cc5617f21b780ff28",
      "Result": "sema:Result#mh:SHA-256:c02a8d6817c2f0e14d5a9360824240f135905e8be25fd659feb76d1f44e274c6",
      "RolloutWatch": "sema:RolloutWatch#mh:SHA-256:e8baa1d88901961450ea3e254e2da79075e8c8eb27d8e1d1de0a8f14f4f8ebfa",
      "RootSolver": "sema:RootSolver#mh:SHA-256:f7f5a39c4d93545b506ddc3eeb03660295425657486a5ab1f71811cb8e5816ca",
      "SemanticTabu": "sema:SemanticTabu#mh:SHA-256:7a2276861f801d88543e81863a33e894b0c7dd4594644a3b91ad737b4eea8728",
      "SolverNode": "sema:SolverNode#mh:SHA-256:f895214a9b07066f4043d55d3b260e8a788bda0150b9d8fda20eafa91b846116",
      "UniversalSolverTree": "sema:UniversalSolverTree#mh:SHA-256:f9fba480ef013c98691c0ccb6cbbd58dab5183e60798c550ff0de093dbd30727",
      "WhyClimb": "sema:WhyClimb#mh:SHA-256:ed20580f4eecde83bd4822747358418d4b4265c40e468f80b870cd63d3817c93",
      "WorkerMode": "sema:WorkerMode#mh:SHA-256:ba4708992ae8c4469b3c98e025829fafa8caf6430f1da66ed74b50a8e9255990"
    },
    "yields": {
      "Elect": "sema:Elect#mh:SHA-256:53902a96572579889fc19d4c0100e7876fe566fba4cc846241e6b209b00bf52f",
      "Experiment": "sema:Experiment#mh:SHA-256:421e41c03e27f10e09c08b1f884bbcb9addf0f232be0a5bf1097950b40f15748",
      "MechanisticDesignProposal": "sema:MechanisticDesignProposal#mh:SHA-256:930aebe1a8b00fcfcf7c585e7c49b53f84c39988069e6d8c1721d568afe1a292",
      "PolymorphicSolver": "sema:PolymorphicSolver#mh:SHA-256:f7fe4635a7520f918c823f0047d6fed8e38fd820c1970ef4623cc8fd78d2b0bd",
      "Solver": "sema:Solver#mh:SHA-256:a4478611882cced1b069f8dc551d401c74b35cefe02ed67d37d1aa135e19825b"
    },
    "accepts": {
      "Invert": "sema:Invert#mh:SHA-256:b4be11e1b303c002e83da7be8a0c122e4a894008fd72e71e982b00e9242d73a1",
      "Optimize": "sema:Optimize#mh:SHA-256:38771f5e8f583966cfb8af8ff0d2e6737c8d0bf87329ddc49d8049450e852674",
      "OutputGuard": "sema:OutputGuard#mh:SHA-256:3618ee4d6aa243c10c16af73e4a385a6fa0c60ee193edb0a67d23e2c8d57f93e",
      "PUREOptimization": "sema:PUREOptimization#mh:SHA-256:205b2c752f68fe87dde75b65cb848bdad8527dc5713180460e6441eac3b86be6"
    }
  }
}
