Keep ATVM watcher notes operator-focused

This commit is contained in:
2026-03-27 14:54:39 -04:00
parent 4186f2d0ea
commit 650adb085e
4 changed files with 11 additions and 3 deletions

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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: