POSA_LEAKSMS/tests
cw2007 f7fbeacbdd feat: PM 급상승을 화재의심으로 전환 + SMS 단문화 + 센서고착 검출 비활성
서버실/항온항습: 여과·양압이라 평상 PM≈0 → PM 급상승을 화재 조기징후로 본다.
- 임계 하향: METRIC_PM25_HIGH 75→35, METRIC_PM10_HIGH 150→75 (연기 조기감지).
- SMS 태그 [미세먼지경보] → [화재의심]. 대시보드 라벨 통일(경보=화재의심, PM 측정=화재감시).
  metric_status(high_pm25/10) 코드·값·판정 로직 불변 — 표시단만 변경.
- SMS 단문화: 전 본문을 EUC-KR 90B 이내로 축약(관리주체 제거, 날짜 m-d H:i, 태그+위치 1줄).
  실측 45~70B ≤ 90B → 게이트웨이(Cafe24 smsType=S) 단문 절단 해소.
- 센서고착(live-but-stuck) 검출 기본 비활성(STUCK_DETECT_ENABLED=false):
  항온항습 문서고는 온습도 원래 평탄 → 평탄값을 고착으로 오탐하던 [센서고착] 문자 차단.
- 테스트: 태그·기본임계 단언 갱신. 회귀 스위트 PASS(9 run/0 fail), php -l 통과.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Dj4n17ZvGAhga6D4pNRjn
2026-07-19 23:34:57 +09:00
..
chaos_drill.php feat: RPi4 누수+온습도 2-모듈 단일 서버 통합 + 보안 하드닝 2026-06-23 16:21:11 +09:00
cooldown_episode_test.php fix(sms): 경보 쿨다운을 에피소드 인지로 전환 — 복구 직후 재발 누락 수정 2026-07-09 12:41:05 +09:00
forecast_test.php feat: 대시보드 예보·대응 정보 (예방 신호 + 조치 가이드) 2026-07-05 14:02:48 +09:00
heartbeat_timeout_test.php feat(sht30): 누수 노드에 온습도 동일-id 통합 (소스·서버예시·테스트·문서) 2026-07-15 10:16:49 +09:00
ingest_reject_log_test.php feat(observability): 수집 거부 출처 IP 로그 + 대시보드 노출 2026-07-09 13:43:12 +09:00
leak_debounce_test.php feat(alert): 누수 감지/복구 디바운스 · 온습도 1시간 주기 · 센서별 수신자 그룹 2026-07-13 20:57:17 +09:00
pm_threshold_test.php feat: PM 급상승을 화재의심으로 전환 + SMS 단문화 + 센서고착 검출 비활성 2026-07-19 23:34:57 +09:00
raw_body_signature_test.php chore: import codebase with security hardening 2026-06-20 09:37:40 +09:00
recipients_group_test.php feat(alert): 누수 감지/복구 디바운스 · 온습도 1시간 주기 · 센서별 수신자 그룹 2026-07-13 20:57:17 +09:00
security_hardening_test.php refactor(dashboard): 탭 구조 전면 재개편(실시간/추이/이력/시스템) 2026-07-11 11:23:14 +09:00
threshold_sms_test.php test(threshold): 결로 판정 단언을 운영설정 독립으로 가드 2026-07-19 10:45:59 +09:00