Commit Graph

91 Commits

Author SHA1 Message Date
root 23de918e94 feat: add Temporal-backed TaskTree service
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-16 20:59:51 +02:00
root a3da2d51b1 fix: 渐进加载 AgentRun 分页快照 2026-07-16 07:50:02 +02:00
root f33604757b feat: 增加纯 Kafka AgentRun 运行观察 2026-07-15 04:21:06 +02:00
AgentRun-Codex f9f9f42c4a fix: restore Kafka workbench authority 2026-07-14 12:43:46 +02:00
root fc87a7e5f7 fix: 删除 Workbench 旧实时架构分支 2026-07-14 04:37:35 +02:00
root d0d2f46628 fix: remove workbench sync repair authority 2026-07-13 21:07:53 +02:00
root dafa6ed1d2 feat(cloud): 提供控制台聚合摘要 2026-07-13 05:08:40 +02:00
root 2ec436a89e fix(hwpod): 收紧拓扑探测与深链状态 2026-07-13 04:48:04 +02:00
root 652f1f9c6b feat(hwpod): 补齐拓扑与节点接入控制台 2026-07-13 04:14:58 +02:00
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 36d5455432 feat: stream HWLAB Kafka events to debug SSE 2026-07-09 20:36:21 +02:00
root 479c0f0937 feat: bridge AgentRun Kafka events to HWLAB stream 2026-07-09 19:59:32 +02:00
root 4c0dad1c47 feat: add Workbench debug fake SSE harness 2026-07-09 15:46:28 +02:00
root e1ca455d26 feat: add workbench realtime authority sync contract 2026-07-08 14:20:31 +02:00
UniDesk Codex bf272f7e3e fix: expose hwpod node ops otel trace diagnostics 2026-07-01 10:53:05 +08:00
root 207dcc5dc6 feat: add admin secrets read-only MVP 2026-06-30 09:04:30 +00:00
Lyon 38b7d7bc87 feat: add YAML-first users nav access (#2188) 2026-06-26 12:23:37 +08:00
lyon 06284f5287 feat: add project workbench launch 2026-06-25 17:59:19 +08:00
lyon de8ebb51c3 feat: add project management microservice 2026-06-25 16:34:59 +08:00
Lyon 77979025e7 feat: add web caserun compile path (#2117) 2026-06-25 13:00:23 +08:00
lyon 31be0b918d fix(hwlab-node): expose diagnostics op metadata 2026-06-25 10:45:23 +08:00
lyon c21fe192c8 fix(hwlab-node): stabilize tray diagnostics updater 2026-06-25 10:24:38 +08:00
lyon 42844887cc feat: add HWLAB node Python GUI 2026-06-25 09:24:16 +08:00
Lyon e2813e8a27 fix(v03): route prestop drain through v1 dispatcher (#2004) 2026-06-24 01:59:19 +08:00
Lyon ebb9580c57 fix(v03): drain workbench sse before pod termination (#2003) 2026-06-24 01:55:01 +08:00
Lyon 5e1cc8ade5 fix(workbench): avoid readiness and SSE stalls (#1951) 2026-06-23 05:30:57 +08:00
Lyon 356a35e9b0 fix(api): keep live health probes within web budget (#1916) 2026-06-22 19:53:26 +08:00
Lyon 5c98660816 fix: throttle Workbench trace hydration (#1911) 2026-06-22 18:28:44 +08:00
Lyon 7fc4844b9d fix: instrument slow readiness routes (#1896) 2026-06-22 15:06:51 +08:00
Lyon 0f3bc3f99a fix workbench otel http span timing (#1815) 2026-06-21 12:07:37 +08:00
Lyon 6cafd495de fix(cloud-api): keep health live nonblocking (#1808)
Route /health/live through cached runtime summary so DB durable retry cannot block liveness probes. Keep /health as the full durable readiness endpoint.\n\nRefs #1807.
2026-06-21 10:28:02 +08:00
Lyon fb1fe8d94a feat(otel): 服务端 HTTP request span 追穿 hwlab-cloud-api 503 (#1764)
问题:hwlab-cloud-api 服务端 503(如 workbench 投影存储不可用)在 Tempo
里只有 workbench-ui 浏览器侧 span,没有服务端 request handler span,导致
后端根因(error.code=projection_store_unavailable 等)只能在应用日志里看,
OTel 链路追不到服务端处理层。

修复:
- otel-trace.ts 新增 emitHttpServerRequestSpan(scope hwlab.http.server,
  SPAN_KIND_SERVER),捕获 http.route/method/status_code/status_class、
  request.id,5xx 时落 STATUS_CODE_ERROR 并把 error.code/category/layer
  写入 span 属性与 status.message。
- error-envelope.ts 的 decorateErrorPayloadForHttp 把诊断 error code/
  category/layer 回写到 hwlabHttpRequestContext.lastHttpError,供 finish
  时复用,避免重复解析。
- server.ts 在 response finish 时按 http context + backend performance
  时序发服务端 span;health/metrics 探针路由跳过,避免 OTel 噪声洪泛。

验收:canary 调用 emitHttpServerRequestSpan 发 503 projection_store_unavailable
span 到 D601 platform-infra OTel collector,Tempo 可查到 service=hwlab-cloud-api、
scope=hwlab.http.server、http.response.status_code=503、error.code=
projection_store_unavailable 的 ERROR span。
2026-06-20 20:31:36 +08:00
lyon b139ffd8e4 feat: normalize cloud api error diagnostics 2026-06-20 15:08:33 +08:00
lyon efafeccfb9 feat: attach cloud api otel trace headers 2026-06-20 14:54:51 +08:00
Lyon 40a54eef20 feat: align rum samples with backend evidence (#1674) 2026-06-20 09:33:54 +08:00
lyon e79ea2cb42 feat: persist workbench projection facts 2026-06-20 08:57:21 +08:00
lyon 4eadd2f85a fix: trace workbench loading states with otel 2026-06-20 00:47:57 +08:00
lyon 5f1763aeac fix: persist workbench turn admission before preflight 2026-06-19 21:55:15 +08:00
lyon d2964d93a9 fix: resume workbench agentrun projection 2026-06-19 12:46:43 +08:00
lyon c950709b25 fix(workbench): gc stale empty sessions 2026-06-19 01:16:00 +08:00
lyon dac2a0b3c4 fix: canonicalize web auth principal 2026-06-18 23:45:17 +08:00
lyon 08b2e3077a fix: converge workbench session authority 2026-06-18 15:24:16 +08:00
lyon 41d6407ab2 feat: add backend performance metrics 2026-06-17 18:22:30 +08:00
lyon 837d57dd5a feat(workbench): add realtime event stream 2026-06-17 13:30:40 +08:00
lyon 4500fb6486 feat(workbench): 持久化 Code Agent trace 投影 2026-06-17 11:58:07 +08:00
lyon bc9ee41d83 feat(workbench): add read-only API read model 2026-06-17 11:12:04 +08:00
lyon 2679b1f14e fix: load Code Agent traces through REST resource 2026-06-16 21:57:51 +08:00
lyon ce1f1031f5 fix: unify code agent turn status authority 2026-06-16 19:21:13 +08:00
lyon ea96ebf75d feat: add redeem billing loop 2026-06-14 21:21:01 +08:00