프로젝트 8개 차원 감사(종합 82/100)에서 확정된 상위 3건 수정. 1. 개선 조치(move_actions)가 유일하게 site 스코프 규율에서 이탈 — 스코프 운영자가 타 현장의 조치 기록(카메라 ID·메모·작성자)을 목록에서 읽고, 타 현장 카메라에 조치를 기록해 그 현장 리포트의 전후 효과 지표를 오염시킬 수 있었다. - move_actions.site 컬럼 + (site, taken_at) 인덱스, 기존 행 백필 마이그레이션 - 카메라 소유 현장은 이벤트에서 해석 (move_cameras는 등록 플로우가 없어 항상 비어 있음) - 오타 카메라는 400: 전후 효과가 영원히 0/0이 되는 조치를 애초에 못 만들게 한다 - 타 현장 카메라는 404: 존재 여부를 숨기는 기존 규약 유지 2. README-UPLOAD 업그레이드 절차가 마이그레이션 7종 중 1종만 지시했다. move_ 접두 리네임을 건너뛰면 이후 전부 실패하고 전 요청이 500이 된다 — 순서·적용조건·재실행 비안전성을 표로 명시. 문서 4곳의 테이블 수(10→11)·비프리픽스 표기도 정정. 3. 두 납품 번들 재생성: 8/6 이후 4개 기능 커밋이 반영되지 않아 Report/Export/Actions 컨트롤러와 8/7 마이그레이션이 빠진 채였다. 엣지 소스 패리티도 회복. 검증: pytest 235 passed / PHPUnit 147 passed (PDO 4 skip), 번들 산출물 내부 검증 (28 클래스 해석·전 파일 php -l·SHA256SUMS 55행·휠 11개·HEF 다이제스트 일치).
4.3 KiB
INDEX — 작업 기록 (완료 결과만)
-
2026-08-08 프로젝트 8개 차원 감사(종합 82/100) 후 상위 3건 수정. ①개선 조치 site 스코프 누락(스코프 운영자가 타 현장 조치 기록 열람·기록 가능) →
move_actions.site추가 (2026-08-08-actions-site.sql, 이벤트에서 카메라 소유 현장 해석, 오타 카메라 400·타 현장 404). ②README-UPLOAD 업그레이드 절차가 마이그레이션 1/7만 지시 → 순서·적용조건 표로 교체 (move_접두 리네임 누락 시 전 요청 500). ③두 납품 번들 재생성(4커밋 스테일 해소 — Report/Export/Actions 컨트롤러·마이그레이션 누락 복구, 엣지 소스 패리티 회복). 문서 테이블 수·프리픽스 표기 정정. pytest 235 / PHPUnit 147. -
2026-08-07 데이터 활용 5안 중 4안 구현: ②시간패턴 히트맵+전조 급증 경보 ③KPI 전기간 추이(
d8b8e1f) ①라벨 JSONL 익스포트(/api/export/labels, 관리자) ④개선 조치 기록·전후 효과 비교(move_actions, 동일 창 비교, 3일 미만 "측정 중"). ⑤멀티사이트 벤치마크는 다현장 이후(사이트 스코프 구조가 이미 수용). PHPUnit 145 + Chrome 실렌더. -
2026-08-07 증거 타임라인 + 24시간 캐치업: 이벤트 스냅샷이 링버퍼 기반 과거→발생 3장(프레임별 자기 시점 얼굴 블러, P1-B 잔여 종결), 상세뷰 이전/직전/발생 캡션. 콘솔 첫 진입 '지난 24시간' 요약 배너(/api/report?days=1 재사용, 리포트 링크). pytest 235/ PHPUnit 138 + Chrome 실렌더.
-
2026-08-07 안전 운영 리포트
/report(주간 안전회의용 인쇄 가능 한 장: 중대 이벤트· TTA(FP 제외)·니어미스 피라미드·오탐율·유형/카메라 순위·인체공학 노출·존 규칙 위반) + 이벤트 스트림 유형 필터. PHPUnit 138 + Chrome 실렌더(KPI/바리스트/타일/필터). -
2026-08-06 인체공학 자세부담 스코어링 (
ergo_report/INFO, 카메라 단위 익명·스냅샷 미부착): REBA 밴드 노출시간(허리 20~60°/60°+·팔 90°+·웅크림<110°), 사고 상태 트랙 제외, 검출 공백 dt 상한. 상세뷰 지표 한글 렌더 —b358822. pytest 232/PHPUnit 135 + 실렌더. -
2026-08-06 납품 번들 재생성:
dist/1_cafe24_upload+move-detect-cafe24.zip(마이그레이션 5종 동봉 — 빌드 스크립트에 staging 추가) ·dist/2_pi_install--cross 재빌드 (aarch64/cp311 휠 11종 + HEF 다이제스트 검증 + SHA256SUMS). FLAG: MoveNet ONNX 업스트림 URL 404 → 이번 Pi 번들은 Hailo 단독(CPU 폴백 모델 미포함).edge/tools/fetch_movenet.py의 소스 URL 갱신 필요. -
2026-08-06 오탐 피드백 (결정 a: 통계만, 자동 튜닝 없음): 이벤트 오탐 태그 (
POST /events/{id}/false-positive, ack 겸함, 최초 태거 보존) +GET /api/fp-stats+ 콘솔 오탐율 패널(30일, 30%+ 강조). PHPUnit 135 + Chrome 실렌더(태그→행 전환→패널 즉시 갱신). -
2026-08-06 대시보드 장치→카메라 트리 레일 + (device,camera) 쌍 카메라 필터 —
eaff176. PHPUnit 119 통과 + Chrome 실렌더 검증(트리 상태·필터·접기·콘솔 무오류). -
2026-08-06 감사 잔여 P2-6/7/8 종결 (ID 스왑 게이트 · sustained-prone FALLING · stale 트랙 no-data) —
32f2237. TDD(RED 확인), pytest 203 통과/2 skip. → delivery-audit 오프하드웨어 항목 43/43 완료. 잔여는 실장비(OFF-HW) 검증뿐. -
2026-08-06 연속성 문서 신설:
CLAUDE.md·docs/PROJECT_MAP.md· 본 INDEX. -
2026-08-06 니어미스 히트맵:
near_fall(FALLING→확정 전 회복, INFO) + 전 트랙 이벤트에 정규화 발좌표(spatial) 부착 →move_events.spatial_x/y적재 →GET /api/heatmap/{camera}→ 존 편집기 '위험 히트맵' 오버레이. 직전 커밋의 chk_events_type 제약 누락(신규 타입 INSERT 거부) 마이그레이션으로 수정. pytest 222/PHPUnit 130 + Chrome 실렌더. -
2026-08-06 존 점유 규칙 엔진 (2인1조
lone_worker/HIGH · 정원overcapacity· 체류상한overstay): edgeoccupancy.py+move_zones.rules_json+ 존 편집기 규칙 입력 + 이벤트 유형 한글 라벨. pytest 216/PHPUnit 123 통과 + Chrome 실렌더(편집기 저장·목록·콘솔 라벨).