I wrote the December 2025 narrative to `output/mbr-narrative.md`, and the script's figures are in `output/mbr.json`. The script ran cleanly and its reconciliation checks passed. Every figure in the narrative is copied from the script's output, not calculated by me.

- **December:** Revenue was $827K against a $824K budget. Operating income was $8K against $13K, a variance of ($5K), because gross margin came in at 26.1% against 26.8%.
- **Year to date:** Revenue was $11.2M against $11.6M, a variance of ($362K). Operating income was $388K against $583K, so the year to date confirms the December margin pressure.
- **Drivers:**
  - Other operating and cost of goods sold were each ($6K) unfavourable in the month.
  - Year to date, the revenue shortfall was partly offset by cost of goods sold running $196K favourable.
- **KPIs:** Four of the eight were off target.
  - Days sales outstanding and on-time delivery have missed target for 3 months.
  - Active customers has missed for 2 months and inventory turns for 1.
- **Not explained:** The data doesn't show why revenue fell short. The narrative says customer-level sales against budget would answer that.