The December 2025 MBR deck is built: `output/IS_MBR_2025-12.pptx`. The script printed: "December 2025 deck: 6 slides, 58 figures, every one from a source."

The six slides are:
1. Title: December 2025 Monthly Business Review.
2. Headline: four bullets on revenue, operating income, gross margin and year-to-date revenue.
3. P&L vs budget: the five fixed rows.
4. KPI scorecard: all 8 KPIs in scorecard order.
5. Drivers: the three month line variances from the MBR (Other operating, Cost of goods sold, Technology).
6. Watch list: the four off-target KPIs (Days sales outstanding, On-time delivery percent, Active customers, Inventory turns).

The slide map is at `output/slide-map.json` and the script's check record is at `output/deck.json`. I wrote the slide map with a throwaway script and deleted it afterwards. My first attempt failed because it read raw fields instead of the `display` block. I fixed that before the deck script ran, so the deck script itself passed on the first run.