<observations>
Date: April 29, 2026
* 🟡 (15:11) User noticed plan ordering is garbled in `stripe projects catalog sentry` output: shows Free, Business, Team instead of correct order Free → Team → Business
* 🔴 (15:11) User stated the natural plan order should be: Free → Team → Business (Developer → Team → Business)
* 🟡 (15:11) Agent ran `stripe projects catalog sentry` and confirmed display order is wrong: developer, business, team
* 🟡 (15:12) Agent found `_STRIPE_PROJECTS_PLANS` in getsentry is sorted by price (`key=lambda p: p.price`): developer ($0), team ($29), business ($89) — sort logic is correct
* 🟡 (15:12) Plan prices come from CSV parsing: `am3_team_pricing` and `am3_business_pricing` in `getsentry/billing/plans/csvs/parser.py`
* 🟡 (15:13) `SERVICES` list construction confirmed correct: iterates `_STRIPE_PROJECTS_PLANS` (sorted by price) then appends `_DEPLOYABLE_SERVICES`
* 🟡 (15:13) Agent verified Sentry's raw API response returns correct order: developer → team → business → project → seer
* 🟡 (15:13) Root cause identified: Stripe CLI re-sorts plan names alphabetically within each `kind` section — `business` < `developer` < `team` alphabetically — not respecting provider's API response order
* 🟡 (15:14) Agent checked Stripe Projects spec for ordering fields — none exists. Available service fields: `categories`, `group` (optional), `kind`, `configuration_schema`, `kyc`, `scope`, `pricing` — no display-order or sort-hint field
* 🟡 (15:14) Agent concluded this is a Stripe CLI display limitation, not fixable on Sentry's side without renaming service IDs (which would break existing resources). Suggested flagging to Stripe contact.
</observations>