From 56f820fbb9a9554a32b2ffd8753b0779cf070a2c Mon Sep 17 00:00:00 2001 From: pikastech Date: Sat, 18 Jul 2026 09:34:51 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AE=8C=E6=88=90=20Workbench=20L1=20K?= =?UTF-8?q?afka=20DNS=20=E9=AA=8C=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../R7_Task_Report.md | 89 +++++++++++++++++++ .../MDTODO/observability-trace-reliability.md | 6 +- 2 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 docs/MDTODO/details/observability-trace-reliability/R7_Task_Report.md diff --git a/docs/MDTODO/details/observability-trace-reliability/R7_Task_Report.md b/docs/MDTODO/details/observability-trace-reliability/R7_Task_Report.md new file mode 100644 index 00000000..549d3aa8 --- /dev/null +++ b/docs/MDTODO/details/observability-trace-reliability/R7_Task_Report.md @@ -0,0 +1,89 @@ +# R7 任务报告 + +## 结果 + +- 已解决 HWLAB #2649: + - NC01/v03 Workbench L1 native Kafka consumer 可解析 broker metadata 返回的 Kubernetes 短域名; + - 保持 agentrun.event.v1 -> hwlab.event.v1 -> SSE 单一 Kafka authority; + - 未增加 AgentRun /events、/result、Cloud API SSE、snapshot/read-model fallback; + - 未开放 Kafka NodePort,也未修改 host resolv.conf 或 hosts。 +- HWLAB PR #2652 已合并: + - merge commit:c926dbfb914f4ee4365e11762a47900e48790974; + - KafkaJS 仅在显式 env 存在时注入进程内 DNS resolver; + - resolver 使用 YAML 声明的 DNS server 与 search domain; + - Cloud bridge、Kafka query/live stream 和正式 Kafka CLI 复用同一 socket factory; + - kafka render trace 透传 endOffsetsError,DNS 失败不再退化成无细节零事件。 +- UniDesk PR #2507 已合并: + - merge commit:15aa6da8872185947d2548d9eae9c4ed7f0600bc; + - owning YAML 声明 CoreDNS 10.43.0.10 与 search domain cluster.local; + - parser 与 native env renderer 只向 NC01/v03 Workbench L1 注入配置。 + +## 根因 + +- Kafka bootstrap ClusterIP 可从 NC01 host 连接。 +- broker metadata 广播 platform-infra.svc 短域名。 +- host 系统 DNS 无法解析该名称。 +- 仅指定 CoreDNS 仍会因缺少 Pod 内 search domain 返回 ENOTFOUND。 +- 显式补齐 cluster.local 后,metadata hostname 可解析为 broker Pod IP。 +- 修复前 native consumer group 不存在;修复后 group offset 与 log end 均为 32322,lag=0。 + +## L0 验证 + +- HWLAB 聚焦测试:68 pass / 0 fail。 +- UniDesk 配置与 native readiness 测试:7 pass / 0 fail。 +- 正式 CLI 从 hwlab.event.v1 完整读取真实 trace trc_2649aabbccddeeff0011223344556677: + - scannedCount=32130; + - queryMatchedCount=62; + - appliedCount=54; + - completionReason=end-offset; + - endOffsetsAvailable=true; + - terminalObserved=true; + - final=1; + - runtimeDependencies.cloudApi=false; + - runtimeDependencies.database=false。 + +## L1 验证 + +- API 通过项目 CLI重启: + - 公网入口:http://152.53.229.148:6677; + - PID:324696; + - health=200; + - 日志出现 hwlab-live-kafka-event-bridge-started。 +- 新 gpt.pika turn: + - session:ses_1652f408-f3bf-4f67-b6f6-8d511aa5891e; + - trace:trc_2649ff00112233445566778899aabbcc; + - run:run_7150d1c7211446c1a930fc75014dbe55; + - command:cmd_80077684cebd41bbaea7f3bfaed63e48。 +- SSE-before-submit 单窗口: + - connected=true; + - eventCount=48; + - user、backend 与 assistant 实时可见。 +- 同 trace Kafka terminal 对账: + - queryMatchedCount=64; + - appliedCount=49; + - assistant=1; + - terminalObserved=true; + - terminal=2; + - final=1; + - status=completed; + - barrier 完整。 +- 公网 Web readiness: + - URL:http://152.53.229.148:5174/workbench; + - status=pass; + - DOM 与侧栏交互通过; + - console errors=0; + - page errors=0; + - failed responses=0; + - screenshot SHA256:ea830bd36ecfe8c0d420c44032513f1d04a760e4b39cd4467bce4bdb6a9ca48b。 + +## 独立支线 + +- 自动 PipelineRun hwlab-nc01-v03-ci-poll-77tsr 已 Succeeded,但 status/history 观测出现 source evidence 不一致、Argo Synced/Degraded 与 25 秒 timeout: + - 已登记 UniDesk #2510; + - 已登记 pr-merge-driven-automatic-delivery R8.4; + - 未人工补跑、sync、refresh 或修改运行面; + - 不阻塞已独立通过的 native L1。 +- post-task 发现 events inspect 只能按原始数量退出,不能直接等待 assistant/terminal: + - 已登记 HWLAB #2657; + - 已登记 observability-trace-reliability R8; + - 不在本修复中扩展 CLI 合同。 diff --git a/docs/MDTODO/observability-trace-reliability.md b/docs/MDTODO/observability-trace-reliability.md index 28a8ee11..9cdbb57d 100644 --- a/docs/MDTODO/observability-trace-reliability.md +++ b/docs/MDTODO/observability-trace-reliability.md @@ -122,6 +122,10 @@ 执行 [UniDesk #2326](https://github.com/pikasTech/unidesk/issues/2326):经用户明确授权修改共享 observability 基础设施后,为 Kubernetes pod discovery 的 Prometheus scrape/relabel 增加 YAML 声明的 namespace 与 pod 归属标签,并保持指标缺口 `blocking=false`;当前只登记,不在 PikaOA 或 #2322 主线实现,完成任务后将详细报告写入[任务报告](./details/observability-trace-reliability/R6_Task_Report.md)。 -## R7 +## R7 [completed] 解决 [HWLAB #2649](https://github.com/pikasTech/HWLAB/issues/2649):修复 NC01/v03 Workbench L1 host-native Kafka consumer 因 broker metadata 集群域名无法由 host DNS 解析而持续零事件的问题;由 owning YAML 声明 CoreDNS 地址并仅向 native API 注入进程内 DNS lookup,保持 agentrun.event.v1→hwlab.event.v1→SSE 单一 Kafka authority,禁止 AgentRun /events、/result、Cloud API SSE、snapshot/read-model fallback、Kafka NodePort和 host DNS 文件修改;先以正式 L0 CLI 读取新 trace,再以公网 L1 gpt.pika 新 hi turn、consumer group、backend/assistant/terminal 事件及 web-probe readiness 验收,完成任务后将详细报告写入[任务报告](./details/observability-trace-reliability/R7_Task_Report.md)。 + +## R8 + +解决 [HWLAB #2657](https://github.com/pikasTech/HWLAB/issues/2657):让正式 workbench events inspect 支持按事件语义等待 assistant、terminal/final,而不是依赖与业务终态无稳定关系的 --min-events 数量;继续消费同一 Kafka SSE,禁止 AgentRun /events、/result、snapshot/read-model fallback,timeout 时有界披露已见与缺失语义,完成任务后将详细报告写入[任务报告](./details/observability-trace-reliability/R8_Task_Report.md)。