Summary
Using return_exceptions=True hides errors in concurrent operations.
Files
- vertice_cli/core/tool_chain.py:236-245
- vertice_cli/handlers/tool_execution_handler.py:80-189
Current Code
results = await asyncio.gather(*tasks, return_exceptions=True)
# Exceptions hidden in results, not raised
Expected Fix
# Option 1: Don't use return_exceptions for critical paths
results = await asyncio.gather(*tasks) # Raises first exception
# Option 2: Process exceptions explicitly
results = await asyncio.gather(*tasks, return_exceptions=True)
for i, result in enumerate(results):
if isinstance(result, Exception):
logger.error(f"Task {i} failed: {result}")
raise result # Or collect and raise combined error
Acceptance Criteria