agent-embassy 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/CONTRIBUTING.md +25 -9
  3. package/README.md +39 -15
  4. package/README.zh-CN.md +34 -13
  5. package/SECURITY.md +13 -7
  6. package/dist/src/gateway/claude-helper-protocol.d.ts +1 -0
  7. package/dist/src/gateway/claude-helper-protocol.js +4 -2
  8. package/dist/src/gateway/claude-helper-protocol.js.map +1 -1
  9. package/dist/src/gateway/claude-helper-supervisor.d.ts +1 -0
  10. package/dist/src/gateway/claude-helper-supervisor.js +3 -0
  11. package/dist/src/gateway/claude-helper-supervisor.js.map +1 -1
  12. package/dist/src/gateway/cli-copy.d.ts +1 -1
  13. package/dist/src/gateway/cli-copy.en.d.ts +3 -2
  14. package/dist/src/gateway/cli-copy.en.js +3 -1
  15. package/dist/src/gateway/cli-copy.en.js.map +1 -1
  16. package/dist/src/gateway/cli-copy.js +1 -0
  17. package/dist/src/gateway/cli-copy.js.map +1 -1
  18. package/dist/src/gateway/cli-copy.zh-CN.d.ts +3 -2
  19. package/dist/src/gateway/cli-copy.zh-CN.js +3 -1
  20. package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -1
  21. package/dist/src/gateway/cli.d.ts +1 -1
  22. package/dist/src/gateway/cli.js +12 -1
  23. package/dist/src/gateway/cli.js.map +1 -1
  24. package/dist/src/gateway/codex-app-server.d.ts +1 -1
  25. package/dist/src/gateway/codex-app-server.js +32 -11
  26. package/dist/src/gateway/codex-app-server.js.map +1 -1
  27. package/dist/src/gateway/config.d.ts +1 -1
  28. package/dist/src/gateway/control.d.ts +1 -1
  29. package/dist/src/gateway/control.js +5 -3
  30. package/dist/src/gateway/control.js.map +1 -1
  31. package/dist/src/gateway/dashboard-copy.d.ts +1 -1
  32. package/dist/src/gateway/dashboard-copy.en.d.ts +15 -1
  33. package/dist/src/gateway/dashboard-copy.en.js +25 -11
  34. package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
  35. package/dist/src/gateway/dashboard-copy.js +15 -1
  36. package/dist/src/gateway/dashboard-copy.js.map +1 -1
  37. package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +15 -1
  38. package/dist/src/gateway/dashboard-copy.zh-CN.js +25 -11
  39. package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
  40. package/dist/src/gateway/dashboard-model.d.ts +2 -3
  41. package/dist/src/gateway/dashboard-model.js +118 -30
  42. package/dist/src/gateway/dashboard-model.js.map +1 -1
  43. package/dist/src/gateway/dashboard.js +22 -9
  44. package/dist/src/gateway/dashboard.js.map +1 -1
  45. package/dist/src/gateway/instance-lease.d.ts +2 -3
  46. package/dist/src/gateway/instance-lease.js +17 -140
  47. package/dist/src/gateway/instance-lease.js.map +1 -1
  48. package/dist/src/gateway/live-dashboard-app/app.js +45 -18
  49. package/dist/src/gateway/live-dashboard-http.js +1 -1
  50. package/dist/src/gateway/live-dashboard-http.js.map +1 -1
  51. package/dist/src/gateway/progress-watch-machine.d.ts +6 -5
  52. package/dist/src/gateway/progress-watch-machine.js +6 -6
  53. package/dist/src/gateway/progress-watch-machine.js.map +1 -1
  54. package/dist/src/gateway/provenance-envelope.d.ts +1 -0
  55. package/dist/src/gateway/provenance-envelope.js +10 -3
  56. package/dist/src/gateway/provenance-envelope.js.map +1 -1
  57. package/dist/src/gateway/providers.d.ts +1 -0
  58. package/dist/src/gateway/providers.js +6 -0
  59. package/dist/src/gateway/providers.js.map +1 -1
  60. package/dist/src/gateway/service.d.ts +2 -0
  61. package/dist/src/gateway/service.js +25 -8
  62. package/dist/src/gateway/service.js.map +1 -1
  63. package/dist/src/gateway/store.d.ts +9 -21
  64. package/dist/src/gateway/store.js +284 -122
  65. package/dist/src/gateway/store.js.map +1 -1
  66. package/dist/src/gateway/types.d.ts +1 -2
  67. package/dist/src/gateway/types.js.map +1 -1
  68. package/docs/CONFIGURATION.md +102 -0
  69. package/docs/CONFIGURATION.zh-CN.md +72 -0
  70. package/docs/DASHBOARD.md +103 -0
  71. package/docs/DASHBOARD.zh-CN.md +47 -0
  72. package/docs/DELIVERY.md +84 -0
  73. package/docs/DELIVERY.zh-CN.md +53 -0
  74. package/docs/GATEWAY-ARCHITECTURE.md +177 -93
  75. package/package.json +8 -4
