import difflib

file_orig = r"c:\Projects\FreeExile\server\world\level_progression_service.py"
file_prop = r"c:\Projects\FreeExile\.agents\teamwork\explorer_m2_progression_1_gen2\proposed_level_progression_service.py"
patch_out = r"c:\Projects\FreeExile\.agents\teamwork\explorer_m2_progression_1_gen2\patch_level_progression_service.patch"

with open(file_orig, "r", encoding="utf-8") as f:
    orig_lines = f.readlines()

with open(file_prop, "r", encoding="utf-8") as f:
    prop_lines = f.readlines()

diff = difflib.unified_diff(
    orig_lines, prop_lines,
    fromfile="a/server/world/level_progression_service.py",
    tofile="b/server/world/level_progression_service.py",
    lineterm="\n"
)

diff_text = "".join(diff)
with open(patch_out, "w", encoding="utf-8") as f:
    f.write(diff_text)

print(f"Patch created: {len(diff_text)} characters")
