move_detect/server/tests
유창욱 6b1f4c483f fix(security,delivery): scope improvement actions by site; correct upgrade procedure
프로젝트 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 다이제스트 일치).
2026-08-07 18:06:32 +09:00
..
Support fix(security,delivery): scope improvement actions by site; correct upgrade procedure 2026-08-07 18:06:32 +09:00
ApiSyncTest.php feat(dashboard): device-status panel + event-list rework, hardened 2026-07-25 19:20:42 +09:00
AuthControllerTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
BasePathTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
ConfigTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
DashboardTest.php feat(data-asset): labeled-dataset export + improvement-action effect tracking 2026-08-07 07:44:00 +09:00
EventValidatorTest.php feat(ergo): posture-load exposure scoring (REBA bands) with anonymous reports 2026-08-06 21:46:39 +09:00
ExportActionsTest.php fix(security,delivery): scope improvement actions by site; correct upgrade procedure 2026-08-07 18:06:32 +09:00
FpStatsTest.php feat(fp): operator false-positive tag + per-camera FP-rate report 2026-08-06 20:38:36 +09:00
HeatmapTest.php feat(heatmap): near-miss events + spatial ingestion + camera risk-heatmap overlay 2026-08-06 20:19:09 +09:00
HmacTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
HttpTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
ImageProcessorTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
IngestControllerTest.php feat(data-asset): labeled-dataset export + improvement-action effect tracking 2026-08-07 07:44:00 +09:00
PasswordCsrfTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
PdoIntegrationTest.php feat(fp): operator false-positive tag + per-camera FP-rate report 2026-08-06 20:38:36 +09:00
RbacTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
ReportTest.php feat(analytics): weekday-hour pattern, precursor-spike alert, period trends 2026-08-07 07:35:30 +09:00
RepositoryContractTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
RouterTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
SiteScopeTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
WiringSmokeTest.php refactor: rename cloud/ to server/ (cafe24 is web hosting, not cloud) 2026-07-20 11:30:52 +09:00
ZoneConfigTest.php feat(zones): occupancy rule engine - lone-worker / capacity / dwell limits 2026-08-06 19:33:12 +09:00