Nice-to-have / possible improvement — not on the v1 critical path. Split out from #456.
BatchProgress.total is the sum of started items' known Content-Lengths, so while items are still queued their sizes are unknown and the aggregate total under-counts — making early ETAs optimistic (they firm up as items start).
Suggestion
Let a caller supply a per-item size, or opt into a cheap HEAD probe before the batch runs, so the aggregate total — and thus the ETA — is accurate from the first tick. Gate the HEAD probe behind an option (an extra round-trip per item); a caller-supplied size is free.
Rig spec P8 / P17. Follow-up to #451.
BatchProgress.totalis the sum of started items' knownContent-Lengths, so while items are still queued their sizes are unknown and the aggregate total under-counts — making early ETAs optimistic (they firm up as items start).Suggestion
Let a caller supply a per-item
size, or opt into a cheapHEADprobe before the batch runs, so the aggregatetotal— and thus the ETA — is accurate from the first tick. Gate the HEAD probe behind an option (an extra round-trip per item); a caller-supplied size is free.Rig spec P8 / P17. Follow-up to #451.