def serialize_result(
    message_key, serializable_result, start_time, duration_seconds, runtime_info=None
):
    """
    Wrap the computation result in the `werkit.Manager` result schema.

    Args:
        serializable_result (object): Any serializable result.
        start_time (datetime.datetime): The start time of the computation.
        duration_seconds (int): The computation time.
        runtime_info (object): Serializable runtime metadata.
    """
    return {
        "message_key": message_key,
        "success": True,
        "result": serializable_result,
        "error": None,
        "error_origin": None,
        "start_time": start_time.astimezone().isoformat(),
        "duration_seconds": duration_seconds,
        "runtime_info": runtime_info,
    }