#!/usr/bin/env python3
from pathlib import Path
import json,sys
P=Path(__file__).resolve().parents[1];t=(P/'script/script_wound_itch.txt').read_text().casefold()
groups={
 'hemostasis':['cầm máu'], 'inflammation':['giai đoạn viêm'], 'proliferation':['giai đoạn tăng sinh'], 'remodeling':['tái cấu trúc'],
 'keratinocyte':['keratinocyte','tế bào sừng'], 'reepithe':['tái biểu mô hóa'], 'scab':['lớp vảy'], 'tension':['co kéo','lực căng'],
 'histamine':['histamine'], 'not_histamine_only':['không chỉ','không phải toàn bộ'], 'pruriceptor':['pruriceptor','thụ thể ngứa'],
 'c_fiber':['sợi c','sợi thần kinh cảm giác'], 'nerve_regrowth':['mọc lại','tái lập kết nối'], 'scar':['sẹo phì đại','sẹo lồi'],
 'contact_dermatitis':['viêm da tiếp xúc'], 'infection':['nhiễm trùng'], 'no_scratch':['tránh cào','tránh bóc vảy'],
 'safe_care':['làm sạch','thay băng'], 'red_flags':['mủ','sốt','vệt đỏ'], 'medical_assessment':['đánh giá y tế','đi khám'],
 'evidence':['gurtner','tổng quan lành thương']}
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))
