Lyon
84cb8bb46e
fix(workbench): remove stale gap refresh call ( #1955 )
2026-06-23 07:15:33 +08:00
Lyon
2d3edda3fb
fix(workbench): make live refresh low priority ( #1945 )
2026-06-23 03:46:18 +08:00
Lyon
83fb750c66
fix(workbench): avoid terminal trace auto hydration ( #1944 )
2026-06-23 03:37:39 +08:00
Lyon
5c1f620713
fix(workbench): delay live refresh on first load ( #1943 )
2026-06-23 03:20:37 +08:00
Lyon
10deb6ba19
fix(workbench): reduce rum flush cadence ( #1941 )
2026-06-23 03:11:26 +08:00
Lyon
62fa3afc4c
fix(workbench): avoid idle aborts for read hydration ( #1940 )
2026-06-23 03:01:42 +08:00
Lyon
b095423532
fix(workbench): avoid duplicate rum api samples ( #1938 )
2026-06-23 02:50:47 +08:00
Lyon
cf8d691c73
fix(workbench): improve rum resource timing coverage ( #1936 )
2026-06-23 02:11:25 +08:00
Lyon
2b915ddcd7
fix(workbench): enrich api resource timing at rum flush ( #1935 )
2026-06-23 01:52:02 +08:00
Lyon
87c153aa45
fix(workbench): include resource timing in ui rum spans ( #1934 )
2026-06-23 01:42:29 +08:00
Lyon
a09e3cc20e
fix(web): stop downstream workbench gap hydration ( #1929 )
2026-06-22 23:59:51 +08:00
Lyon
8f6886943b
fix(web): limit workbench realtime gap hydration ( #1928 )
2026-06-22 23:42:54 +08:00
Lyon
7e26cf8e28
fix(workbench): budget realtime gap hydration ( #1926 )
2026-06-22 22:39:00 +08:00
Lyon
0292ed2af8
fix(workbench): keep auth transient failures off login redirect ( #1924 )
2026-06-22 21:13:47 +08:00
Lyon
bdca364391
fix(web): do not seal zero terminal durations ( #1918 )
...
* fix(web): keep terminal duration sealed
* fix(web): do not seal zero terminal durations
2026-06-22 20:15:12 +08:00
Lyon
7b96397511
fix(web): keep terminal duration sealed ( #1917 )
2026-06-22 20:07:20 +08:00
Lyon
ca1fdb2668
fix(web): throttle workbench read hydration requests ( #1915 )
2026-06-22 19:42:44 +08:00
Lyon
d871ccd7d4
fix(web): throttle workbench session list refresh pressure ( #1914 )
2026-06-22 19:30:42 +08:00
Lyon
6d05f20f82
fix(web): cooldown transient workbench read hydration failures ( #1913 )
2026-06-22 19:16:19 +08:00
Lyon
5c98660816
fix: throttle Workbench trace hydration ( #1911 )
2026-06-22 18:28:44 +08:00
Lyon
f330901863
fix: shorten AgentRun admission and stabilize Workbench projection ( #1909 )
...
* fix: shorten AgentRun chat admission path
* fix: stabilize Workbench turn projection display
2026-06-22 18:01:47 +08:00
Lyon
6ec00c6190
fix: hydrate Workbench messages on realtime gap ( #1908 )
2026-06-22 17:34:54 +08:00
Lyon
98d3b5502e
fix: coalesce Workbench realtime session refresh ( #1902 )
2026-06-22 16:27:15 +08:00
lyon
52182aa0a5
fix: expose workbench cache observability
2026-06-22 15:10:26 +08:00
lyon
2f00d1dbff
fix(workbench): refresh turn status on terminal evidence
2026-06-22 13:39:37 +08:00
lyon
f166697126
fix: keep running turn timing on turn projection
2026-06-22 13:19:47 +08:00
lyon
92bad3d44d
fix(workbench): avoid stale request steer mode
2026-06-22 12:13:29 +08:00
lyon
fe1f8cf6b3
fix(workbench): prefer durable terminal duration
2026-06-22 05:28:50 +08:00
lyon
ef32a1e87e
fix(workbench): seal terminal turn timing and diagnostics
2026-06-22 05:19:34 +08:00
lyon
4067c92a72
fix workbench provider catalog refresh
2026-06-21 21:10:42 +08:00
Lyon
507850579e
fix: stabilize workbench turn diagnostics ( #1828 )
2026-06-21 18:23:13 +08:00
Lyon
8efdbbd46e
fix: keep workbench deeplink detail hydration ( #1827 )
2026-06-21 16:20:48 +08:00
lyon
6804decc56
fix: stop completed workbench diagnostics polling
2026-06-21 15:45:40 +08:00
Lyon
a5b47d5d8d
fix: expose workbench projection failures in otel ( #1824 )
2026-06-21 13:44:22 +08:00
Lyon
fb43019d1b
fix(workbench): limit turn status polling to active traces ( #1810 )
2026-06-21 11:04:30 +08:00
Lyon
4c562e7176
fix(workbench): skip terminal turn polling ( #1809 )
...
Stop realtime gap hydration from polling completed/terminal Workbench turns. This avoids repeated /v1/workbench/turns requests for old traces while preserving active turn refresh.\n\nRefs #1791 .
2026-06-21 10:50:56 +08:00
Lyon
8b529c39a0
fix(workbench): retry transient runtime store reads ( #1797 )
2026-06-21 09:16:23 +08:00
lyon
7ca7a9974b
fix(workbench): keep active turn polling until terminal
2026-06-21 05:37:30 +08:00
lyon
a734a78777
fix: clear transient workbench diagnostics on terminal turn
2026-06-21 05:16:06 +08:00
lyon
95c1e3d8fe
fix: keep visible workbench duration monotonic
2026-06-21 04:54:23 +08:00
lyon
93151384b3
fix: mark visible terminal workbench messages completed
2026-06-21 04:42:43 +08:00
lyon
ac1753f51c
fix: keep workbench turn timing monotonic
2026-06-21 04:31:16 +08:00
lyon
bcc8aa189b
fix: stabilize workbench timing diagnostics
2026-06-21 02:56:19 +08:00
lyon
a6b5e9a975
fix: harden workbench agent retry projection
2026-06-21 02:43:33 +08:00
lyon
bad5a478bd
fix: recover Workbench terminal outbox projection
2026-06-20 20:12:01 +08:00
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