Fix categorized watcher grouping and timing reconstruction

This commit is contained in:
2026-03-27 16:08:13 -04:00
parent 20c9ba7178
commit 86e89ab9f1
2 changed files with 106 additions and 26 deletions

View File

@@ -283,6 +283,15 @@ This file stores run-specific examples only when a run produced a new learning r
- For categorized runs, when grouped XML only shows `check-xml-files.ts`, infer the subrun host from the categorized build id and recover the result from the latest matching per-host reporter artifact within the grouped completion window.
- Do not keep a completed grouped subrun in `RUNNING` just because the grouped XML lacked a host testcase entry.
## Run Learning: 2026-03-27 (Categorized batch results must aggregate all hosts in the group and use the earliest grouped host timestamp)
- Observed failure mode:
- A categorized grouped batch can post with only one host even when the batch actually ran multiple hosts of the same distro group.
- This also causes the grouped `start` and `total` timing values to collapse to the last recovered host artifact instead of the full grouped batch duration.
- Action for future runs:
- For categorized grouped batches, recover all matching per-host reporter artifacts for the distro group within the grouped completion window, not only the latest host.
- Derive the grouped `start` time from the earliest recovered host run timestamp and the grouped `end` time from the grouped finalization timestamp.
- Prefer the reporter JSON metadata timestamp or artifact filename timestamp over file write time when reconstructing grouped host timing, because file mtime reflects artifact completion rather than run start.
## Run Learning: 2026-03-27 (Default ATVM approval should include the watcher)
- Observed requirement:
- The operator wants `approve` to mean run with watcher by default.