Remove Compass from the dashboard and API
Merged
EM
1d ago+34+34+01234567890123456789-13206-13206-01234567890123456789012345678901234567890123456789
Retires Compass: the insight feed, its detectors and the chat assistant.
What's removed
Server
polar/compass/andtests/compass/, plus the/v1/compassrouter (private endpoints, not in the public spec).- The
compass-assistantrate-limit rule. enqueue_track_compass_assistant_usage, so no new self-billing usage jobs are queued.- The
compass_enabledfeature flag:Organization.is_compass_enabled, theOrganizationFeatureSettingsfield, the seed value, and the property in the committeddocs/openapispecs.
Dashboard
components/Compass, the/compassroutes,hooks/queries/compass.tsanduseCompassAssistant.- The Home widget and box, the intro modal, and the Compass nav item.
- The split product navigation, which was gated on
compass_enabled. Every organization now gets the standard navigation. - The regenerated API client drops only the Compass schemas and paths.
Kept for one deploy
CompassThreadandCompassThreadMessagemodels. CI runsalembic check, which would flag the tables as drift without them.- The
polar_self.track_compass_assistant_usageactor and its client method, so jobs already queued still run.
A follow-up PR, stacked on this one and merged after this is deployed, drops the tables and removes the models, the actor and the stored compass_enabled values.
Notes
compass_enabledleaves the publicOrganizationFeatureSettingsresponse. It's a staff-managed flag.- The generated SDKs still list the field until the next
sdk[release]. - The "Cost insights" marketing pages, the Compass seed customers and ADR-0012's history are kept on purpose.
Testing
- Server:
task lint,task lint_types, and the rate limit,integrations/polar, organization and seed tests (1,079 passed). - Web:
pnpm lint,format:check,tsc, and the full vitest suite (1,188 passed).
š¤ Generated with Claude Code