Add targeted coverage tests to maintain >80% code coverage minimum:
- ExtractInput error paths (14 tests): Type mismatch errors for Result,
Option, Vec, HashMap, Arc, and primitive types. Directly exercises
error formatting code that was previously uncovered.
- DagRunner::get() type mismatch (6 tests): Covers the type mismatch
error path when attempting to retrieve task output with wrong type.
Tests various type combinations to ensure robust error handling.
- TaskBuilder conversions (9 tests): Covers the From<TaskBuilder> to
TaskHandle conversion for unit-type tasks, ensuring ID preservation
and correct handling of mixed task types.
Also fixes timing test threshold from 10ms to 50ms to account for
tarpaulin instrumentation overhead while still validating parallel
execution.
Coverage increased from ~78% to 82.04% (above 80% minimum requirement).