Make watcher the default ATVM approval path

This commit is contained in:
2026-03-27 12:24:21 -04:00
parent c60542e0e5
commit 95eeba60cd
3 changed files with 13 additions and 5 deletions

View File

@@ -59,7 +59,7 @@ This file defines how to operate and maintain the ATVM workspace in `/home/aw/co
- Before any automation run, always check whether automation is already running. - Before any automation run, always check whether automation is already running.
- Always show exact planned ATVM commands before execution. - Always show exact planned ATVM commands before execution.
- Never execute setup or automation commands that require approval until the operator explicitly approves them. - Never execute setup or automation commands that require approval until the operator explicitly approves them.
- For ATVM run approvals, treat `approve` as run-without-watcher and `approve with watcher` as run-with-watcher. - For ATVM run approvals, treat `approve` as run-with-watcher and `approve without watcher` as run-without-watcher.
- After `cmc-templates.py`, always verify that the generated spec files and the config `specPattern` still include every requested VM before starting `run-sorry-cypress.py`. - After `cmc-templates.py`, always verify that the generated spec files and the config `specPattern` still include every requested VM before starting `run-sorry-cypress.py`.
- If any requested VM is missing after template generation, stop and report the mismatch instead of launching the runner. - If any requested VM is missing after template generation, stop and report the mismatch instead of launching the runner.
- When the watcher is requested, start the watcher before `run-sorry-cypress.py`. - When the watcher is requested, start the watcher before `run-sorry-cypress.py`.

View File

@@ -41,8 +41,8 @@ Run ATVM CMC automation tests on the designated automation VM without unintended
- Approval is required even for preparation-only steps such as template generation. - Approval is required even for preparation-only steps such as template generation.
- If the operator changes any part of the request after commands are displayed, rebuild the commands, show the updated commands, and wait for fresh approval before executing anything. - If the operator changes any part of the request after commands are displayed, rebuild the commands, show the updated commands, and wait for fresh approval before executing anything.
- Execute ATVM run commands only after explicit approval. - Execute ATVM run commands only after explicit approval.
- Treat `approve` as approval to run without the watcher service. - Treat `approve` as approval to run and also start the per-run watcher service for that build.
- Treat `approve with watcher` as approval to run and also start the per-run watcher service for that build. - Treat `approve without watcher` as approval to execute the ATVM run without starting the watcher.
- When `--categorize` is used with watcher enabled, treat the watcher as a sequential grouped-run watcher: - When `--categorize` is used with watcher enabled, treat the watcher as a sequential grouped-run watcher:
- it must post one final Mattermost status per completed categorized group/sub-run - it must post one final Mattermost status per completed categorized group/sub-run
- it must stay active between grouped sub-runs while the parent categorized request is still running - it must stay active between grouped sub-runs while the parent categorized request is still running
@@ -162,8 +162,8 @@ Before any new automation request:
2. Present them verbatim as planned commands before running anything. 2. Present them verbatim as planned commands before running anything.
3. Wait for explicit approval. 3. Wait for explicit approval.
4. When the watcher is available, present the watcher-start command separately from the core run commands. 4. When the watcher is available, present the watcher-start command separately from the core run commands.
5. Treat `approve` as approval to execute the ATVM run without starting the watcher. 5. Treat `approve` as approval to execute the ATVM run and start the watcher for that build.
6. Treat `approve with watcher` as approval to execute the ATVM run and start the watcher for that build. 6. Treat `approve without watcher` as approval to execute the ATVM run without starting the watcher.
7. If the run uses `--categorize` and the watcher is requested, include `--categorize` on the watcher start command too so the watcher tracks sequential categorized sub-runs correctly. 7. If the run uses `--categorize` and the watcher is requested, include `--categorize` on the watcher start command too so the watcher tracks sequential categorized sub-runs correctly.
8. Run only approved command(s), no extra options and no silent substitutions. 8. Run only approved command(s), no extra options and no silent substitutions.
9. When both template generation and the Cypress runner are requested, run them sequentially, not in parallel. 9. When both template generation and the Cypress runner are requested, run them sequentially, not in parallel.

View File

@@ -258,3 +258,11 @@ This file stores run-specific examples only when a run produced a new learning r
- The operator wants ATVM run results ordered as `SUMMARY:`, `HOSTS:`, `TIMING:`, `COVERAGE:`, `TEST FLOW:`, then `NOTES:`. - The operator wants ATVM run results ordered as `SUMMARY:`, `HOSTS:`, `TIMING:`, `COVERAGE:`, `TEST FLOW:`, then `NOTES:`.
- Action for future runs: - Action for future runs:
- Render ATVM status output in that section order for both local output and Mattermost posts. - Render ATVM status output in that section order for both local output and Mattermost posts.
## 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.
- The explicit no-watcher override should be `approve without watcher`.
- Action for future runs:
- Treat `approve` as approval to run and start the watcher.
- Treat `approve without watcher` as approval to run without starting the watcher.