Design the end-to-end system that collects camera images from a fleet of autonomous taxis. Each vehicle continuously records from multiple cameras (≈ 30 fps, 2 MB/frame). Because cellular data is expensive, the car must decide locally which frames are worth keeping and only upload those over LTE; bulk transfer happens later over Wi-Fi. The system must support three storage tiers on the vehicle: (1) Hot: a rolling buffer of the last few hours of full-resolution frames so engineers can retroactively pull video if a new filter is deployed. (2) Warm: frames that passed the on-device filter and are queued for upload. (3) Cold: a tiny down-sampled summary (1 frame/10 min plus IMU/GPS) that is small enough to upload every day even on cellular so the ops team always has some visibility. Engineers need to be able to change filter rules (geofence, speed bucket, time-of-day, or outputs from an on-device ML model) without pushing new software; rules are delivered as a signed, versioned config fetched every time the car connects to Wi-Fi. The on-disk metadata for every frame must be an append-only log with monotonic IDs so the uploader can restart safely after power loss and resume without duplicates. Design the vehicle-side agent, the cloud ingestion path, the config distribution mechanism, and the tools that let engineers request retroactive pulls from the hot buffer. State your assumptions about fleet size, daily miles per car, cellular budget, and storage capacity, and explain how your design scales to 10 k vehicles.