Network Events: from imported connection to refreshed caches

NetworkEventOrchestrationWorkflowProcessUserUpdateBatchWorkflow (Temporal)
1 · NEW CONNECTION + AFFECTED USERS You primary user Alice new connection (import) Bob via TEAM Carol via COMMUNITY Dana via DIRECT (knows you) 2 · GRAPH SERVICE — WORK OVERLAPS (SECOND DEGREE) Alice 🏢 Acme Corp · 2019–2022 Eve Frank Grace workWarmthTrigger(alice) — batches of 5, runs in graph service RUNS BEFORE any cache update 3 · POSTGRES — EVENT + PROPAGATED UPDATES network_events #4821 event_type: CONNECTIONS_ADDED person: you · metadata.newConnections: [alice] status: created propagated_updates #1 · Bob · via team created #2 · Carol · via community created #3 · Dana · via direct created → users already see these as “pending updates” in their UI 4 · TASK QUEUES primary-cache-updates secondary-cache-updates deferred (picked up by a later batch) determineDeferralStatus team → immediate community → defer direct → defer 5 · PROCESSUSERUPDATEBATCH (PER USER) workflowId: user-updates-{userId} · batches of 10 fetchPendingUpdates() processCacheUpdate() applyNetworkStatsDelta() updateEventStatusWithDiff() Bob's refreshed cache + Alice (1st degree) + Eve (work overlap) + Frank (work overlap) + Grace (work overlap) stats: before → after diff overlaps already in graph ✓