Tighten `Cloud Run Finished` parsing so categorized watcher recovery only starts on real summary headers, stops at the grouped run's `Recorded Run` URL, and parses only actual summary-table host rows.
Also merge grouped per-host reporter artifacts into categorized recovery so completed grouped batches keep the correct host membership and Mattermost posts remain stable for both categorized and non-categorized runs.
Add the working vCenter placement-check pattern to the ATVM automation guide so explicit VM-list planning uses the correct lowercase govc JSON keys, resolves datastore refs to names, and ignores helper datastores such as install ISO attachments when deciding between gold and gold-2.
Adjust parent-run summary parsing so the watcher does not stop at the "Recorded Run" detection log line and miss later host rows in Mattermost status output.
Document the 2026-04-15 failure mode in ATVM run learnings so future watcher/reporting work preserves the broader Cloud Run Finished block parsing rule.
- skip report artifacts that disappear during watcher post-processing
- use safe mtime handling for XML and mochawesome discovery
- prevent watcher crashes from transient FileNotFoundError races
- map AutomatedTest-VMBootImg-Gold to gold and Gold-2 to gold-2
- require live vCenter placement checks for explicit VM lists
- stop mixed gold/gold-2 requests before planning ATVM runs
- return hostname-only datastore inventories by default
- tell the operator about the vCenter placement check before showing run commands
- clarify that repo inventory files are not the source of truth for current datastore membership
Remove the old issue-handling defaults and approval rules that referred
to the galaxy-complete workspace.
Keep the remaining commit approval and repository safety guidance.