diff --git a/src/main/services/team/TeamProvisioningService.ts b/src/main/services/team/TeamProvisioningService.ts index 726d410f..7de5c8c9 100644 --- a/src/main/services/team/TeamProvisioningService.ts +++ b/src/main/services/team/TeamProvisioningService.ts @@ -1751,9 +1751,9 @@ function buildGeminiPostLaunchHydrationPrompt( : status?.launchState === 'confirmed_alive' ? 'bootstrap confirmed' : status?.runtimeAlive - ? 'runtime started, first contact pending' + ? 'runtime online and ready for instructions' : status?.launchState === 'runtime_pending_bootstrap' - ? 'spawn accepted, first contact pending' + ? 'spawn accepted, runtime not confirmed yet' : status?.status === 'spawning' ? 'spawn in progress' : 'runtime state unclear'; @@ -3011,7 +3011,7 @@ export class TeamProvisioningService { const detail = parsedStatus.reason === 'already_running' ? 'duplicate spawn skipped - already running' - : 'duplicate spawn skipped - first contact pending'; + : 'duplicate spawn skipped - teammate already online'; this.appendMemberBootstrapDiagnostic(run, spawnedMemberName, detail); return; } @@ -6104,7 +6104,7 @@ export class TeamProvisioningService { this.appendMemberBootstrapDiagnostic( run, memberName, - 'respawn blocked as duplicate — teammate already alive or first contact pending' + 'respawn blocked as duplicate — teammate already online' ); continue; } @@ -6376,13 +6376,13 @@ export class TeamProvisioningService { launchSummary.runtimeAlivePendingCount > 0 && launchSummary.runtimeAlivePendingCount === run.expectedMembers.length; return allRuntimeAlive - ? `${prefix} — teammate runtimes online, waiting for first contact` + ? `${prefix} — teammate runtimes online` : launchSummary.runtimeAlivePendingCount > 0 - ? `${prefix} — ${launchSummary.runtimeAlivePendingCount}/${run.expectedMembers.length} teammate runtime${launchSummary.runtimeAlivePendingCount === 1 ? '' : 's'} online${stillStartingCount > 0 ? `, ${stillStartingCount} still starting` : ''}, waiting for first contact` - : `${prefix} — teammates are still starting, waiting for first contact`; + ? `${prefix} — ${launchSummary.runtimeAlivePendingCount}/${run.expectedMembers.length} teammate runtime${launchSummary.runtimeAlivePendingCount === 1 ? '' : 's'} online${stillStartingCount > 0 ? `, ${stillStartingCount} still starting` : ''}` + : `${prefix} — teammates are still starting`; } - return `${prefix} — ${launchSummary.confirmedCount}/${run.expectedMembers.length} teammates made contact${launchSummary.runtimeAlivePendingCount > 0 ? `, ${launchSummary.runtimeAlivePendingCount} runtime${launchSummary.runtimeAlivePendingCount === 1 ? '' : 's'} waiting for first contact` : ''}${stillStartingCount > 0 ? `${launchSummary.runtimeAlivePendingCount > 0 ? ', ' : ', '}${stillStartingCount} still joining` : ''}`; + return `${prefix} — ${launchSummary.confirmedCount}/${run.expectedMembers.length} teammates made contact${launchSummary.runtimeAlivePendingCount > 0 ? `, ${launchSummary.runtimeAlivePendingCount} runtime${launchSummary.runtimeAlivePendingCount === 1 ? '' : 's'} online` : ''}${stillStartingCount > 0 ? `${launchSummary.runtimeAlivePendingCount > 0 ? ', ' : ', '}${stillStartingCount} still joining` : ''}`; } private buildRuntimeSpawnStatusRecord( diff --git a/src/renderer/components/team/TeamProvisioningBanner.tsx b/src/renderer/components/team/TeamProvisioningBanner.tsx index cb2d12b1..9d0f9035 100644 --- a/src/renderer/components/team/TeamProvisioningBanner.tsx +++ b/src/renderer/components/team/TeamProvisioningBanner.tsx @@ -154,10 +154,10 @@ export const TeamProvisioningBanner = ({ : allTeammatesConfirmedAlive ? `Team provisioned — all ${fallbackTeammateCount} teammates made contact` : allPendingRuntimesStarted - ? 'Team provisioned — teammate runtimes online, waiting for first contact' + ? 'Team provisioned — teammate runtimes online' : processOnlyAliveCount > 0 || pendingSpawnCount > 0 - ? `Team provisioned — ${heartbeatConfirmedCount}/${fallbackTeammateCount} teammates made contact${processOnlyAliveCount > 0 ? `, ${processOnlyAliveCount} runtime${processOnlyAliveCount === 1 ? '' : 's'} online and waiting for first contact` : ''}${pendingSpawnCount > 0 ? `${processOnlyAliveCount > 0 ? ', ' : ', '}${pendingSpawnCount} still starting` : ''}` - : 'Team provisioned — teammate first contacts are still coming in'; + ? `Team provisioned — ${heartbeatConfirmedCount}/${fallbackTeammateCount} teammates made contact${processOnlyAliveCount > 0 ? `, ${processOnlyAliveCount} runtime${processOnlyAliveCount === 1 ? '' : 's'} online` : ''}${pendingSpawnCount > 0 ? `${processOnlyAliveCount > 0 ? ', ' : ', '}${pendingSpawnCount} still starting` : ''}` + : 'Team provisioned — teammate runtimes are still starting'; const readyDetailSeverity = failedSpawnCount > 0 || processOnlyAliveCount > 0 || pendingSpawnCount > 0 ? 'warning' @@ -170,10 +170,10 @@ export const TeamProvisioningBanner = ({ : allTeammatesConfirmedAlive ? `Team launched — all ${fallbackTeammateCount} teammates made contact` : allPendingRuntimesStarted - ? 'Team launched — teammate runtimes online, waiting for first contact' + ? 'Team launched — teammate runtimes online' : processOnlyAliveCount > 0 || pendingSpawnCount > 0 - ? `Team launched — ${heartbeatConfirmedCount}/${fallbackTeammateCount} teammates made contact${processOnlyAliveCount > 0 ? `, ${processOnlyAliveCount} runtime${processOnlyAliveCount === 1 ? '' : 's'} online and waiting for first contact` : ''}${pendingSpawnCount > 0 ? `${processOnlyAliveCount > 0 ? ', ' : ', '}${pendingSpawnCount} still starting` : ''}` - : 'Team launched — teammate first contacts are still coming in'; + ? `Team launched — ${heartbeatConfirmedCount}/${fallbackTeammateCount} teammates made contact${processOnlyAliveCount > 0 ? `, ${processOnlyAliveCount} runtime${processOnlyAliveCount === 1 ? '' : 's'} online` : ''}${pendingSpawnCount > 0 ? `${processOnlyAliveCount > 0 ? ', ' : ', '}${pendingSpawnCount} still starting` : ''}` + : 'Team launched — teammate runtimes are still starting'; return (
diff --git a/src/renderer/utils/memberHelpers.ts b/src/renderer/utils/memberHelpers.ts index c37b87aa..830d960d 100644 --- a/src/renderer/utils/memberHelpers.ts +++ b/src/renderer/utils/memberHelpers.ts @@ -101,7 +101,7 @@ export const SPAWN_DOT_COLORS: Record = { export const SPAWN_PRESENCE_LABELS: Record = { offline: 'offline', - waiting: 'first contact pending', + waiting: 'online', spawning: 'starting', online: 'ready', error: 'spawn failed', @@ -160,13 +160,13 @@ export function getSpawnAwarePresenceLabel( return 'waiting for Agent'; } if (spawnLaunchState === 'runtime_pending_bootstrap' && runtimeAlive) { - return 'first contact pending'; + return 'online'; } if (spawnStatus === 'waiting') { return SPAWN_PRESENCE_LABELS.waiting; } if (spawnStatus === 'online' && livenessSource === 'process') { - return 'first contact pending'; + return 'online'; } if (spawnStatus && isTeamProvisioning) { return SPAWN_PRESENCE_LABELS[spawnStatus];