{"files": {"main.py": "from core import run\nfrom policy import POLICY\ndef evaluate(payload):\n    return run(payload, POLICY)\n", "core.py": "import copy\nfrom helpers import normalize_id, merge_fields\n\n_ALLOWED = ('name', 'tags', 'meta')\n\ndef run(payload, policy):\n    policy = policy or {}\n    if isinstance(payload, dict):\n        events = payload.get('events', [])\n    elif isinstance(payload, (list, tuple)):\n        events = list(payload)\n    else:\n        events = []\n    events = copy.deepcopy(events)\n    version_floor = policy.get('version_floor')\n    empty_id = policy.get('empty_id', 'skip')\n    duplicate_policy = policy.get('duplicate_policy', 'first')\n    tombstone_wins = policy.get('tombstone_wins', False)\n    audit_all = policy.get('audit_all', False)\n    unknown_fields = policy.get('unknown_fields', 'keep')\n    order = policy.get('order', 'id')\n    dedup = {}\n    for idx, event in enumerate(events):\n        if not isinstance(event, dict):\n            continue\n        nid = normalize_id(event.get('id', ''), policy)\n        if nid == '':\n            if empty_id == 'raise':\n                raise ValueError('empty id')\n            continue\n        version = event.get('version')\n        if version_floor is not None and version is not None and version < version_floor:\n            continue\n        key = (nid, version)\n        entry = (nid, version, event, idx)\n        if key not in dedup:\n            dedup[key] = entry\n        elif duplicate_policy == 'last':\n            dedup[key] = entry\n    selected = sorted(dedup.values(), key=lambda item: (item[1], item[3]))\n    records_map = {}\n    tombstones = set()\n    first_processed = {}\n    audit = []\n    for proc_idx, (nid, version, event, orig_idx) in enumerate(selected):\n        if nid not in first_processed:\n            first_processed[nid] = proc_idx\n        deleted = event.get('deleted', False)\n        applied = False\n        if deleted:\n            if nid in records_map:\n                del records_map[nid]\n                if tombstone_wins:\n                    tombstones.add(nid)\n                applied = True\n            elif tombstone_wins and nid not in tombstones:\n                tombstones.add(nid)\n                applied = True\n            else:\n                applied = False\n        else:\n            if tombstone_wins and nid in tombstones:\n                applied = False\n            else:\n                if nid not in records_map:\n                    records_map[nid] = {}\n                fields = event.get('fields', {})\n                if not isinstance(fields, dict):\n                    fields = {}\n                fields = copy.deepcopy(fields)\n                if unknown_fields == 'drop':\n                    fields = {k: v for k, v in fields.items() if k in _ALLOWED}\n                merge_fields(records_map[nid], fields, policy)\n                applied = True\n        status = 'applied' if applied else 'blocked'\n        if audit_all or applied:\n            audit.append(f\"{nid}:{version}:{status}\")\n    items = list(records_map.items())\n    if order == 'id':\n        items.sort(key=lambda kv: kv[0])\n    else:\n        items.sort(key=lambda kv: (first_processed.get(kv[0], 0), kv[0]))\n    records = [{'id': nid, 'fields': copy.deepcopy(fields)} for nid, fields in items]\n    return {'records': records, 'audit': audit}\n", "policy.py": "POLICY = {\n    \"duplicate_policy\": \"first\",\n    \"fold_case\": True,\n    \"tombstone_wins\": True,\n    \"trim_ids\": True,\n    \"list_merge\": \"replace\",\n    \"nested_merge\": True,\n    \"null_mode\": \"ignore\",\n    \"version_floor\": 2,\n    \"audit_all\": True,\n    \"empty_id\": \"skip\",\n    \"order\": \"id\",\n    \"unknown_fields\": \"keep\",\n}\n", "helpers.py": "import copy\n\n_FOLD_TABLE = {i: i + 32 for i in range(65, 91)}\n\ndef normalize_id(value, policy):\n    if not isinstance(value, str):\n        value = '' if value is None else str(value)\n    result = value\n    if (policy or {}).get('trim_ids'):\n        result = result.strip(' \\t\\n\\r\\f\\v')\n    if (policy or {}).get('fold_case'):\n        result = result.translate(_FOLD_TABLE)\n    return result\n\ndef json_equal(a, b):\n    if isinstance(a, bool) or isinstance(b, bool):\n        return isinstance(a, bool) and isinstance(b, bool) and a == b\n    if isinstance(a, (int, float)) and isinstance(b, (int, float)):\n        return a == b\n    if type(a) is not type(b):\n        return False\n    if isinstance(a, dict):\n        if set(a.keys()) != set(b.keys()):\n            return False\n        return all(json_equal(a[k], b[k]) for k in a)\n    if isinstance(a, list):\n        return len(a) == len(b) and all(json_equal(x, y) for x, y in zip(a, b))\n    return a == b\n\ndef merge_fields(target, source, policy):\n    policy = policy or {}\n    nested_merge = policy.get('nested_merge', False)\n    null_mode = policy.get('null_mode', 'ignore')\n    list_merge = policy.get('list_merge', 'replace')\n    for key, value in source.items():\n        if value is None:\n            if null_mode == 'delete':\n                target.pop(key, None)\n            continue\n        if nested_merge and key in target and isinstance(target[key], dict) and isinstance(value, dict):\n            merge_fields(target[key], value, policy)\n        elif list_merge == 'unique' and key in target and isinstance(target[key], list) and isinstance(value, list):\n            old = target[key]\n            merged = copy.deepcopy(old)\n            for item in value:\n                if not any(json_equal(item, existing) for existing in old):\n                    merged.append(copy.deepcopy(item))\n            target[key] = merged\n        else:\n            target[key] = copy.deepcopy(value)\n    return target\n"}}