fn upload_index(index: usize, objects: usize, workers: usize) -> usize
Each worker owns a disjoint subset, including when object count is not a multiple of concurrency. Repeated uploads cannot overwrite another worker.