The one-page brief is in `output/exec-summary.md` at 344 words. Revenue and profit both fell short of budget in FY2025.

**Headline:** FY2025 revenue was $11,238K against a budget of $11,600K, and operating income was $388K against $583K. That leaves operating income ($195K), or (33.5%), under budget.

| Measure | Actual | Budget | Variance |
| :--- | ---: | ---: | ---: |
| Revenue | $11,238K | $11,600K | ($362K) |
| Gross profit | $2,914K | $3,109K | ($194K) |
| Gross margin | 25.9% | 26.8% | (0.9) pts |
| Operating expenses | $2,527K | $2,526K | ($1K) |
| **Operating income** | **$388K** | **$583K** | **($195K)** |

- **Revenue misses came in two quarters:** Q1 was ($121K) and Q3 was ($229K) under budget. Q2 and Q4 were within ($7K) of budget.
- **Costs:** Cost of goods sold came in $196K under budget, which recovered part of the revenue miss but not enough to hold gross margin. Salaries and wages ran ($38K) over budget, and savings elsewhere left total operating expenses on budget.
- **Watch list:**
  - Days sales outstanding was 51.2 against a target of 45.0.
  - On-time delivery was 93.3% against 95.0%.
  - Both have been off target for 3 months.
  - Active customers were 40 against 42, off target for 2 months.
  - The brief asks whether these are linked to the revenue misses. The data doesn't show a cause.

The figures come from the reporting script's output (`output/summary.json`). Its checks passed: the quarters add up to the year's revenue, operating income rebuilds from the line items, and the revenue KPI matches the P&L. Each amount is rounded separately, so a few rows don't add up exactly as shown. The brief's data notes say this.