The full and legacy LSU checkout matrix jobs publish the same automatic evidence paths. In actual run 2210, job 6367 stored storage/logs/lsu-native-ci/preview.log; job 6368 then received HTTP 409 publishing its different preview log. The completed workspace was correctly retired, leaving the second preview-readiness failure without its own diagnostic.
Keep run/name/content immutability. Scope automatic collected names to their producing job, retain stable identity for long paths, and preserve ordinary explicitly named uploads. Downloads by the original path should continue when unique; ambiguous matrix paths need an explicit producing job, without crossing the job credential's run. A job must not reserve another producer's generated namespace.
The real runner/HTTP regression on disposable PostgreSQL reproduces the loss: two matrix jobs complete but only one report is listed/downloadable. The first source correction retains both different reports. Additional real route regressions cover unqualified compatibility, ambiguity and explicit selection, plus a foreign-run producer.
Complete source verification, the normal controller and standalone runner rollout, and fresh matrix evidence. Do not rename HQ's workflow artifacts as an application workaround, remove immutability, or extend the preview readiness timeout without the actual diagnostic.
Related: https://github.com/stacksjs/hq.training/issues/376 and https://github.com/stacksjs/hq.training/issues/346.