#!/usr/bin/env python3
from pathlib import Path
import json,sys
P=Path(__file__).resolve().parents[1];t=(P/'script/script_eyelid_myokymia.txt').read_text().casefold()
groups={
 'myokymia':['eyelid myokymia','rung giật cơ mí'],
 'orbicularis':['orbicularis oculi','cơ vòng mắt'],
 'motor_units':['đơn vị vận động'],
 'lower_lid':['mí dưới'],
 'fatigue':['mệt','thiếu ngủ'],
 'stress':['căng thẳng'],
 'caffeine':['caffeine'],
 'screen_dry_eye':['màn hình','khô mắt'],
 'uncertainty':['chưa có một nguyên nhân duy nhất','không đồng nghĩa'],
 'blepharospasm':['blepharospasm'],
 'hemifacial':['hemifacial spasm'],
 'facial_nerve':['dây thần kinh mặt'],
 'aao':['american academy of ophthalmology','aao'],
 'sleep_advice':['giấc ngủ','ngủ'],
 'screen_breaks':['nhìn ra xa','khoảng ngắt'],
 'no_rubbing':['đừng cố','dụi'],
 'medicine_review':['thuốc kê đơn','không tự ý'],
 'red_flags':['lan ra má','sụp mí','thay đổi thị lực'],
 'medical_assessment':['đánh giá y tế','đi khám']}
missing=[k for k,v in groups.items() if not any(x in t for x in v)]
out={'status':'PASS' if not missing else 'FAIL','missing':missing,'groups':len(groups)};(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))
