Opus finding
Onboarder error path stamps onboarderResult with zeros but reported as `onboarder` in success response — masks partial failure to API consumers
lowapi-contracthigh
- apps/web/app/api/cron/sweep/route.ts:56-75
If runDailyOnboarderCheckIns throws, the JSON response includes onboarder: {attempted:0, posted:0, skipped:0, errors:0}, which is indistinguishable from a successful no-op run. Consumers (dashboards, alerts) parsing the response can't tell that the onboarder failed entirely vs ran with nothing to do. Logged but not surfaced in the structured response.
Recommendation
Add an `ok: boolean` or `error: string | null` field to onboarderResult on the catch path so the response distinguishes the two cases.