Keep ATVM watcher notes operator-focused
This commit is contained in:
@@ -237,6 +237,8 @@ Status-report expectations:
|
||||
- Use `/home/aw/code/cds/atvm/docs/automation/status-template.md` as the default template for both local status output and Mattermost status posts.
|
||||
- The default ATVM status template uses flat bullet-list sections for `COVERAGE:` and `TEST FLOW:`, Markdown tables for `SUMMARY:`, `HOSTS:`, and `TIMING:`, and uses `NOTES:` for flat operator-facing notes.
|
||||
- Order the status sections as `SUMMARY:`, `HOSTS:`, `TIMING:`, `COVERAGE:`, `TEST FLOW:`, then `NOTES:`.
|
||||
- Keep `NOTES:` focused on operator-facing value such as the Currents run URL, real anomalies, failure context, or material fallback behavior.
|
||||
- Do not include generic watcher bookkeeping messages in `NOTES:` such as artifact-detection confirmations.
|
||||
- The `HOSTS:` table includes `Host`, `Kernel`, `Status`, and `Detail` columns in that order.
|
||||
- In `COVERAGE:`, describe the template, datastore/config family, migration style, and plugin/integration path, but do not list target hosts there.
|
||||
- In `TEST FLOW:`, show the template-specific numbered run flow once for the whole test, not per host.
|
||||
|
||||
@@ -268,6 +268,13 @@ This file stores run-specific examples only when a run produced a new learning r
|
||||
- Store it under the watcher state directory for the parent build so it survives runner exit and missing log files.
|
||||
- Prefer the persisted Currents URL store over transient log scraping when building the final `NOTES:` section.
|
||||
|
||||
## Run Learning: 2026-03-27 (Keep ATVM notes meaningful and remove generic artifact-detected lines)
|
||||
- Observed requirement:
|
||||
- Generic watcher bookkeeping notes such as "Run finished and one or more sub-run result artifacts were detected." and "Final reporting artifacts were detected." do not add operator value in ATVM status posts.
|
||||
- Action for future runs:
|
||||
- Reserve `NOTES:` for meaningful operator-facing content such as the Currents run URL, real anomalies, failure context, and important fallback behavior.
|
||||
- Do not include generic artifact-detection confirmations in the posted `NOTES:` section.
|
||||
|
||||
## 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.
|
||||
|
||||
@@ -72,6 +72,8 @@ Use this as the default ATVM automation run-status template for:
|
||||
- Keep `Detail` concise.
|
||||
- Put broader context under `NOTES:`, not in the host table.
|
||||
- When available, put the persistent Currents run URL in `NOTES:` so operators can open the exact recorded run directly.
|
||||
- Keep `NOTES:` limited to meaningful operator-facing items such as the Currents link, real anomalies, failure context, or important fallback behavior.
|
||||
- Do not include generic watcher bookkeeping lines in `NOTES:` such as "run artifacts were detected" or "final reporting artifacts were detected."
|
||||
- `COVERAGE:` should describe what the run was intended to cover without listing target hosts.
|
||||
- `TEST FLOW:` should describe the template-specific numbered run flow once for the whole test, not per host.
|
||||
- The watcher resolves `TEST FLOW:` from the run template name.
|
||||
|
||||
@@ -1208,9 +1208,6 @@ def determine_state(
|
||||
terminal_subruns = [subrun for subrun in subrun_states if subrun["state"] in {"COMPLETED", "FAILED"}]
|
||||
if terminal_subruns:
|
||||
state = "FAILED" if any(result.failures for result in parent_host_results.values()) else "COMPLETED"
|
||||
notes.append("Run finished and one or more sub-run result artifacts were detected.")
|
||||
if end_ts:
|
||||
notes.append("Final reporting artifacts were detected.")
|
||||
return state, subrun_states, parent_host_results, start_ts, end_ts, currents_url, notes
|
||||
|
||||
if process_gone_since and (now_utc() - process_gone_since).total_seconds() >= process_exit_grace_seconds:
|
||||
|
||||
Reference in New Issue
Block a user