Commit Graph

480 Commits

Author SHA1 Message Date
lyon 6ab94f23c8 fix: clarify workbench trace event diagnostics 2026-06-20 19:43:54 +08:00
Lyon 4f7e55e2d8 fix: PJ2026-0104010803 P5 残余 events.at(-1) 读侧推理清理 + code-agent metric status (#1759)
useTraceSubscription.ts:
- mergeTraceResults: lastEventLabel 不 fallback 到 events.at(-1)
- mergeTraceSnapshots: lastEventLabel 不 fallback 到 events.at(-1)
- traceSnapshotSignalKey: 不从 events.at(-1) 推导 signal key

server-code-agent-http.ts:
- recordCodeAgentProjectionMetric: status 只读 projection.status
- source 固定为 workbench_read_model

负向源码扫描确认:
- result?.status ?? trace?.status: 消除
- events.at(-1) lifecycle 推断: 消除
- .catch(() => {}) 静默吞错: 消除
- traceStore.subscribe: 仅作为 outbox 不可用时的兼容降级

Closes #1751
Refs #1742
2026-06-20 19:42:19 +08:00
Lyon 44019f229e feat: PJ2026-0104010803 P4 前端/CLI 单读源收敛 - 删除 events.at(-1) 读侧推理 (#1758)
workbench.ts (stores):
- applyTraceHydrationResult: activityLabel 只读 result.lastEventLabel,不读 events.at(-1)
- lastEventLabel: 只读 result.lastEventLabel,不 fallback 到 events.at(-1)
- normalizeTraceSnapshot: lastEventLabel 只读 source.lastEventLabel
- mergeRunnerTrace: lastEventLabel 不从 events.at(-1) 推断

useTraceSubscription.ts:
- lastEventLabel 只读 snapshot.lastEventLabel,不读 events.at(-1)

trace-renderer.ts (CLI):
- traceNoiseSummaryRow: status 只读 trace.status/traceStatus,不 fallback 到 lastEvent.status
- 保持 lastLabel 用于展示,但不参与 lifecycle 推断

api/workbench.ts:
- 添加注释标记 observedAt/lastEventAgeMs 为 diagnostic-only,不作用户可见相对时间权威

Closes #1750
Refs #1742
2026-06-20 19:37:35 +08:00
lyon ff60ff853b test(web): cover user-visible error diagnostics matrix 2026-06-20 16:54:59 +08:00
lyon c73b19fcaa feat(web): configure trace explorer links 2026-06-20 16:26:54 +08:00
lyon 241366b264 fix(web): advance workbench timing labels with browser ticker 2026-06-20 16:10:36 +08:00
lyon d947b9e4e8 feat(web): surface Workbench diagnostics 2026-06-20 16:03:05 +08:00
lyon 98b94b7fd1 feat(web): surface api error diagnostics 2026-06-20 15:38:11 +08:00
lyon 03942afc5c fix: 收敛 workbench 消息头 timing 投影 2026-06-20 14:54:04 +08:00
lyon 32a66f18b3 fix: 统一上游不可达错误文案 2026-06-20 14:26:44 +08:00
lyon 766f41d415 fix: render workbench trace clocks with display timezone 2026-06-20 14:07:16 +08:00
lyon 4a9498d720 fix(workbench): expose code agent timing metadata 2026-06-20 13:55:57 +08:00
lyon f2a54532a2 fix: show configured workbench time label 2026-06-20 13:44:47 +08:00
lyon 01f72df333 fix: render workbench time from yaml config 2026-06-20 13:29:55 +08:00
lyon 6468263672 fix: thin workbench session list projection 2026-06-20 13:24:49 +08:00
Lyon 96704ea1d7 Merge pull request #1695 from pikasTech/codex/hwlab-1691-problem-rows
fix: separate performance problems from sample health
2026-06-20 12:47:57 +08:00
Lyon acd9831149 Fix workbench trace projection authority (#1696) 2026-06-20 12:47:18 +08:00
lyon 7448803c9d fix: separate performance problems from sample health 2026-06-20 12:46:29 +08:00
lyon 8c27242656 fix: scope workbench performance attribution health 2026-06-20 12:32:44 +08:00
lyon bcb635a4c5 test(web): add workbench golden reliability e2e 2026-06-20 11:33:56 +08:00
Lyon 5e7224c666 test(web): align performance all-window label (#1685) 2026-06-20 11:00:42 +08:00
lyon 793f0f39a4 fix: use projected trace cursor as workbench authority 2026-06-20 10:55:11 +08:00
Lyon 2a7fbf5771 test(web): govern performance dashboard windows (#1683) 2026-06-20 10:53:32 +08:00
lyon 4290a280d9 fix: separate workbench message and trace authorities 2026-06-20 10:09:47 +08:00
lyon c51dd122e2 fix: 区分 provider retry 与终态失败 2026-06-20 09:51:30 +08:00
Lyon 40a54eef20 feat: align rum samples with backend evidence (#1674) 2026-06-20 09:33:54 +08:00
Lyon e0127f1044 feat: expose performance collection health (#1671) 2026-06-20 09:03:17 +08:00
lyon 5a8e6b39e2 test: add workbench p1 reliability inventory 2026-06-20 08:25:37 +08:00
Lyon 037043b7c8 test: 收敛 Performance 迁移验证 (#1649) 2026-06-20 02:26:13 +08:00
Lyon 9493d85259 fix: 收敛 Performance summary 展示 (#1648) 2026-06-20 02:04:28 +08:00
Lyon ed7d187921 fix: 收敛 Performance summary 观测契约 (#1647) 2026-06-20 01:49:22 +08:00
lyon 02a4eb3ccb fix: throttle workbench history hydration 2026-06-20 01:34:34 +08:00
lyon 8f9bdbd5fd fix: harden workbench trace timeout observability 2026-06-20 01:16:45 +08:00
lyon 4eadd2f85a fix: trace workbench loading states with otel 2026-06-20 00:47:57 +08:00
lyon c189270fca feat: add performance summary time windows 2026-06-20 00:29:13 +08:00
lyon c3ca0f869e fix: seal workbench final response from terminal trace 2026-06-20 00:11:35 +08:00
lyon c2629c5ebf fix: improve code agent trace visibility 2026-06-20 00:04:23 +08:00
lyon 638509bcf1 fix: use compact workbench session summaries 2026-06-19 23:39:54 +08:00
lyon 5f1763aeac fix: persist workbench turn admission before preflight 2026-06-19 21:55:15 +08:00
lyon 7544b52c27 fix: reduce workbench session list load 2026-06-19 21:52:42 +08:00
lyon fa924a64c8 fix: separate sealed final response diagnostics 2026-06-19 21:23:21 +08:00
lyon 0645e7ffa6 feat: add workbench performance dashboard 2026-06-19 16:49:13 +08:00
lyon 02989a8237 fix: preserve workbench message whitespace 2026-06-19 15:40:12 +08:00
lyon d91f49b8fe fix: exclude stale rest gap events from visible latency 2026-06-19 15:32:09 +08:00
lyon d4ead4d0f1 fix: normalize workbench trace event page cursors 2026-06-19 14:59:58 +08:00
lyon c6e8ec1e95 test: cover workbench projector resume 2026-06-19 13:01:53 +08:00
lyon 88112c415f fix: surface workbench projection diagnostics 2026-06-19 11:04:37 +08:00
lyon 37ad8b7623 fix: keep workbench session projection non-destructive 2026-06-19 10:32:39 +08:00
lyon d9078c4929 fix: keep created workbench session active 2026-06-19 09:14:47 +08:00
lyon 270cc999d4 fix: remove workbench read-side final text inference 2026-06-19 04:59:43 +08:00