{"files":{"main.py":"from core import run\nfrom policy import POLICY\ndef evaluate(payload):\n    return run(payload, POLICY)\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\ndef norm_id(raw, policy):\n    s = raw if isinstance(raw, str) else ('' if raw is None else str(raw))\n    if policy['trim_ids']:\n        s = s.strip()\n    if policy['fold_case']:\n        s = ''.join(chr(ord(c) + 32) if 'A' <= c <= 'Z' else c for c in s)\n    return s\n\n\ndef merge(old, new, policy):\n    res = dict(old)\n    for k, v in new.items():\n        if v is None:\n            if policy['null_mode'] == 'delete':\n                res.pop(k, None)\n            continue\n        cur = res.get(k)\n        if isinstance(v, dict) and policy['nested_merge']:\n            res[k] = merge(cur if isinstance(cur, dict) else {}, v, policy)\n        elif isinstance(v, list) and isinstance(cur, list) and policy['list_merge'] == 'unique':\n            add = [copy.deepcopy(x) for x in v if not any(x == y and type(x) == type(y) for y in cur)]\n            res[k] = copy.deepcopy(cur) + add\n        else:\n            res[k] = copy.deepcopy(v)\n    return res\n","core.py":"import copy\nfrom helpers import norm_id, merge\n\n\ndef run(payload, policy):\n    if isinstance(payload, dict):\n        events = payload.get('events', [])\n    else:\n        events = payload\n    events = copy.deepcopy(events)\n    floor = policy['version_floor']\n    groups = {}\n    order = []\n    for i, e in enumerate(events):\n        nid = norm_id(e.get('id'), policy)\n        if nid == '':\n            if policy['empty_id'] == 'raise':\n                raise ValueError('empty id')\n            continue\n        v = e.get('version')\n        if v < floor:\n            continue\n        key = (nid, v)\n        if key not in groups:\n            groups[key] = [i, i]\n            order.append(key)\n        else:\n            groups[key][1] = i\n    sel = []\n    for key in order:\n        first, last = groups[key]\n        idx = first if policy['duplicate_policy'] == 'first' else last\n        sel.append((key[1], idx, key[0]))\n    sel.sort(key=lambda t: (t[0], t[1]))\n    records = {}\n    tomb = set()\n    firstidx = {}\n    audit = []\n    for pos, (v, idx, nid) in enumerate(sel):\n        e = events[idx]\n        if nid not in firstidx:\n            firstidx[nid] = pos\n        applied = False\n        if e.get('deleted'):\n            if nid in tomb:\n                applied = False\n            elif nid in records:\n                del records[nid]\n                applied = True\n                if policy['tombstone_wins']:\n                    tomb.add(nid)\n            elif policy['tombstone_wins']:\n                tomb.add(nid)\n                applied = True\n        else:\n            if nid not in tomb:\n                old = records.get(nid, {})\n                f = e.get('fields')\n                records[nid] = merge(old, f if isinstance(f, dict) else {}, policy)\n                applied = True\n        if applied or policy['audit_all']:\n            audit.append('%s:%d:%s' % (nid, v, 'applied' if applied else 'blocked'))\n    if policy['order'] == 'id':\n        ids = sorted(records)\n    else:\n        ids = sorted(records, key=lambda n: (firstidx[n], n))\n    out = []\n    for n in ids:\n        f = records[n]\n        if policy['unknown_fields'] == 'drop':\n            f = {k: f[k] for k in f if k in ('name', 'tags', 'meta')}\n        out.append({'id': n, 'fields': f})\n    return {'records': out, 'audit': audit}\n"}}