fix(team): clarify teammate first-contact wording

This commit is contained in:
iliya 2026-04-07 10:59:39 +03:00
parent 3b0fe0bcbf
commit 7842b5a01f
3 changed files with 19 additions and 19 deletions

View file

@ -1751,9 +1751,9 @@ function buildGeminiPostLaunchHydrationPrompt(
: status?.launchState === 'confirmed_alive'
? 'bootstrap confirmed'
: status?.runtimeAlive
? 'runtime started, check-in pending'
? 'runtime started, first contact pending'
: status?.launchState === 'runtime_pending_bootstrap'
? 'spawn accepted, check-in pending'
? 'spawn accepted, first contact pending'
: 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 - check-in pending';
: 'duplicate spawn skipped - first contact pending';
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 check-in pending'
'respawn blocked as duplicate — teammate already alive or first contact pending'
);
continue;
}
@ -6376,13 +6376,13 @@ export class TeamProvisioningService {
launchSummary.runtimeAlivePendingCount > 0 &&
launchSummary.runtimeAlivePendingCount === run.expectedMembers.length;
return allRuntimeAlive
? `${prefix} — teammate runtimes online, waiting for check-ins`
? `${prefix} — teammate runtimes online, waiting for first contact`
: launchSummary.runtimeAlivePendingCount > 0
? `${prefix}${launchSummary.runtimeAlivePendingCount}/${run.expectedMembers.length} teammate runtime${launchSummary.runtimeAlivePendingCount === 1 ? '' : 's'} online${stillStartingCount > 0 ? `, ${stillStartingCount} still starting` : ''}, waiting for check-ins`
: `${prefix} — teammates are still starting, waiting for check-ins`;
? `${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`;
}
return `${prefix}${launchSummary.confirmedCount}/${run.expectedMembers.length} teammates checked in${launchSummary.runtimeAlivePendingCount > 0 ? `, ${launchSummary.runtimeAlivePendingCount} runtime${launchSummary.runtimeAlivePendingCount === 1 ? '' : 's'} waiting for check-in` : ''}${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'} waiting for first contact` : ''}${stillStartingCount > 0 ? `${launchSummary.runtimeAlivePendingCount > 0 ? ', ' : ', '}${stillStartingCount} still joining` : ''}`;
}
private buildRuntimeSpawnStatusRecord(

View file

@ -152,12 +152,12 @@ export const TeamProvisioningBanner = ({
: fallbackTeammateCount === 0
? 'Team provisioned — lead online'
: allTeammatesConfirmedAlive
? `Team provisioned — all ${fallbackTeammateCount} teammates checked in`
? `Team provisioned — all ${fallbackTeammateCount} teammates made contact`
: allPendingRuntimesStarted
? 'Team provisioned — teammate runtimes online, waiting for check-ins'
? 'Team provisioned — teammate runtimes online, waiting for first contact'
: processOnlyAliveCount > 0 || pendingSpawnCount > 0
? `Team provisioned — ${heartbeatConfirmedCount}/${fallbackTeammateCount} teammates checked in${processOnlyAliveCount > 0 ? `, ${processOnlyAliveCount} runtime${processOnlyAliveCount === 1 ? '' : 's'} online and waiting for check-in` : ''}${pendingSpawnCount > 0 ? `${processOnlyAliveCount > 0 ? ', ' : ', '}${pendingSpawnCount} still starting` : ''}`
: 'Team provisioned — teammate check-ins are still coming in';
? `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';
const readyDetailSeverity =
failedSpawnCount > 0 || processOnlyAliveCount > 0 || pendingSpawnCount > 0
? 'warning'
@ -168,12 +168,12 @@ export const TeamProvisioningBanner = ({
: fallbackTeammateCount === 0
? 'Team launched — lead online'
: allTeammatesConfirmedAlive
? `Team launched — all ${fallbackTeammateCount} teammates checked in`
? `Team launched — all ${fallbackTeammateCount} teammates made contact`
: allPendingRuntimesStarted
? 'Team launched — teammate runtimes online, waiting for check-ins'
? 'Team launched — teammate runtimes online, waiting for first contact'
: processOnlyAliveCount > 0 || pendingSpawnCount > 0
? `Team launched — ${heartbeatConfirmedCount}/${fallbackTeammateCount} teammates checked in${processOnlyAliveCount > 0 ? `, ${processOnlyAliveCount} runtime${processOnlyAliveCount === 1 ? '' : 's'} online and waiting for check-in` : ''}${pendingSpawnCount > 0 ? `${processOnlyAliveCount > 0 ? ', ' : ', '}${pendingSpawnCount} still starting` : ''}`
: 'Team launched — teammate check-ins are still coming in';
? `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';
return (
<div className="mb-3">

View file

@ -101,7 +101,7 @@ export const SPAWN_DOT_COLORS: Record<MemberSpawnStatus, string> = {
export const SPAWN_PRESENCE_LABELS: Record<MemberSpawnStatus, string> = {
offline: 'offline',
waiting: 'check-in pending',
waiting: 'first contact pending',
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 'check-in pending';
return 'first contact pending';
}
if (spawnStatus === 'waiting') {
return SPAWN_PRESENCE_LABELS.waiting;
}
if (spawnStatus === 'online' && livenessSource === 'process') {
return 'check-in pending';
return 'first contact pending';
}
if (spawnStatus && isTeamProvisioning) {
return SPAWN_PRESENCE_LABELS[spawnStatus];