{"files":{"main.py":"from core import run\nfrom policy import POLICY\n\n\ndef evaluate(payload):\n    return run(payload, POLICY)\n","core.py":"from helpers import clone, merge_fields, normalize_id\n\n\ndef run(payload, policy):\n    events = payload.get('events', []) if isinstance(payload, dict) else payload\n    selected = {}\n    for index, event in enumerate(events):\n        normalized = normalize_id(event['id'], policy)\n        if not normalized:\n            if policy['empty_id'] == 'error':\n                raise ValueError('Empty normalized id')\n            continue\n        version = event['version']\n        if version < policy['version_floor']:\n            continue\n        key = (normalized, version)\n        if key not in selected or policy['duplicate_policy'] == 'last':\n            selected[key] = (index, event)\n\n    ordered = sorted(selected.items(), key=lambda entry: (entry[0][1], entry[1][0]))\n    records = {}\n    tombstones = set()\n    first_processed = {}\n    audit = []\n    for processed_index, ((normalized, version), (_, event)) in enumerate(ordered):\n        first_processed.setdefault(normalized, processed_index)\n        applied = False\n        if event['deleted']:\n            existed = normalized in records\n            installs_tombstone = policy['tombstone_wins'] and normalized not in tombstones\n            if existed:\n                del records[normalized]\n            if policy['tombstone_wins']:\n                tombstones.add(normalized)\n            applied = existed or installs_tombstone\n        elif normalized not in tombstones:\n            fields = event['fields']\n            if policy['unknown_fields'] == 'drop':\n                fields = {key: value for key, value in fields.items() if key in ('name', 'tags', 'meta')}\n            records[normalized] = merge_fields(records.get(normalized, {}), fields, policy)\n            applied = True\n        if policy['audit_all'] or applied:\n            audit.append('{}:{}:{}'.format(normalized, version, 'applied' if applied else 'blocked'))\n\n    if policy['order'] == 'id':\n        ids = sorted(records)\n    else:\n        ids = sorted(records, key=lambda identifier: (first_processed[identifier], identifier))\n    return {'records': [{'id': identifier, 'fields': clone(records[identifier])} for identifier in ids], 'audit': audit}\n","policy.py":"POLICY = {\n    'audit_all': False,\n    'duplicate_policy': 'last',\n    'empty_id': 'error',\n    'fold_case': False,\n    'list_merge': 'unique',\n    'nested_merge': False,\n    'null_mode': 'delete',\n    'order': 'input',\n    'tombstone_wins': False,\n    'trim_ids': False,\n    'unknown_fields': 'drop',\n    'version_floor': 3,\n}\n","helpers.py":"from copy import deepcopy\n\n\ndef clone(value):\n    return deepcopy(value)\n\n\ndef normalize_id(identifier, policy):\n    if policy['trim_ids']:\n        identifier = identifier.strip()\n    if policy['fold_case']:\n        identifier = identifier.translate(str.maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'))\n    return identifier\n\n\ndef json_equal(left, right):\n    if isinstance(left, bool) or isinstance(right, bool):\n        return type(left) is type(right) and left == right\n    if left is None or right is None:\n        return left is None and right is None\n    if isinstance(left, dict) and isinstance(right, dict):\n        return left.keys() == right.keys() and all(json_equal(left[key], right[key]) for key in left)\n    if isinstance(left, list) and isinstance(right, list):\n        return len(left) == len(right) and all(json_equal(a, b) for a, b in zip(left, right))\n    if isinstance(left, (int, float)) and isinstance(right, (int, float)):\n        return left == right\n    return type(left) is type(right) and left == right\n\n\ndef merge_fields(old, new, policy):\n    result = clone(old)\n    for key, value in new.items():\n        if value is None:\n            if policy['null_mode'] == 'delete':\n                result.pop(key, None)\n            continue\n        previous = result.get(key)\n        if policy['nested_merge'] and isinstance(previous, dict) and isinstance(value, dict):\n            result[key] = merge_fields(previous, value, policy)\n        elif policy['list_merge'] == 'unique' and isinstance(previous, list) and isinstance(value, list):\n            result[key] = clone(previous) + [clone(item) for item in value if not any(json_equal(item, existing) for existing in previous)]\n        else:\n            result[key] = clone(value)\n    return result\n"}}