# 프로젝트 진행 INDEX 작업 단락(커밋·빌드·배포·결정) 완료 기록. 완료 결과만. ## 2026-07-19 - **미커밋 노드 통합 작업 정리 + 커밋** (feat/pi-c-sensor3-leak-node) - `86960a8` test(threshold): 결로 판정 단언 운영설정 독립 가드 (테스트 스위트 RED→green) - `ec78be0` feat(pms7003): 누수 노드 미세먼지(PM2.5/PM10) 통합 — Pi 노드+서버 수집+SQL+마이그레이션 - `42a6ee4` feat(display): Zero 2 W ST7789 상태 디스플레이 노드 (렌더 11종 선검증) - `6f8bf94` feat(dashboard): v2 재테마 + status_summary API + 미세먼지 카드 - `90b93f8` chore(deploy+docs): 번들 생성기·하드닝·설계문서 - `f5313a6` chore(gitignore): dist/ 배포판 zip 차단 - 테스트: 9 run / 0 skip / **PASS**. secret 유출 없음(config_local.py·config.local.php gitignore 확인). - **배포판 빌드 (서버 번들)** - 산출물: `dist/leak-sms-server-v2606-20260719.zip` (VERSION=v2606, 40파일, 166KB) - API_KEY 보존: prefix `bbf737d8…` 전/후 동일 — 배포노드 orphan 없음 - 서버 번들 PHP 전수 `php -l` 통과. `status_summary.php`·`dash-v2.css` 반영. schema.sql 멱등+pms7003 컬럼 포함. - 배포 방식: **수동(체크리스트)** · DB **초기화 후 새 설치** 결정 - 체크리스트: `dist/DEPLOY-CHECKLIST-server-v2606.md` - **배포 setup.sh 위치-독립화 (flatten 제거)** — `3fda1f2` - systemd 유닛 `/home/pi/` 경로를 설치 시 `$BASE=$(pwd)` 로 sed 치환 → 번들 폴더를 이름 그대로 /home/pi 아래 어디든(USB 통째 복사) 두고 실행 가능. flatten 단계 삭제. - 부수 버그 수정: zero2w 유닛 `/home/pi/display` 하드코딩이 실제 설치경로와 불일치(서비스 기동 실패)하던 것 해소. - 검증: BASE 시뮬레이션으로 유닛 경로 정합 확인, 4개 번들 setup.sh 전부 BASE 주입, 88개 스크립트 CRLF/BOM 0(전부 LF). - 산출물: `dist/leak-sms-pi-nodes-v2606-20260719.zip` (4개 Pi 번들, 127파일, 406KB) - 잔여 작업(운영): - [ ] cafe24 서버 업로드 + DB 초기화/schema.sql (운영자 수동 — 체크리스트 참조) - [ ] 노드 4종 배포 (USB: 폴더째 /home/pi 복사 → `cd /home/pi/ && bash setup.sh`) - [ ] `feat/pi-c-sensor3-leak-node` push / PR - [ ] `1.png`·`2.png` (repo 루트 스트레이 스크린샷) 정리 결정