I've written the forwardable note and the bridge figures. The script reconciles FY2024 to FY2025 to the cent.

**Where the revenue went:** FY2025 revenue was $11.2M against $11.2M in FY2024, a change of ($5K), or (0.04%). Overall it was flat, but that hides large movements underneath.

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

- **Lost (4 customers, ($1.3M)):** Fenwick Legal ($686K) and Birchway Foods ($503K) account for most of it.
- **Shrank (11 customers, ($443K)):** Driftwood Media ($113K) and Juniper Schools ($107K) are the largest.
- **Grew (23 customers, $1.2M):** Harbor Freight Partners added $148K and Ember Analytics added $136K.
- **New (6 customers, $463K):** Thistle Gardens added $116K and Verdant Landscaping added $95K.
- **Timing ($53K):** Three customers have revenue that billing attributes to renewal-date shifts. The bridge pulls it out before judging each customer's movement.

The data doesn't say why the lost and shrinking customers left or cut back. The VP will probably ask, so the answer has to come from CRM or churn notes.

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