feat(enterprise) trial onboarding wizard#4266
Conversation
…on row is returned before a healthy row.
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (232 files)
Previous Review Summary (commit 4933196)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 4933196)Status: No Issues Found | Recommendation: Merge Files Reviewed (37 files)
Reviewed by gpt-5.4-2026-03-05 · Input: 154.9K · Output: 23K · Cached: 1.3M Review guidance: REVIEW.md from base branch |
|
High: Degraded GitHub installations lose recovery controls. github-apps-router.ts:107 now defines installed as fully healthy. Suspended or auth-invalid installations render as “Not installed,” hiding Refresh Permissions and Uninstall. Installation presence and health should be separate states. High: Display and mutation paths can select different installations. github-apps-service.ts:58 prefers the newest healthy row, while refresh and uninstall still use unordered lookups. With multiple GitHub rows, the UI may display one installation but mutate another, then delete all local rows. |
| export async function getOrganizationOnboardingState( | ||
| organizationId: string | ||
| ): Promise<OrganizationOnboardingState> { | ||
| const result = await db.execute(sql` |
There was a problem hiding this comment.
The SQL is massive. Isn't that really fragile?
There was a problem hiding this comment.
ya. good call. Good reason to revisit the complexity
Summary
Replaces the organization welcome page with a guided setup wizard for new Enterprise trial organizations. The wizard guides owners and billing managers through GitHub connection, Code Reviewer enablement, and team invitations, then presents credit-aware next actions and the settings applied during organization creation.
The change also centralizes Code Reviewer defaults and integration health checks so onboarding, integration status, and Code Reviewer settings use the same persisted state.
Verification
Visual Changes
Screenshots are not included.
Reviewer Notes