@@ -32,7 +32,7 @@ export type DashboardAttentionItem = Readonly<{
32
32
  provider?: GatewayProvider | undefined;
33
33
  alias?: string | undefined;
34
34
  host?: string | undefined;
35
- guidance: "reobserve_claude" | "reobserve_codex" | "claude_not_observed" | "codex_stale" | "connector_offline" | "route_stale" | "queue_stalled" | "recipient_waiting_input" | "unconfirmed" | "degraded" | "codex_succession_busy" | "codex_succession_recovery" | "progress_watch" | "generic";
35
+ guidance: "reobserve_claude" | "reobserve_codex" | "codex_reactivation_required" | "consent_edge_unavailable" | "claude_not_observed" | "codex_stale" | "connector_offline" | "route_stale" | "queue_stalled" | "recipient_waiting_input" | "unconfirmed" | "degraded" | "codex_succession_busy" | "codex_succession_recovery" | "progress_watch" | "generic";
36
36
  }>;
37
37
  export type DashboardProgressWatchRow = Readonly<{
38
38
  conversationIdSuffix: string;
@@ -46,7 +46,6 @@ export type DashboardProgressWatchRow = Readonly<{
46
46
  idleForMs: number;
47
47
  dueInMs: number;
48
48
  nudgeCount: 0 | 1 | 2;
49
- workerReportedComplete: boolean;
50
49
  }>;
51
50
  export type DashboardProgressWatchEventRow = Readonly<{
52
51
  sequence: number;
@@ -54,7 +53,7 @@ export type DashboardProgressWatchEventRow = Readonly<{
54
53
  conversationIdSuffix: string;
55
54
  ownerAlias: string;
56
55
  workerAlias: string;
57
- kind: "opened" | "nudge" | "worker_reported_complete" | "capability_degraded" | "done" | "unresponsive" | "endpoint_retired" | "disabled";
56
+ kind: "opened" | "nudge" | "worker_reported_complete" | "capability_degraded" | "conversation_rebound" | "replaced" | "done" | "unresponsive" | "endpoint_retired" | "pair_removed" | "disabled";
58
57
  nudgeNumber?: 1 | 2 | undefined;
59
58
  }>;
60
59
  export type DashboardMessageEvent = Readonly<{
@@ -126,6 +126,11 @@ function guidanceFor(code, provider) {
126
126
  if (code?.startsWith("CODEX_SUCCESSION_") === true) {
127
127
  return "codex_succession_recovery";
128
128
  }
129
+ if (provider === "codex" &&
130
+ (code === "REOBSERVATION_REQUIRED" ||
131
+ code === "CODEX_BOOT_REACTIVATION_SKIPPED")) {
132
+ return "codex_reactivation_required";
133
+ }
129
134
  switch (code) {
130
135
  case "REOBSERVATION_REQUIRED":
131
136
  return provider === "claude" ? "reobserve_claude" : "reobserve_codex";
@@ -150,6 +155,50 @@ function guidanceFor(code, provider) {
150
155
  return "generic";
151
156
  }
152
157
  }
158
+ function isCodexReactivationCondition(item) {
159
+ return (item.provider === "codex" &&
160
+ (item.code === "REOBSERVATION_REQUIRED" ||
161
+ item.code === "CODEX_BOOT_REACTIVATION_SKIPPED"));
162
+ }
163
+ function coalesceCodexReactivationAlerts(alerts, routes) {
164
+ const staleCodexScopes = new Set(routes
165
+ .filter((route) => route.provider === "codex" && route.state === "stale")
166
+ .map((route) => `${route.alias}\0${route.host}`));
167
+ const coalesced = [];
168
+ for (const alert of alerts) {
169
+ if (!isCodexReactivationCondition(alert)) {
170
+ coalesced.push(alert);
171
+ continue;
172
+ }
173
+ if (alert.alias === undefined || alert.host === undefined)
174
+ continue;
175
+ const scope = `${alert.alias}\0${alert.host}`;
176
+ if (!staleCodexScopes.has(scope))
177
+ continue;
178
+ const existingIndex = coalesced.findIndex((candidate) => isCodexReactivationCondition(candidate) &&
179
+ candidate.alias === alert.alias &&
180
+ candidate.host === alert.host);
181
+ if (existingIndex === -1) {
182
+ coalesced.push(alert);
183
+ continue;
184
+ }
185
+ const existing = coalesced[existingIndex];
186
+ const bootSkipped = alert.code === "CODEX_BOOT_REACTIVATION_SKIPPED"
187
+ ? alert
188
+ : existing.code === "CODEX_BOOT_REACTIVATION_SKIPPED"
189
+ ? existing
190
+ : alert;
191
+ const timestamp = compareText(alert.timestamp ?? "", existing.timestamp ?? "") >= 0 ? alert.timestamp : existing.timestamp;
192
+ coalesced[existingIndex] = {
193
+ ...bootSkipped,
194
+ severity: alertPriority(alert.severity) < alertPriority(existing.severity)
195
+ ? alert.severity
196
+ : existing.severity,
197
+ ...(timestamp === undefined ? {} : { timestamp }),
198
+ };
199
+ }
200
+ return coalesced;
201
+ }
153
202
  function recipientIsUnobserved(route) {
154
203
  return (route.provider === "claude" &&
155
204
  (route.safeErrorCode === "CLAUDE_PEER_NOT_OBSERVED" ||
@@ -394,7 +443,6 @@ export function buildDashboardViewModel(snapshot) {
394
443
  idleForMs: Math.max(0, generatedAtMs - Date.parse(lastActivityAt)),
395
444
  dueInMs: Math.max(0, Date.parse(nextActionAt) - generatedAtMs),
396
445
  nudgeCount: watch.nudgeCount,
397
- workerReportedComplete: Boolean(watch.workerReportedComplete),
398
446
  },
399
447
  ];
400
448
  })
@@ -476,37 +524,46 @@ export function buildDashboardViewModel(snapshot) {
476
524
  const readyClaude = claudeRoutes.filter(routeIsReady).length;
477
525
  const readyCodex = codexRoutes.filter(routeIsReady).length;
478
526
  const readyPairs = allPairs.filter((pair) => pair.state === "ready");
479
- const pairedReadyClaude = new Set(readyPairs.map((pair) => pair.claudeAlias));
480
- const pairedReadyCodex = new Set(readyPairs.map((pair) => pair.codexAlias));
527
+ const pairedClaude = new Set(allPairs.map((pair) => pair.claudeAlias));
528
+ const pairedCodex = new Set(allPairs.map((pair) => pair.codexAlias));
529
+ const readyPairedClaude = claudeRoutes.some((route) => routeIsReady(route) && pairedClaude.has(route.alias));
530
+ const readyPairedCodex = codexRoutes.some((route) => routeIsReady(route) && pairedCodex.has(route.alias));
531
+ const pairCountIsLowerBound = (normalizedInteger(snapshot.truncation.pairs) ?? 0) > 0;
532
+ const hasPairEvidence = allPairs.length > 0 || pairCountIsLowerBound;
481
533
  const graph = {
482
534
  pairCount: allPairs.length,
483
535
  readyPairCount: readyPairs.length,
484
- pairCountIsLowerBound: (normalizedInteger(snapshot.truncation.pairs) ?? 0) > 0,
485
- unpairedReadyClaude: claudeRoutes.filter((route) => routeIsReady(route) && !pairedReadyClaude.has(route.alias)).length,
486
- unpairedReadyCodex: codexRoutes.filter((route) => routeIsReady(route) && !pairedReadyCodex.has(route.alias)).length,
536
+ pairCountIsLowerBound,
537
+ unpairedReadyClaude: claudeRoutes.filter((route) => routeIsReady(route) && !pairedClaude.has(route.alias)).length,
538
+ unpairedReadyCodex: codexRoutes.filter((route) => routeIsReady(route) && !pairedCodex.has(route.alias)).length,
487
539
  };
488
540
  const selectedPeers = validPeers.filter((peer) => peer.selected && peerIsSelectable(peer));
489
541
  const selectablePeers = validPeers.filter(peerIsSelectable);
490
542
  const selectedClaudeCount = Math.max(selectedPeers.length, readyClaude);
491
543
  const claudeStatus = partyStatus(claudeRoutes, readyClaude);
492
544
  const codexStatus = partyStatus(codexRoutes, readyCodex);
493
- const claudeNextAction = graph.readyPairCount > 0 && selectedClaudeCount > 0 && readyClaude > 0
545
+ const claudeNextAction = selectedClaudeCount > 0 &&
546
+ (readyPairedClaude || (pairCountIsLowerBound && readyClaude > 0))
494
547
  ? "none"
495
- : validPeers.length === 0
496
- ? "discover_claude"
497
- : selectablePeers.length > 0
498
- ? "pair_routes"
499
- : selectedPeers.length > 0
500
- ? "restore_claude"
501
- : "repair_claude_inventory";
502
- const codexNextAction = codexRoutes.length === 0
503
- ? "register_codex"
504
- : readyCodex === 0
505
- ? "restore_codex"
506
- : graph.readyPairCount === 0
507
- ? "pair_routes"
508
- : "none";
509
- const explicitAlerts = snapshot.alerts
548
+ : readyClaude > 0
549
+ ? "pair_routes"
550
+ : validPeers.length === 0
551
+ ? "discover_claude"
552
+ : selectablePeers.length > 0
553
+ ? !hasPairEvidence
554
+ ? "pair_routes"
555
+ : "restore_claude"
556
+ : selectedPeers.length > 0
557
+ ? "restore_claude"
558
+ : "repair_claude_inventory";
559
+ const codexNextAction = readyPairedCodex || (pairCountIsLowerBound && readyCodex > 0)
560
+ ? "none"
561
+ : readyCodex > 0
562
+ ? "pair_routes"
563
+ : codexRoutes.length === 0
564
+ ? "register_codex"
565
+ : "restore_codex";
566
+ const explicitAlerts = coalesceCodexReactivationAlerts(snapshot.alerts
510
567
  .filter((alert) => alert.code !== "COMPATIBILITY_CERTIFICATION_FAILED")
511
568
  .map((alert) => {
512
569
  const code = safeCode(alert.code);
@@ -527,13 +584,38 @@ export function buildDashboardViewModel(snapshot) {
527
584
  ...(typeof alert.alias === "string"
528
585
  ? { alias: boundedText(alert.alias) }
529
586
  : {}),
530
- ...(typeof alert.host === "string" ? { host: boundedText(alert.host) } : {}),
587
+ ...(typeof alert.host === "string"
588
+ ? { host: boundedText(alert.host) }
589
+ : {}),
531
590
  guidance: guidanceFor(code, alert.provider),
532
591
  };
533
- })
534
- .sort((left, right) => alertPriority(left.severity) - alertPriority(right.severity) ||
592
+ }), allRoutes).sort((left, right) => alertPriority(left.severity) - alertPriority(right.severity) ||
535
593
  compareText(right.timestamp ?? "", left.timestamp ?? ""));
536
594
  const attentionCandidates = [...explicitAlerts];
595
+ const unavailableConsentEdgeScopes = new Set();
596
+ for (const pair of allPairs) {
597
+ if (pair.state !== "unavailable")
598
+ continue;
599
+ for (const endpoint of [
600
+ { provider: "claude", alias: pair.claudeAlias },
601
+ { provider: "codex", alias: pair.codexAlias },
602
+ ]) {
603
+ if (routeByAlias.has(endpoint.alias))
604
+ continue;
605
+ const scope = `${endpoint.provider}\0${endpoint.alias}\0${pair.host}`;
606
+ if (unavailableConsentEdgeScopes.has(scope))
607
+ continue;
608
+ unavailableConsentEdgeScopes.add(scope);
609
+ attentionCandidates.push({
610
+ kind: "route",
611
+ severity: "warning",
612
+ provider: endpoint.provider,
613
+ alias: endpoint.alias,
614
+ host: pair.host,
615
+ guidance: "consent_edge_unavailable",
616
+ });
617
+ }
618
+ }
537
619
  for (const route of allRoutes) {
538
620
  const writes = messages.groups.filter(({ direction, targetAlias, state, timestamp }) => direction === "codex_to_claude" &&
539
621
  targetAlias === route.alias && state === "delivered" &&
@@ -598,9 +680,13 @@ export function buildDashboardViewModel(snapshot) {
598
680
  provider: route.provider,
599
681
  alias: route.alias,
600
682
  host: route.host,
601
- guidance: route.provider === "codex" && route.state === "stale"
602
- ? "codex_stale"
603
- : "route_stale",
683
+ guidance: route.provider === "codex" &&
684
+ route.state === "stale" &&
685
+ route.safeErrorCode === "REOBSERVATION_REQUIRED"
686
+ ? "codex_reactivation_required"
687
+ : route.provider === "codex" && route.state === "stale"
688
+ ? "codex_stale"
689
+ : "route_stale",
604
690
  });
605
691
  representedScopes.add(scope);
606
692
  }
@@ -638,9 +724,11 @@ export function buildDashboardViewModel(snapshot) {
638
724
  });
639
725
  }
640
726
  const attention = attentionCandidates.slice(0, DASHBOARD_MODEL_LIMITS.alerts);
641
- const setupComplete = graph.readyPairCount > 0;
727
+ const setupComplete = hasPairEvidence;
728
+ const hasDegradedPair = allPairs.some((pair) => pair.state !== "ready");
642
729
  const overall = attentionCandidates.length > 0 ||
643
- (normalizedInteger(snapshot.truncation.alerts) ?? 0) > 0
730
+ (normalizedInteger(snapshot.truncation.alerts) ?? 0) > 0 ||
731
+ hasDegradedPair
644
732
  ? "attention"
645
733
  : setupComplete
646
734
  ? "ready"
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-model.js","sourceRoot":"","sources":["../../../src/gateway/dashboard-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-model.js","sourceRoot":"","sources":["../../../src/gateway/dashboard-model.ts"],"names":[],"mappings":"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"}
@@ -257,15 +257,19 @@ function renderParty(context, party) {
257
257
  }
258
258
  function renderPairGraph(context) {
259
259
  const graph = context.model.graph;
260
+ const locallyOmittedPairs = Math.max(0, graph.pairCount - context.model.pairs.length);
261
+ const upstreamOmittedPairs = Math.max(0, context.model.omissions.pairs - locallyOmittedPairs);
262
+ const knownPairCount = graph.pairCount + upstreamOmittedPairs;
260
263
  const summary = t(context, "app.routes.pairSummary", {
261
264
  ready: renderCount(context, graph.readyPairCount, graph.pairCountIsLowerBound),
262
- total: renderCount(context, graph.pairCount, graph.pairCountIsLowerBound),
265
+ total: renderCount(context, knownPairCount, graph.pairCountIsLowerBound),
263
266
  });
264
267
  const unpaired = t(context, "app.routes.unpairedSummary", {
265
268
  claude: String(graph.unpairedReadyClaude),
266
269
  codex: String(graph.unpairedReadyCodex),
267
270
  });
268
- const rows = context.model.pairs.length === 0
271
+ const hasPairEvidence = graph.pairCount > 0 || graph.pairCountIsLowerBound;
272
+ const rows = context.model.pairs.length === 0 && !hasPairEvidence
269
273
  ? `<p class="quiet">${t(context, "app.routes.noPairInline")}</p>`
270
274
  : `<ul class="pair-list">${context.model.pairs.map((pair) => {
271
275
  const label = t(context, "app.routes.pairDescription", {
@@ -274,15 +278,18 @@ function renderPairGraph(context) {
274
278
  });
275
279
  const stateLabel = pair.state === "ready"
276
280
  ? t(context, "status.ready")
277
- : pair.state === "degraded"
278
- ? t(context, "status.attention")
279
- : t(context, "status.missing");
281
+ : t(context, pair.state === "degraded"
282
+ ? "app.routes.pairState.degraded"
283
+ : "app.routes.pairState.unavailable");
280
284
  const tone = pair.state === "ready"
281
285
  ? "good"
282
286
  : pair.state === "degraded"
283
287
  ? "warning"
284
288
  : "danger";
285
- return `<li><span>${label}</span>${statusPill(stateLabel, tone)}</li>`;
289
+ const reason = pair.state === "ready"
290
+ ? ""
291
+ : `<small>${t(context, pair.state === "degraded" ? "app.routes.pairDegradedReason" : "app.routes.pairUnavailableReason")}</small>`;
292
+ return `<li><span>${label}${reason}</span>${statusPill(stateLabel, tone)}</li>`;
286
293
  }).join("")}</ul>`;
287
294
  const omitted = context.model.omissions.pairs === 0
288
295
  ? ""
@@ -304,7 +311,8 @@ function renderExchange(context) {
304
311
  count: renderCount(context, context.model.exchange.queuedMessages, context.model.exchange.queueCountIsLowerBound),
305
312
  });
306
313
  const paired = context.model.inboundMode === "paired";
307
- const hasPair = context.model.graph.readyPairCount > 0;
314
+ const hasPair = context.model.graph.pairCount > 0 ||
315
+ context.model.graph.pairCountIsLowerBound;
308
316
  const policyBody = paired
309
317
  ? t(context, hasPair ? "inbound.paired.body" : "inbound.noPair.body")
310
318
  : t(context, "inbound.open.body");
@@ -348,6 +356,10 @@ function guidanceKeys(guidance) {
348
356
  return ["guidance.reobserveClaude.title", "guidance.reobserveClaude.body", "guidance.reobserveClaude.action"];
349
357
  case "reobserve_codex":
350
358
  return ["guidance.reobserveCodex.title", "guidance.reobserveCodex.body", "guidance.reobserveCodex.action"];
359
+ case "codex_reactivation_required":
360
+ return ["guidance.codexReactivationRequired.title", "guidance.codexReactivationRequired.body", "guidance.codexReactivationRequired.action"];
361
+ case "consent_edge_unavailable":
362
+ return ["guidance.consentEdgeUnavailable.title", "guidance.consentEdgeUnavailable.body", "guidance.consentEdgeUnavailable.action"];
351
363
  case "claude_not_observed":
352
364
  return ["guidance.claudeNotObserved.title", "guidance.claudeNotObserved.body", "guidance.claudeNotObserved.action"];
353
365
  case "codex_stale":
@@ -395,7 +407,7 @@ function renderAttention(context) {
395
407
  <div class="attention-item__meta">${statusPill(severityLabel(context, item.severity), alertTone(item.severity))}${item.code === undefined ? "" : `<code>${item.code}</code>`}${renderTimestampAtSnapshot(context, item.timestamp)}</div>
396
408
  <h3>${t(context, titleKey)}</h3><p>${t(context, bodyKey)}</p>
397
409
  ${scope.length === 0 ? "" : `<p class="scope"><strong>${t(context, "attention.scope")}:</strong> ${scope.join(" · ")}</p>`}
398
- <p class="next-action"><strong>${t(context, "next.label")}:</strong> ${t(context, actionKey)}</p>
410
+ <p class="next-action"><strong>${t(context, "next.label")}:</strong> ${t(context, actionKey, { alias: item.alias ?? "<alias>" })}</p>
399
411
  </li>`;
400
412
  })
401
413
  .join("")}</ol>`}
@@ -497,7 +509,7 @@ function renderProgressWatches(context) {
497
509
  : context.model.watches
498
510
  .map((watch) => `<tr data-dashboard-row="progress-watch" data-watch-phase="${watch.phase}">
499
511
  <th scope="row" data-label="${t(context, "watches.column.conversation")}"><code>…${escapeDashboardHtml(watch.conversationIdSuffix)}</code></th>
500
- <td data-label="${t(context, "watches.column.parties")}" class="route-cell"><strong>${escapeDashboardHtml(watch.ownerAlias)} → ${escapeDashboardHtml(watch.workerAlias)}</strong>${watch.workerReportedComplete ? `<span class="cell-note">${t(context, "watches.workerComplete")}</span>` : ""}</td>
512
+ <td data-label="${t(context, "watches.column.parties")}" class="route-cell"><strong>${escapeDashboardHtml(watch.ownerAlias)} → ${escapeDashboardHtml(watch.workerAlias)}</strong></td>
501
513
  <td data-label="${t(context, "watches.column.phase")}">${statusPill(t(context, watch.phase === "episode" ? "watches.phase.episode" : "watches.phase.quiet"), watch.phase === "episode" ? "warning" : "quiet")}</td>
502
514
  <td data-label="${t(context, "watches.column.quietFor")}" class="numeric">${formatDuration(watch.idleForMs)}</td>
503
515
  <td data-label="${t(context, "watches.column.nextAction")}" class="numeric">${formatDuration(watch.dueInMs)}</td>
@@ -723,6 +735,7 @@ const DASHBOARD_STYLES = `
723
735
  .pair-graph__heading strong, .pair-graph p { color: var(--muted); font: .78rem/1.45 ui-sans-serif, system-ui, sans-serif; }
724
736
  .pair-list { display: grid; gap: .45rem; margin: .8rem 0 0; padding: 0; list-style: none; }
725
737
  .pair-list li { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding-top: .45rem; border-top: 1px solid var(--hairline); overflow-wrap: anywhere; }
738
+ .pair-list small { display: block; margin-top: .2rem; color: var(--muted); font-size: .8em; }
726
739
  .attention { border-bottom-color: var(--danger); }
727
740
  .attention-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--hairline); }
728
741
  .attention-projection-note { margin: 0; padding: 1rem; background: var(--warning-soft); }