An internal API has a sunset date, but nobody can name every consumer. Traffic remains after the deadline, exceptions have no owner, and the old service still requires on-call support. That is migration debt.
Use one ledger
consumer,monthly_calls,owner,migration_hours,exception_until,last_seen
billing-ui,120000,team-a,24,,2026-07-18
legacy-export,80,team-b,40,2026-08-15,2026-07-17






