{"files":{"main.py":"from core import run\nfrom policy import POLICY\ndef evaluate(payload):\n    return run(payload, POLICY)\n","policy.py":"POLICY = {\"audit_all\": True, \"duplicate_policy\": \"first\", \"empty_id\": \"skip\", \"fold_case\": True, \"list_merge\": \"replace\", \"nested_merge\": True, \"null_mode\": \"ignore\", \"order\": \"id\", \"tombstone_wins\": True, \"trim_ids\": True, \"unknown_fields\": \"keep\", \"version_floor\": 2}\n","helpers.py":"import copy\n\n\ndef fold_ascii(s):\n    return ''.join(chr(ord(c) + 32) if 'A' <= c <= 'Z' else c for c in s)\n\n\ndef merge_into(old, new, policy):\n    for k, v in new.items():\n        if v is None:\n            if policy['null_mode'] == 'delete':\n                old.pop(k, None)\n            continue\n        cur = old.get(k)\n        if isinstance(v, dict):\n            if policy['nested_merge']:\n                base = cur if isinstance(cur, dict) else {}\n                merge_into(base, v, policy)\n                old[k] = base\n            else:\n                old[k] = copy.deepcopy(v)\n        elif isinstance(v, list):\n            if policy['list_merge'] == 'unique' and isinstance(cur, list):\n                res = list(cur)\n                for item in v:\n                    if not any(item == o and type(item) == type(o) for o in cur):\n                        res.append(copy.deepcopy(item))\n                old[k] = res\n            else:\n                old[k] = copy.deepcopy(v)\n        else:\n            old[k] = copy.deepcopy(v)\n    return old\n","core.py":"import copy\nfrom helpers import fold_ascii, merge_into\n\n\ndef run(payload, policy):\n    if isinstance(payload, dict):\n        events = payload.get('events', [])\n    else:\n        events = payload\n    groups = {}\n    for i, e in enumerate(events):\n        nid = e['id']\n        if policy['trim_ids']:\n            nid = nid.strip()\n        if policy['fold_case']:\n            nid = fold_ascii(nid)\n        if nid == '':\n            if policy['empty_id'] == 'raise':\n                raise ValueError('empty id')\n            continue\n        if e['version'] < policy['version_floor']:\n            continue\n        key = (nid, e['version'])\n        if key not in groups:\n            groups[key] = [i, e]\n        elif policy['duplicate_policy'] == 'last':\n            groups[key][0] = i\n            groups[key][1] = e\n    items = [(k[1], v[0], k[0], v[1]) for k, v in groups.items()]\n    items.sort(key=lambda t: (t[0], t[1]))\n    records = {}\n    tomb = set()\n    first_idx = {}\n    audit = []\n    for pos, (ver, oi, nid, e) in enumerate(items):\n        if nid not in first_idx:\n            first_idx[nid] = pos\n        applied = False\n        if e.get('deleted'):\n            if nid in records:\n                del records[nid]\n                applied = True\n                if policy['tombstone_wins']:\n                    tomb.add(nid)\n            elif policy['tombstone_wins'] and nid not in tomb:\n                tomb.add(nid)\n                applied = True\n        else:\n            if not (policy['tombstone_wins'] and nid in tomb):\n                f = e.get('fields') or {}\n                if policy['unknown_fields'] == 'drop':\n                    f = {k: v for k, v in f.items() if k in ('name', 'tags', 'meta')}\n                rec = records.setdefault(nid, {})\n                merge_into(rec, f, policy)\n                applied = True\n        if applied or policy['audit_all']:\n            audit.append('%s:%d:%s' % (nid, ver, 'applied' if applied else 'blocked'))\n    ids = list(records)\n    if policy['order'] == 'id':\n        ids.sort()\n    else:\n        ids.sort(key=lambda x: (first_idx[x], x))\n    return {'records': [{'id': i, 'fields': copy.deepcopy(records[i])} for i in ids], 'audit': audit}\n"}}