"""Capture operational metadata only; no voice text, credentials, or network names.""" import pathlib,re,serial,sys,time,json s=serial.Serial();s.port='COM6';s.baudrate=115200;s.timeout=.2;s.dtr=False;s.rts=False;s.open() s.write(b'\ndiag-state\n') duration=int(sys.argv[1]) if len(sys.argv)>1 else 40 end=time.monotonic()+duration output=[];tags={} allow=re.compile(r'(RTC diagnostic:|device_control:|device_ota:|Platform error code:|POST /api/v1/device/(control|mqtt|ota)|Direct chat ready;|Startup task finished|Guru Meditation|Backtrace:|assert failed:|CORRUPT HEAP|Stack canary|Rebooting|esp-tls:|esp_mqtt:|mqtt_client:|Transport failed|Failed to allocate|Failed to create|Cannot allocate|system_api:)') while time.monotonic()