{
  "$defs": {
    "Bypass": {
      "additionalProperties": false,
      "properties": {
        "condition": {
          "title": "Condition",
          "type": "string"
        },
        "source_node_id": {
          "title": "Source Node Id",
          "type": "string"
        },
        "source_step_id": {
          "title": "Source Step Id",
          "type": "string"
        },
        "target_node_id": {
          "title": "Target Node Id",
          "type": "string"
        }
      },
      "required": [
        "source_node_id",
        "target_node_id",
        "condition",
        "source_step_id"
      ],
      "title": "Bypass",
      "type": "object"
    },
    "DataNode": {
      "additionalProperties": false,
      "properties": {
        "axis_semantics": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Axis Semantics"
        },
        "contextual_role": {
          "title": "Contextual Role",
          "type": "string"
        },
        "evidence": {
          "items": {
            "$ref": "#/$defs/Evidence"
          },
          "title": "Evidence",
          "type": "array"
        },
        "information_content": {
          "title": "Information Content",
          "type": "string"
        },
        "node_id": {
          "title": "Node Id",
          "type": "string"
        },
        "origin": {
          "enum": [
            "source_annotation",
            "documented_intermediate",
            "implicit_parameter"
          ],
          "title": "Origin",
          "type": "string"
        },
        "representation_type": {
          "title": "Representation Type",
          "type": "string"
        },
        "symbolic_shape": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Symbolic Shape"
        },
        "uncertainty": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Uncertainty"
        }
      },
      "required": [
        "node_id",
        "representation_type",
        "symbolic_shape",
        "axis_semantics",
        "information_content",
        "contextual_role",
        "evidence",
        "uncertainty",
        "origin"
      ],
      "title": "DataNode",
      "type": "object"
    },
    "Evidence": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "enum": [
            "paper_text",
            "table",
            "caption",
            "equation_context",
            "vlm_description"
          ],
          "title": "Kind",
          "type": "string"
        },
        "quote": {
          "title": "Quote",
          "type": "string"
        },
        "section_id": {
          "title": "Section Id",
          "type": "string"
        }
      },
      "required": [
        "section_id",
        "quote",
        "kind"
      ],
      "title": "Evidence",
      "type": "object"
    },
    "Operand": {
      "additionalProperties": false,
      "properties": {
        "node_id": {
          "title": "Node Id",
          "type": "string"
        },
        "port_role": {
          "title": "Port Role",
          "type": "string"
        }
      },
      "required": [
        "node_id",
        "port_role"
      ],
      "title": "Operand",
      "type": "object"
    },
    "OperationCall": {
      "additionalProperties": false,
      "properties": {
        "call_id": {
          "title": "Call Id",
          "type": "string"
        },
        "component": {
          "title": "Component",
          "type": "string"
        },
        "condition": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Condition"
        },
        "evidence": {
          "items": {
            "$ref": "#/$defs/Evidence"
          },
          "title": "Evidence",
          "type": "array"
        },
        "inputs": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "title": "Inputs",
          "type": "object"
        },
        "operation_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Operation Id"
        },
        "outputs": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "title": "Outputs",
          "type": "object"
        },
        "parameters": {
          "additionalProperties": true,
          "title": "Parameters",
          "type": "object"
        },
        "source_step_id": {
          "title": "Source Step Id",
          "type": "string"
        },
        "status": {
          "enum": [
            "documented_operation",
            "unexpanded_source_boundary"
          ],
          "title": "Status",
          "type": "string"
        },
        "uncertainty": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Uncertainty"
        }
      },
      "required": [
        "call_id",
        "operation_id",
        "component",
        "inputs",
        "outputs",
        "parameters",
        "condition",
        "source_step_id",
        "evidence",
        "uncertainty",
        "status"
      ],
      "title": "OperationCall",
      "type": "object"
    },
    "Transformation": {
      "additionalProperties": false,
      "properties": {
        "component": {
          "title": "Component",
          "type": "string"
        },
        "evidence": {
          "items": {
            "$ref": "#/$defs/Evidence"
          },
          "title": "Evidence",
          "type": "array"
        },
        "inputs": {
          "items": {
            "$ref": "#/$defs/Operand"
          },
          "title": "Inputs",
          "type": "array"
        },
        "operation_type": {
          "title": "Operation Type",
          "type": "string"
        },
        "outputs": {
          "items": {
            "type": "string"
          },
          "title": "Outputs",
          "type": "array"
        },
        "step_id": {
          "title": "Step Id",
          "type": "string"
        },
        "uncertainty": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Uncertainty"
        }
      },
      "required": [
        "step_id",
        "component",
        "operation_type",
        "inputs",
        "outputs",
        "evidence",
        "uncertainty"
      ],
      "title": "Transformation",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "bypasses": {
      "items": {
        "$ref": "#/$defs/Bypass"
      },
      "title": "Bypasses",
      "type": "array"
    },
    "calls": {
      "items": {
        "$ref": "#/$defs/OperationCall"
      },
      "title": "Calls",
      "type": "array"
    },
    "contract_version": {
      "const": "operation-assembly-v1",
      "title": "Contract Version",
      "type": "string"
    },
    "evidence": {
      "items": {
        "$ref": "#/$defs/Evidence"
      },
      "title": "Evidence",
      "type": "array"
    },
    "library_release": {
      "title": "Library Release",
      "type": "string"
    },
    "library_sha256": {
      "title": "Library Sha256",
      "type": "string"
    },
    "lifecycle_phase": {
      "enum": [
        "pretraining",
        "training",
        "fine_tuning",
        "test_time_adaptation",
        "inference",
        "evaluation",
        "unspecified"
      ],
      "title": "Lifecycle Phase",
      "type": "string"
    },
    "model_role": {
      "enum": [
        "primary_model",
        "auxiliary_component",
        "baseline",
        "ablation",
        "unresolved"
      ],
      "title": "Model Role",
      "type": "string"
    },
    "model_variant": {
      "title": "Model Variant",
      "type": "string"
    },
    "nodes": {
      "items": {
        "$ref": "#/$defs/DataNode"
      },
      "title": "Nodes",
      "type": "array"
    },
    "open_questions": {
      "items": {
        "type": "string"
      },
      "title": "Open Questions",
      "type": "array"
    },
    "receipt_inputs": {
      "items": {
        "$ref": "#/$defs/Operand"
      },
      "title": "Receipt Inputs",
      "type": "array"
    },
    "recipient_component": {
      "title": "Recipient Component",
      "type": "string"
    },
    "record_id": {
      "title": "Record Id",
      "type": "string"
    },
    "source_steps": {
      "items": {
        "$ref": "#/$defs/Transformation"
      },
      "title": "Source Steps",
      "type": "array"
    },
    "task_configuration": {
      "title": "Task Configuration",
      "type": "string"
    },
    "trajectory_id": {
      "title": "Trajectory Id",
      "type": "string"
    }
  },
  "required": [
    "contract_version",
    "record_id",
    "trajectory_id",
    "library_release",
    "library_sha256",
    "model_variant",
    "task_configuration",
    "lifecycle_phase",
    "model_role",
    "recipient_component",
    "nodes",
    "calls",
    "bypasses",
    "source_steps",
    "receipt_inputs",
    "evidence",
    "open_questions"
  ],
  "title": "OperationAssembly",
  "type": "object"
}
