#!/usr/bin/env python3
from pathlib import Path
import json
p=Path(__file__).resolve().parents[1]; t=(p/'script/script_doms.txt').read_text().casefold()
groups={
 'doms_name':['doms','đau cơ khởi phát muộn'], 'delay':['12 đến 48 giờ','một đến ba ngày'],
 'eccentric':['lệch tâm','bị kéo dài','hạ tạ','xuống cầu thang'],
 'mechanical':['stress cơ học','lực cơ học','sợi cơ','mô liên kết'],
 'inflammation':['tín hiệu viêm cục bộ','tế bào miễn dịch'], 'nociceptor':['nociceptor','thụ thể cảm nhận đau'],
 'distribution':['lan tỏa','hai bên','căng, cứng'], 'lactate_correction':['acid lactic','lactate','không giải thích'],
 'not_growth_proof':['không phải thước đo','không nên xem DOMS là bằng chứng','đau nhiều không tự động chứng minh'],
 'injury_differential':['đau sắc','khu trú','pop','sưng','bầm','mất chức năng'],
 'relative_rest':['nghỉ tương đối','vận động nhẹ'], 'avoid_push':['tập xuyên qua cơn đau','kéo giãn mạnh'],
 'recovery':['giấc ngủ','protein','uống nước'], 'symptom_aids':['nhiệt, lạnh hoặc massage'],
 'medication_caution':['hỏi ý kiến clinician','đừng tự suy ra liều'], 'progression':['tăng dần','ngày hồi phục'],
 'rhabdo_red_flags':['tiêu cơ vân','nước tiểu màu nâu sẫm','lượng nước tiểu giảm','sưng nghiêm trọng','yếu rũ'],
 'urgent':['đánh giá y tế khẩn cấp','đau ngực hoặc khó thở'], 'payoff':['chịu tải tốt hơn','an toàn hơn']}
missing=[k for k,v in groups.items() if not any(x in t for x in v)]
forbidden=['acid lactic bị kẹt','doms = muscle growth','doms là bằng chứng chắc chắn cơ đang phát triển']
bad=[x for x in forbidden if x in t and not any(neg in t[max(0,t.find(x)-45):t.find(x)+len(x)+20] for neg in ['không phải vì','không phải do','không giải thích'])]
out={'status':'PASS' if not missing and not bad else 'FAIL','groups':len(groups),'missing':missing,'forbidden_hits':bad}
print(json.dumps(out,ensure_ascii=False))
raise SystemExit(0 if out['status']=='PASS' else 1)
