Currently progress values must be between 0.0 and 1.0. We need to support indeterminate/unknown progress.
Modify the progress system so that:
update_progress("task", -1.0) sets the task to "indeterminate" state
- The internal state should distinguish between
0.0 progress and "indeterminate"
add_progress and reduce_progress should handle indeterminate state appropriately (e.g., convert to 0.0 first)
Use -1.0 as the special value to represent unknown progress in the public API.