"""Invented merge-policy exercise, executed 2026-10-22. No vendor API calls.
Run: python3 replay.py. Output must match results.json byte for byte.
Selection rules and expected results are authored for this fixture, not benchmarks.
"""
import json
from copy import deepcopy

RECORDS = [
    {'id': 'C101', 'modified': '2026-10-20',
     'fields': {'phone': '+1-202-555-0101', 'owner': 'old-team',
                'title': 'Analyst', 'account': 'AC01', 'source': 'event'},
     'activities': ['T01', 'T02'], 'deals': ['D01'],
     'external_ids': ['support:77']},
    {'id': 'C202', 'modified': '2026-10-21',
     'fields': {'phone': '+1-202-555-0199', 'owner': 'current-team',
                'title': 'Director', 'account': 'AC09', 'source': 'import'},
     'activities': ['T02', 'T03'], 'deals': ['D02'],
     'external_ids': ['billing:88']},
]
# These are explicit review decisions supported by the invented evidence below.
RULES = {
    'phone': {'record': 'C101', 'evidence': 'confirmed phone on 2026-10-20; C202 copied September data'},
    'owner': {'record': 'C202', 'evidence': 'assignment accepted on 2026-10-21'},
    'title': {'record': 'C202', 'evidence': 'role confirmed on 2026-10-19'},
    'account': {'record': 'C101', 'evidence': 'AC01 confirmed against customer account; AC09 is former employer'},
    'source': {'record': 'C101', 'evidence': 'original acquisition event; import is a later loading operation'},
}

def run():
    by_id = {r['id']: r for r in RECORDS}
    expected = {field: by_id[rule['record']]['fields'][field] for field, rule in RULES.items()}
    primary = deepcopy(RECORDS[0]['fields'])
    newest = deepcopy(max(RECORDS, key=lambda r: r['modified'])['fields'])
    selected = {field: by_id[rule['record']]['fields'][field] for field, rule in RULES.items()}
    modes = {}
    for label, result in [('primary_only', primary), ('newest_record', newest), ('field_review', selected)]:
        mismatches = [field for field in expected if result[field] != expected[field]]
        modes[label] = {'fields': result, 'mismatches': mismatches, 'mismatch_count': len(mismatches)}
    survivor = 'S001'  # Illustrative ID, not a vendor ID rule.
    mapping = {r['id']: survivor for r in RECORDS}
    external = {key: survivor for r in RECORDS for key in r['external_ids']}
    activities = sorted({item for r in RECORDS for item in r['activities']})
    deals = sorted({item for r in RECORDS for item in r['deals']})
    receipt = [{'field': field, 'source_record': rule['record'],
                'selected_value': selected[field], 'evidence': rule['evidence']} for field, rule in RULES.items()]
    assert [modes[k]['mismatch_count'] for k in modes] == [2, 3, 0]
    assert len(activities) == 3 and len(deals) == 2
    assert all(mapping[r['id']] == survivor for r in RECORDS)
    assert all(external[key] == survivor for r in RECORDS for key in r['external_ids'])
    return {'method': 'invented deterministic policy exercise; no product test',
            'executed_date': '2026-10-22', 'records': RECORDS, 'review_rules': RULES,
            'expected_fields': expected, 'modes': modes, 'field_receipt': receipt,
            'activity_references_before': sum(len(r['activities']) for r in RECORDS),
            'unique_activities_after': activities, 'distinct_deals_after': deals,
            'illustrative_survivor_id': survivor, 'crm_id_map': mapping,
            'external_id_map': external,
            'limitations': ['single preconfirmed pair', 'authored expected values',
                            'no vendor account or API', 'no identity matching',
                            'no concurrency, automation, subscription-state, or recovery test',
                            'union uses exact stable IDs; no semantic event matching']}

if __name__ == '__main__':
    print(json.dumps(run(), indent=2, sort_keys=True))
