{"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 ascii_fold, json_equal\n\nALLOWED_FIELDS = (\"name\", \"tags\", \"meta\")\n\ndef _normalize_id(raw_id, policy):\n    value = raw_id if isinstance(raw_id, str) else str(raw_id)\n    if policy.get(\"trim_ids\"):\n        value = value.strip(\" \\t\\n\\r\\f\\v\")\n    if policy.get(\"fold_case\"):\n        value = ascii_fold(value)\n    return value\n\ndef _merge_fields(target, source, policy):\n    for key, value in source.items():\n        if value is None:\n            if policy.get(\"null_mode\") == \"delete\":\n                target.pop(key, None)\n            continue\n        existing = target.get(key)\n        if policy.get(\"nested_merge\") and isinstance(existing, dict) and isinstance(value, dict):\n            _merge_fields(existing, value, policy)\n        elif policy.get(\"list_merge\") == \"unique\" and isinstance(existing, list) and isinstance(value, list):\n            old_items = list(existing)\n            additions = []\n            for item in value:\n                if not any(json_equal(item, old_item) for old_item in old_items):\n                    additions.append(copy.deepcopy(item))\n            existing.extend(additions)\n        else:\n            target[key] = copy.deepcopy(value)\n\ndef run(payload, policy):\n    if isinstance(payload, dict):\n        events = payload.get(\"events\", [])\n    elif isinstance(payload, list):\n        events = payload\n    else:\n        events = []\n    if events is None:\n        events = []\n    version_floor = policy.get(\"version_floor\", 0)\n    deduplicated = {}\n    for original_index, event in enumerate(events):\n        if not isinstance(event, dict):\n            continue\n        normalized_id = _normalize_id(event.get(\"id\", \"\"), policy)\n        if normalized_id == \"\":\n            if policy.get(\"empty_id\") == \"error\":\n                raise ValueError(\"empty id\")\n            continue\n        version = event.get(\"version\", 0)\n        if version < version_floor:\n            continue\n        key = (normalized_id, version)\n        selected = (normalized_id, version, bool(event.get(\"deleted\", False)), event.get(\"fields\") or {}, original_index)\n        if key not in deduplicated:\n            deduplicated[key] = selected\n        elif policy.get(\"duplicate_policy\") == \"last\":\n            deduplicated[key] = selected\n    processed = sorted(deduplicated.values(), key=lambda item: (item[1], item[4]))\n    records = {}\n    tombstones = set()\n    first_processed = {}\n    audit = []\n    audit_all = bool(policy.get(\"audit_all\"))\n    tombstone_wins = bool(policy.get(\"tombstone_wins\"))\n    for processed_index, selected in enumerate(processed):\n        normalized_id, version, deleted, fields, original_index = selected\n        if normalized_id not in first_processed:\n            first_processed[normalized_id] = processed_index\n        applied = False\n        if deleted:\n            if normalized_id in records:\n                del records[normalized_id]\n                if tombstone_wins:\n                    tombstones.add(normalized_id)\n                applied = True\n            elif tombstone_wins and normalized_id not in tombstones:\n                tombstones.add(normalized_id)\n                applied = True\n            else:\n                applied = False\n        else:\n            if tombstone_wins and normalized_id in tombstones:\n                applied = False\n            else:\n                if normalized_id not in records:\n                    records[normalized_id] = {}\n                incoming = fields if isinstance(fields, dict) else {}\n                if policy.get(\"unknown_fields\") == \"drop\":\n                    incoming = {k: v for k, v in incoming.items() if k in ALLOWED_FIELDS}\n                _merge_fields(records[normalized_id], incoming, policy)\n                applied = True\n        if audit_all or applied:\n            status = \"applied\" if applied else \"blocked\"\n            audit.append(f\"{normalized_id}:{version}:{status}\")\n    record_items = list(records.items())\n    if policy.get(\"order\") == \"id\":\n        record_items.sort(key=lambda item: item[0])\n    else:\n        record_items.sort(key=lambda item: (first_processed.get(item[0], 0), item[0]))\n    return {\"records\": [{\"id\": record_id, \"fields\": copy.deepcopy(fields)} for record_id, fields in record_items], \"audit\": audit}\n", "policy.py": "POLICY = {\"duplicate_policy\": \"first\", \"fold_case\": True, \"tombstone_wins\": True, \"trim_ids\": True, \"list_merge\": \"replace\", \"nested_merge\": True, \"null_mode\": \"ignore\", \"version_floor\": 2, \"audit_all\": True, \"empty_id\": \"skip\", \"order\": \"id\", \"unknown_fields\": \"keep\"}\n", "helpers.py": "def ascii_fold(value):\n    result = []\n    for char in value:\n        code = ord(char)\n        if 65 <= code <= 90:\n            result.append(chr(code + 32))\n        else:\n            result.append(char)\n    return \"\".join(result)\n\ndef json_equal(left, right):\n    if isinstance(left, bool) or isinstance(right, bool):\n        return isinstance(left, bool) and isinstance(right, bool) and left == right\n    if isinstance(left, (int, float)) and isinstance(right, (int, float)):\n        return left == right\n    if isinstance(left, dict) and isinstance(right, dict):\n        if set(left.keys()) != set(right.keys()):\n            return False\n        return 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 type(left) is not type(right):\n        return False\n    return left == right\n"}}