# Live test report

Test date: 15 August 2026

## Azure acceptance results

| Check | Result |
|---|---|
| PowerShell AST parsing | Passed for every `.ps1` file |
| Read-only preflight | Passed; resource-group and subscription-budget inventories were unchanged |
| Safe rerun behavior | Passed; the foundation stage reran with exactly two VMs and zero public IPs |
| Resource-group ownership boundary | Passed |
| Private Ubuntu VMs | Passed; two `Standard_B1s` VMs and no public IPs |
| Tag conflict | Passed; the protected VM retained its deliberate resource-level cost-center conflict |
| Tag inheritance | Passed; higher-scope precedence was created and later restored to the original absent state |
| Cost query | Passed after bounded 10- and 20-second 429 backoff; all three dimensions parsed by returned column name |
| Previous-month export | Passed; run completed and two destination blobs were proved without reading financial rows |
| Least-privilege custom role | Passed; four allowed actions at workshop resource-group scope |
| Action Group and Logic App | Passed; one Logic App receiver and four recent successful workflow runs |
| Automation runtime | Passed; PowerShell 7.4 jobs completed |
| Synthetic 79% boundary | Passed; both VMs remained running |
| Synthetic 80% boundary | Passed; only the opt-in VM was deallocated |
| Protected VM | Passed; remained running |
| Existing subscription budget | Passed; unchanged during validation and cleanup |
| Cleanup | Passed; workshop budget, export, role assignment, custom role, resource group, and private Azure runtime state removed |

## Wix publication results

| Check | Result |
|---|---|
| Markdown conversion chunks | Passed; three chunks, each below 9,000 characters |
| Complete Ricos validation | Passed with zero violations |
| Embedded evidence | Passed; eight native image nodes with descriptive alt text |
| Troubleshooting map | Passed; rendered as a native three-column table |
| Cover | Passed; 1672×941 Wix Media image with descriptive alt text |
| Metadata | Passed; requested author, Azure Infrastructure category, nine tags, excerpt, and exact SEO slug stored |
| Post publication | Passed; the post is live at the exact requested slug |
| Workshops tile | Passed; the duplicated AKS-format tile uses the FinOps cover, descriptive alt text, and exact live-post link |
| Desktop preview | Passed; the tile is positioned immediately after AKS with no overlap |
| Mobile preview | Passed; the tile follows AKS in the single-column layout and the link opens the live post |
| Site publication | Passed; the updated Workshops page is live |

Live article: <https://www.beyondcloudwithchriz.com/post/azure-finops-deep-dive-budgets-cost-exports-automated-guardrails>

Live Workshops page: <https://www.beyondcloudwithchriz.com/azureworkshopz>

The synthetic notifications validate the live automation chain. They are not evidence that a newly created Azure budget fired naturally; real budget evaluation is daily and Cost Management data is delayed.
