diff --git a/apps/app/src/app/(app)/[orgId]/components/OnboardingTracker.tsx b/apps/app/src/app/(app)/[orgId]/components/OnboardingTracker.tsx
index 207b78a8ae..ba9b358f70 100644
--- a/apps/app/src/app/(app)/[orgId]/components/OnboardingTracker.tsx
+++ b/apps/app/src/app/(app)/[orgId]/components/OnboardingTracker.tsx
@@ -525,6 +525,9 @@ export const OnboardingTracker = ({ onboarding }: { onboarding: Onboarding }) =>
{/* Step progress - scrollable */}
{ONBOARDING_STEPS.map((step) => {
+ if (step.key === 'vendorMitigations' && !stepStatus.vendors) return null;
+ if (step.key === 'riskMitigations' && !stepStatus.risk) return null;
+
const isCurrent = currentStep?.key === step.key;
const isCompleted = stepStatus[step.key as keyof typeof stepStatus] === true;
@@ -666,15 +669,18 @@ export const OnboardingTracker = ({ onboarding }: { onboarding: Onboarding }) =>
}
// Simple step row (creation, linkage)
- const count = step.key === 'vendors' ? uniqueVendorsCounts.total
+ const total = step.key === 'vendors' ? uniqueVendorsCounts.total
: step.key === 'risk' ? stepStatus.risksTotal
: null;
+ const created = step.key === 'vendors' && stepStatus.vendors ? uniqueVendorsCounts.total
+ : step.key === 'risk' && stepStatus.risk ? stepStatus.risksTotal
+ : 0;
return (
{stepIcon}
{step.label}
- {count !== null && count > 0 && (
- {count}
+ {total !== null && total > 0 && (
+ {created}/{total}
)}
);
diff --git a/apps/app/src/lib/rerank-suggestions.ts b/apps/app/src/lib/rerank-suggestions.ts
index 1dad5df7c6..f9cd37692c 100644
--- a/apps/app/src/lib/rerank-suggestions.ts
+++ b/apps/app/src/lib/rerank-suggestions.ts
@@ -113,6 +113,7 @@ export async function rerankSuggestions({
system: SYSTEM_PROMPT,
prompt: userPrompt,
schema: rerankSchema,
+ abortSignal: AbortSignal.timeout(30_000),
});
const scoreMap = new Map(
diff --git a/apps/app/src/trigger/tasks/onboarding/onboard-organization.ts b/apps/app/src/trigger/tasks/onboarding/onboard-organization.ts
index e9d6978964..690b26c543 100644
--- a/apps/app/src/trigger/tasks/onboarding/onboard-organization.ts
+++ b/apps/app/src/trigger/tasks/onboarding/onboard-organization.ts
@@ -151,6 +151,13 @@ export const onboardOrganization = task({
payload.organizationId,
organization.name,
);
+ metadata.set('risksTotal', created.length);
+ metadata.set('risksCompleted', 0);
+ metadata.set('risksRemaining', created.length);
+ metadata.set(
+ 'risksInfo',
+ created.map((r) => ({ id: r.id, name: r.description?.slice(0, 80) ?? r.id })),
+ );
if (created.length > 0) {
created.forEach((risk) => {
metadata.set(`risk_${risk.id}_status`, 'assessing');