I wrote the December 2025 narrative to `output/mbr-narrative.md`. The script's figures are in `output/mbr.json`. The script's reconciliation checks passed, and every figure in the narrative is copied from its `display` strings.

- **Month:** Revenue was $827K against a budget of $824K, but operating income was $8K against $13K. Gross margin was 26.1% against 26.8%.
- **Year to date:** Revenue was $11.2M against $11.6M, a shortfall of ($362K). Operating income was $388K against $583K.
- **Drivers:**
  - In the month, "Other operating" and "Cost of goods sold" were each ($6K) unfavourable.
  - Year to date, the revenue shortfall was partly offset by a $196K favourable "Cost of goods sold" line.
- **KPIs off target:**
  - Days sales outstanding and on-time delivery have each missed target for 3 months.
  - Active customers have missed for 2 months, and inventory turns for 1.

The narrative follows the six-section contract in the skill.