This is such a real CI footgun parallelization makes everything look “green” while you’re quietly losing signal. The root cause you described is a great reminder that artifact handling has to be treated like first-class pipeline logic, not an afterthought: if jobs shard, then reports must shard too (e.g., naming by CI_NODE_INDEX or a matrix variable) or they’ll overwrite each other.
I also really like the idea of adding a validation step that checks “expected vs. actual report files” before proceeding simple guardrails like that prevent weeks of false confidence in test health.