from pathlib import Path
src=Path('/opt/struktur/reports/aa045-backup/20260828T210107Z/graphiti/main.py')
p=Path('/opt/struktur/graphiti/service/main.py')
s=src.read_text()
old='return {"results": [{"fact": r.fact, "score": r.score} for r in results]}'
new='return {"results": [{"fact": r.fact, **({"score": getattr(r, "score")} if hasattr(r, "score") else {"score": None})} for r in results]}'
assert s.count(old)==1
s=s.replace(old,new)
needle=" return JSONResponse(status_code=503, content={'error_type':'maintenance_mode','retryable':True,'request_id':request_id,'message':'Graphiti write path is in maintenance mode'})"
insert=" print(json.dumps({'event':'write_rejected_maintenance','utc':datetime.now(timezone.utc).isoformat(),'pid':os.getpid(),'request_id':request_id,'endpoint':'/episodes','maintenance_value':True,'write_requests_allowed':False,'lock_path':MAINTENANCE_LOCK}), flush=True)\n"
assert s.count(needle)==1
s=s.replace(needle,insert+needle)
p.write_text(s)
print('written',p)