No per-tool timeout in parallel tool execution
File: pkg/manager/generator.go — runTools() passes parent context directly
A hung MCP tool blocks the entire WaitGroup and the HTTP response indefinitely
Wrap each tool call with context.WithTimeout(ctx, perToolDeadline)
No per-tool timeout in parallel tool execution
File: pkg/manager/generator.go — runTools() passes parent context directly
A hung MCP tool blocks the entire WaitGroup and the HTTP response indefinitely
Wrap each tool call with context.WithTimeout(ctx, perToolDeadline)