Commit Graph

20 Commits

Author SHA1 Message Date
root 8ad5976a07 feat: 拉通 Workbench 纯 Kafka 实时链路 2026-07-10 10:22:28 +02:00
root ce83ffdf49 feat: make Kafka projector the Workbench realtime authority 2026-07-10 05:23:21 +02:00
root 2cb8be409c Make workbench realtime SSE consume Kafka 2026-07-09 21:31:12 +02:00
Lyon b0f36a3789 feat: persist workbench session inputs (#2175) 2026-06-26 05:10:24 +08:00
lyon 52182aa0a5 fix: expose workbench cache observability 2026-06-22 15:10:26 +08:00
lyon cf9ac0b08e feat: split workbench runtime read service 2026-06-21 19:42:26 +08:00
Lyon e23e9522d1 fix: keep workbench alive on postgres timeout (#1831) 2026-06-21 19:20:34 +08:00
Lyon a5b47d5d8d fix: expose workbench projection failures in otel (#1824) 2026-06-21 13:44:22 +08:00
lyon e9d19c8617 fix: retry transient workbench facts reads 2026-06-21 05:08:08 +08:00
Lyon 7c5a1f8c5b feat: PJ2026-0104010803 P2 SSE/realtime 无状态化 - durable outbox cursor replay (#1756)
server-workbench-http.ts:
- handleWorkbenchRealtimeHttp 优先从 durable outbox 读取 (readWorkbenchProjectionOutbox)
- 当 runtimeStore 支持 outbox 时,SSE 用 polling cursor replay 代替 traceStore.subscribe
- outbox 不支持时保留内存 traceStore.subscribe 作为兼容降级
- terminal commit 从 outbox terminal 行触发 snapshot + trace realtime
- 新增 HWLAB_WORKBENCH_SSE_OUTBOX_POLL_MS 环境变量控制 poll 间隔

workbench-facts-store.ts:
- 新增 subscribeDurableProjection 方法,从 durable outbox polling 读取
- subscribeTrace 保留兼容(内存 trace),新增 durable projection subscription 入口
- SPEC header 更新到 draft-2026-06-20-p1-zero-split-durable-realtime

cloud-api 重启后 SSE 从 DB outbox cursor 继续输出,不依赖内存 listener

Closes #1748
Refs #1742
2026-06-20 19:31:49 +08:00
lyon c8ff65f11f fix: reuse proven runtime readiness for workbench reads 2026-06-20 12:17:54 +08:00
lyon 4e64058614 feat: read workbench get from durable facts 2026-06-20 09:15:59 +08:00
lyon 3fc49952f0 fix: reuse workbench trace session lookup 2026-06-19 13:06:37 +08:00
lyon ad70a508a8 fix: cache terminal durable workbench trace reads 2026-06-19 12:43:16 +08:00
lyon 88112c415f fix: surface workbench projection diagnostics 2026-06-19 11:04:37 +08:00
lyon e5994d8af1 fix(workbench): use single turn projection authority 2026-06-19 04:18:25 +08:00
lyon 111b2b468a fix(workbench): recover session status from durable trace 2026-06-19 01:44:59 +08:00
lyon e444f4d80d feat(workbench): paginate session rail history 2026-06-19 01:34:43 +08:00
lyon 98d7b1c6f0 fix: remove workbench read-through projection repair 2026-06-19 00:08:01 +08:00
lyon d0eb94ae6a fix: add Workbench projection read model 2026-06-18 23:17:58 +08:00