def METHOD_NAME(predicate: bytes):
    try:
        caveat = deserialize(predicate)
    except CaveatError as exc:
        errors.append(str(exc))
        return False
    result = caveat.verify(request, context, permission)
    assert isinstance(result, (Success, Failure))
    if isinstance(result, Failure):
        errors.append(result.reason)
        return False
    return True