#!/usr/bin/env python3
from pathlib import Path
import json,sys
P=Path(__file__).resolve().parents[1];t=(P/'script/script_urine_concentration.txt').read_text().casefold()
g={
'urochrome':['urochrome'],'urobilin':['urobilin'],'heme':['heme'],'hemoglobin':['hemoglobin'],'bilirubin':['bilirubin'],'yellow_baseline':['sắc vàng nền'],'urine_not_only_dehydration':['không phải tự nhiên có màu vàng chỉ vì cơ thể thiếu nước'],'water_urine':['đi tiểu'],'water_skin':['qua da'],'water_sweat':['mồ hôi'],'water_breath':['hơi thở'],'heat':['thời tiết nóng'],'exercise':['vận động'],'fever':['sốt'],'vomiting':['nôn'],'diarrhea':['tiêu chảy'],'solute_rises':['nồng độ các chất hòa tan'],'osmoreceptor':['osmoreceptor'],'hypothalamus':['vùng dưới đồi'],'thirst':['cảm giác khát'],'vasopressin':['vasopressin'],'adh':['adh'],'posterior_pituitary':['tuyến yên sau'],'kidney':['thận'],'nephron':['nephron'],'collecting_duct':['ống góp'],'water_channels':['kênh vận chuyển nước'],'reabsorption':['tái hấp thu'],'lower_volume':['thể tích nước tiểu thường giảm'],'concentration':['tập trung hơn'],'darker':['vàng đậm hơn'],'dilution':['pha loãng'],'clear_not_goal':['hoàn toàn trong suốt không phải lúc nào cũng là mục tiêu'],'morning':['buổi sáng thường đậm hơn'],'clue_not_meter':['không phải “đồng hồ đo thiếu nước”'],'not_diagnosis':['không phải bằng chứng chẩn đoán độc lập'],'lighting':['ánh đèn vàng'],'toilet':['bồn cầu'],'vitamin_b':['vitamin nhóm b'],'food':['thức ăn'],'medication':['thuốc'],'label_guidance':['thông tin trên nhãn'],'drink_to_thirst':['uống theo cảm giác khát'],'no_universal_number':['không giống nhau'],'no_forcing':['không cần cưỡng ép'],'hyponatremia':['natri trong máu giảm'],'heart_disease':['bệnh tim'],'kidney_disease':['bệnh thận'],'fluid_restriction':['hạn chế dịch'],'low_urine':['tiểu ít rõ rệt'],'dizziness':['chóng mặt'],'confusion':['lú lẫn'],'cannot_keep_fluids':['không thể giữ được nước'],'pain_urination':['đau khi đi tiểu'],'dysuria':['buốt'],'red_pink':['đỏ hoặc hồng'],'cola':['cola'],'jaundice':['vàng da'],'persistent':['kéo dài'],'medical_assessment':['đánh giá y tế']}
missing=[k for k,v in g.items() if not any(x in t for x in v)];out={'status':'PASS' if not missing else 'FAIL','groups':len(g),'missing':missing};(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))
