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.

**The month:** Revenue was $827K against a budget of $824K. Operating income was $8K against $13K, a shortfall of ($5K). Gross margin was 26.1% against 26.8%. The two lines driving the miss were cost of goods sold and other operating, each ($6K) off budget.

**Year to date:** The year to date confirms the weakness. Revenue was $11.2M against $11.6M, a shortfall of ($362K). Operating income was $388K against $583K. Lower cost of goods sold offset part of the revenue gap.

**KPIs:** Four are off target. Days sales outstanding (51.2 against 45.0) and on-time delivery (93.3% against 95.0%) have each missed for 3 months. Active customers (40 against 42) have missed for 2 months. Inventory turns (5.33 against 6.50) have missed for 1 month.

The file has the six required sections, and every figure is copied from the script's `display` block. The narrative gives no causes, because the data doesn't show any.