I've built the FY2025 revenue bridge and written the commentary note. Revenue was flat: $11.2M in FY2025 against $11.2M in FY2024, a change of ($5K), or (0.04%). The bridge script's own check confirmed the steps add up exactly to FY2025 revenue.

| Step | Amount |
| --- | --- |
| FY2024 | $11.2M |
| Timing | $53K |
| Loss | ($1.3M) |
| Decline | ($443K) |
| Upsell | $1.2M |
| New | $463K |
| FY2025 | $11.2M |

The flat total hides large movements in both directions:
- **Lost customers:** 4 customers were lost, costing ($1.3M). Fenwick Legal accounted for ($686K) and Birchway Foods for ($503K).
- **Upsell:** 23 customers spent more, adding $1.2M. Harbor Freight Partners added the most, $148K.
- **New customers:** 6 new customers added $463K, led by Thistle Gardens at $116K.
- **Declines:** 11 customers spent less, a total of ($443K). Driftwood Media fell the most, by ($113K).
- **Timing:** $53K across 3 customers came from renewal dates shifting into FY2025, not from changes in what they bought.

The data shows which customers moved but not why. Finding out why Fenwick Legal and Birchway Foods left would need churn or CRM records.

Files are in `output/`:
- bridge-note.md
- bridge.json