Done. I've written the full-year FY2025 budget versus actual commentary for the operating review. The analysis is saved to `output/bva-note.md`.

**Key findings:**
- Revenue came in $362K short of budget (3.1% unfavourable), driven by three concentrated Q3 misses in March, July, and August totalling $360K
- Operating income fell $195K short at $388K versus $583K budgeted (33.5% unfavourable)
- Cost of goods sold came in $196K favourable, but Freight out ran $29K over budget
- Salaries and wages exceeded budget by $38K, while Marketing and Technology spend came in $63K under combined budget

The commentary includes a full results table, month-level summary for December, and analysis of the key variance drivers.