I wrote the full-year commentary to `output/bva-note.md`. The script's figures are in `output/bva.json`. The script's reconciliation checks passed.

- **Headline:** FY2025 revenue was $11.2M against a $11.6M budget, a variance of ($362K), or (3.1%). Operating income was $388K against $583K, a variance of ($195K), or (33.5%). Gross margin was 25.9% against 26.8%, a variance of (0.9) pts.
- **Revenue miss:** It sits in three months: March at ($123K), July at ($132K) and August at ($105K). The data doesn't show why, so the note asks the revenue owner for the cause.
- **Cost lines:** Cost of goods sold was favourable by $196K, but Freight out was unfavourable by ($29K), Salaries and wages by ($38K) and Rent and occupancy by ($23K).
- **Underspend:** Marketing was favourable by $38K and Technology by $25K.
- **Professional fees:** The line peaked at ($31K) in March and ended the year at ($1K), so it reversed.
- **December:** Revenue was $3K favourable, but operating income was ($5K) against budget.

The note is in the five-section format the skill sets. One wording fix after the first draft: I removed a "within $7K" claim because it was derived rather than copied from the script output.

The CSV only covers 2025, and the analysis is year-to-date through December 2025.