#!/usr/bin/env python3
from pathlib import Path
import json,sys
P=Path(__file__).resolve().parents[1];t=(P/'script/script_leg_paresthesia.txt').read_text().casefold()
any_groups={
 'compression':['chèn ép','áp lực'],
 'nerve':['dây thần kinh ngoại biên','thần kinh ngoại biên'],
 'blood_supply':['mạch máu nuôi thần kinh','thiếu máu cục bộ'],
 'conduction':['dẫn truyền','tín hiệu thần kinh'],
 'neurapraxia':['neurapraxia','mất dẫn truyền tạm thời'],
 'myelin_node':['myelin','node of ranvier','nút ranvier'],
 'sensory_motor':['cảm giác','vận động'],
 'recovery':['hồi phục','phục hồi','tái tưới máu'],
 'peroneal':['thần kinh mác chung','common peroneal'],
 'not_always_sciatic':['không phải lúc nào','không nhất thiết'],
 'advice':['đổi tư thế','vận động nhẹ'],
 'heat_caution':['chườm nóng','cảm giác giảm'],
 'red_flags':['bàn chân rũ','foot drop'],
 'cauda_equina':['vùng yên ngựa','tiểu tiện','đại tiện']}
exact=['seddon','1943','sunderland','lundborg']
missing=[k for k,v in any_groups.items() if not any(x in t for x in v)]+[x for x in exact if x not in t]
out={'status':'PASS' if not missing else 'FAIL','missing':missing,'groups':len(any_groups)+len(exact)};(P/'logs/script_semantic_gate.json').write_text(json.dumps(out,ensure_ascii=False,indent=2)+'\n');print(json.dumps(out,ensure_ascii=False));sys.exit(bool(missing))
