Repository navigation
REQ 020
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.
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.
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.
Code review of vm-fleet-status.yml's header comment and its per-VM matrix job steps.
Software-Requirements-Specification
High
Code review of the workflow's header comment documenting the live incident this design fixed
.github/workflows/vm-fleet-status.yml
Verified (manual)