# FALL camera 3 observation preparation Prepared only. Do not run --observe until the user starts camera 3 and explicitly requests observation. Duration: 180 seconds once. Worker alarm: 205 seconds; controller timeout: 215 seconds. Output cap: 24 MiB. Redis reader only; no API writes, container creation, GPU work or engine replay. Output: mode-600 observation.jsonl, exclusive creation prevents accidental duplicate runs. Failed/partial output is retained; no automatic retries. Observed: run/generation/frame/PTS, person score, bbox, track ID, joint scores, scenario state, event ID, color/visibility, frame-level NMS counts and API processing counters. Calculated: existing extract_features torso/hip/span source and geometry, knee guard and joint mask. Unavailable: actual engine reference/history, transition votes, accumulated holds, exact gap_before, invisible low-score/suppressed objects, decoded raw video, browser rendering and cross-ID person identity. Redis publishes visible objects only. Missing from Redis does not prove missing from inference or Tracking. Frame/PTS deltas are metadata deltas, not direct proof of decoder/network loss or sampling failure. No raw keypoint coordinates, full Redis payloads, endpoints, passwords or original video are saved. Commands (run by agent only after the corresponding user request): - Preparation selftest: python3 -B observe.py --selftest - After manual Start: python3 -B observe.py --observe Preparation snapshot: HEAD 8d5677656a367da4850d514338eca53199a3cec2, clean task branch. Camera 3 was ERROR, not STOPPED: ROLE_RUNTIME_FAILED / STOP_CLEANUP_FAILED, forced child exit; child reaped and writer released, cleanup completed=false, pending=false. No recovery performed. Settings: person_score .30, joint_score .15, test_skip_down_hold true. Unchanged. Ask user for target screen location and approximate wall time or observation elapsed time of each fall. Temporary files only; retain through this diagnosis, cleanup requires separate approval.