The feedback loop, per product decision (option a): tags feed STATISTICS only.
A human reads the rate and re-tunes a camera deliberately - the tag never
adjusts edge sensitivity on its own (no silent behavior change in a safety
system).
- POST /events/{id}/false-positive: same RBAC ('acknowledge') + CSRF + site
scope as ack. Tagging also acknowledges (an FP is a handled event - leaving
it unacknowledged would keep it alarming). COALESCE keeps the FIRST tagger:
a second tag never rewrites who made the original audit-relevant call.
- move_events.false_positive_by/at (migration included), audit-logged.
- GET /api/fp-stats?days=N: per-(camera, event_type) totals + FP counts,
FP>0 groups only, fp-desc, fail-closed site scoping.
- Console: each open row gets a visually-secondary 오탐 button beside 확인
(can't be fat-fingered as the default); resolved rows show a mono verdict
("오탐 (user)" struck through vs "확인됨 (user)"). New rail panel "오탐율 ·
30일" lists top offenders - 30%+ highlighted as re-tuning candidates -
refreshed on a slow 60s cadence plus immediately after a tag. Detail view
shows the tag.
Verified: PHPUnit 135 pass / pytest unchanged + Chrome real-render (tag ->
row flips to struck-through verdict + drops out of unacked KPI/tree counts ->
FP panel updates immediately; no console errors).
1.7 KiB
INDEX — 작업 기록 (완료 결과만)
-
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 실렌더(편집기 저장·목록·콘솔 라벨).