Skip to content

REQ 020

sergio velderrain edited this page Nov 9, 2026 · 1 revision

REQ-020: vm-fleet-status.yml actively re-derives real VM/runner state

Requirement

vm-fleet-status.yml shall independently re-derive each tracked VM's real-world state (actual GitHub Actions runner registration + actual VirtualBox power state) rather than reporting runner-inventory.json's own self-logged status as ground truth.

Rationale

A locally-logged "success" was observed live to not guarantee the real-world outcome matched: a register-runner run reported success while the runner had actually registered under the wrong name, a discrepancy only caught by directly querying the GitHub API.

Fit Criterion

vm-fleet-status.yml's own header comment documents this exact incident as the reason for the design; each matrix job queries gh api .../actions/runners and VirtualBox state directly, not runner-inventory.json's status field.

Verification

Code review of vm-fleet-status.yml's header comment and its per-VM matrix job steps.

Source

Software-Requirements-Specification

Priority

High

TestID

TEST-020

TestArtifact

Code review of the workflow's header comment documenting the live incident this design fixed

CodeRef

.github/workflows/vm-fleet-status.yml

Status

Verified (manual)

Clone this wiki locally