2 got us to a merged report from just one agent. We can get the rest of the way in a merged summary report on ADO by converting each build agent's report files to use relative paths before publishing as artifacts, and then on the merging agent converting them back to absolute paths that fit for that local agent.
A search and replace as described here could work. Or we could use a proper xml parser to select the specific xml nodes that contain paths and focus on those so we don't accidentally replace strings that look like paths that coincide with the local agent.
2 got us to a merged report from just one agent. We can get the rest of the way in a merged summary report on ADO by converting each build agent's report files to use relative paths before publishing as artifacts, and then on the merging agent converting them back to absolute paths that fit for that local agent.
A search and replace as described here could work. Or we could use a proper xml parser to select the specific xml nodes that contain paths and focus on those so we don't accidentally replace strings that look like paths that coincide with the local agent.