I wrote the one-page FY2025 summary to `output/exec-summary.md`. The figures are in `output/summary.json`. The script's reconciliation checks passed. I didn't recalculate any figure. Everything is copied from the script's output.

- **Headline:** Revenue was $11.2M against a budget of $11.6M, and operating income was $388K against $583K.
- **Quarterly revenue:** Q1 missed budget by ($121K) and Q3 by ($229K). Q2 and Q4 were close to budget.
- **Drivers:** Revenue was ($362K) under budget. Cost of goods sold was $196K favourable and offset most of that. Salaries and wages were ($38K) over.
- **Watch list:**
  - Days sales outstanding was 51.2 against a target of 45.0.
  - On-time delivery was 93.3% against 95.0%.
  - Active customers were 40 against 42.
- **Left off the watch list:** Inventory turns were off target for only one month, so I left them out. Say if you want them added.

The data doesn't show why revenue fell short. The summary says so and ends with a question for the business. It asks whether the Q1 and Q3 shortfalls are linked to slower collections and late deliveries.