def METHOD_NAME(scope: str, dt: datetime):
    db = dt - timedelta(hours=24)
    cur_ts = dt.strftime(DATE_FORMAT)
    try:
        cur_path = fetch_release(scope, cur_ts)
    except RequestException as re:
        log.warn("Cannot fetch current file [%s]: %s" % (cur_ts, re))
        # Running this in a batch job early in the day becomes a race
        # condition against the ETL.
        sys.exit(0)
    cur_hashes = compute_hashes(cur_path)
    prev_ts = db.strftime(DATE_FORMAT)
    try:
        prev_path = fetch_release(scope, prev_ts)
    except RequestException as re:
        log.error("Cannot fetch previous file [%s]: %s" % (prev_ts, re))
        sys.exit(1)
    prev_hashes = compute_hashes(prev_path)
    entities = set(cur_hashes.keys())
    entities.update(prev_hashes.keys())
    ops: Dict[str, str] = {}
    for entity_id in entities:
        prev_hash = prev_hashes.get(entity_id)
        cur_hash = cur_hashes.get(entity_id)
        if prev_hash == cur_hash:
            continue
        if prev_hash is None:
            ops[entity_id] = OP_ADD
            continue
        if cur_hash is None:
            ops[entity_id] = OP_REMOVE
            continue
        ops[entity_id] = OP_MOD
    # compute merges. this is wonky -
    for ent in iter_file(cur_path):
        entity_id = ent["id"]
        for ref in ent.get("referents", []):
            if ops.get(ref) == OP_REMOVE:
                ops[ref] = OP_MERGED
                ops[entity_id] = OP_MOD
                # log.info("Merged %s -> %s" % (ref, ent['id']))
    counts = Counter(ops.values())
    log.info("Found %d changes: %r", len(ops), counts)
    out_path = DATA_PATH.joinpath(f"delta/{cur_ts}/{scope}.delta.json")
    out_path.parent.mkdir(exist_ok=True, parents=True)
    with open(out_path, "wb") as outfh:
        for ent in iter_file(prev_path):
            if ops.get(ent["id"]) == OP_REMOVE:
                write_entity(outfh, ent, OP_REMOVE)
        for ent in iter_file(cur_path):
            op = ops.get(ent["id"])
            if op is not None:
                write_entity(outfh, ent, op)
    log.info("Wrote: %s" % out_path.as_posix())