from core.contracts import RequirementContract, DataContract


def check_compatibility(
    provider: DataContract,
    requirement: RequirementContract
):
    # Central compatibility entry point
    try:
        requirement.is_satisfied_by(provider)
        return True, "Compatible"
    except ValueError as e:
        return False, str(e)
