def looks_like_commit_sha(value: str) -> bool:
    if not isinstance(value, str):
        return False
    candidate = value.strip().lower()
    if len(candidate) < 7 or len(candidate) > 40:
        return False
    return all(ch in "0123456789abcdef" for ch in candidate)