We are using all the modules except the GwtExt ones, and are able to get down to a single permutation - so it is likely that the permutations are caused by something over there.
You could try opening up the .gwt.xml for the GWT EXT modules and see if they have any <replace-with> statements. That would throw light on what properties are driving the permutations.
You could also pass in the -style PRETTY to gwtc, and then look at the generated <module>/<module>.nocache.js file. It usually has a map from various properties (user agent, language, and your mysterious parameter) to the strong, MD5 file name. By inspecting the table, you should be able to figure out what is causing the extra permutations. This is how the map looks on my machine --
try {
unflattenKeylistIntoAnswers(['opera'], '34478C007220DB07F52AB22169457501');
unflattenKeylistIntoAnswers(['ie6'], '872904FEB2B0C8ABFEEF5D761EE7FEF4');
unflattenKeylistIntoAnswers(['safari'], 'B30F09E1C9B5B042E928F79F73C1C79B');
unflattenKeylistIntoAnswers(['gecko1_8'], 'B712029A53D248F96310715A52A54CBA');
unflattenKeylistIntoAnswers(['gecko'], 'BAAA33CCD5FA4984C7DB8207E830D268');
unflattenKeylistIntoAnswers(['ie8'], 'C1B0450CB888E93E17495AEDAE49EB45');
strongName = answers[computePropValue('user.agent')];
initialHtml = strongName + '.cache.html';
}
catch (e) {
return;
}
--Sri