Files
pikasTech-unidesk/docs/MDTODO/observability-trace-reliability.md
T
Codex bdb569d939
Pipelines as Code CI / hwlab-web-probe-sentinel-nc01- Success
Pipelines as Code CI / platform-infra-gitea-nc01- Success
Pipelines as Code CI / unidesk-host- Success
docs: 记录第二轮 Kafka 事件丢失调查
2026-07-12 17:49:34 +02:00

2.9 KiB

可观测性与 Trace 可靠性 MDTODO

范围:长期跟踪跨服务 OTel trace context、业务 trace 与诊断 trace 隔离、Span Link、诊断重复性和 trace 证据稳定性。单个故障或 GitHub issue 作为 MDTODO ITEM 进入本文件,不为一次性 trace 或根因新建 MDTODO FILE。

R1 [in_progress]

解决 UniDesk #1801:隔离业务 trace 与 diagnostic trace,使诊断读取保持可观测但不再向被诊断业务 trace 补记 span;不得通过静默过滤隐藏真实 span,不改变已验收的纯 Kafka + SSE 实时/刷新链路,完成任务后将详细报告写入任务报告

R1.1 [completed]

冻结 #1801 的 trace-context 合同:业务 trace 只承载原业务执行证据,diagnostic trace 使用独立 traceId,并通过 OTel Span Link 和明确关联字段引用目标 trace;定义跨 UniDesk/AgentRun 的 propagation、采样、错误和兼容边界,完成任务后将详细报告写入任务报告

R1.2 [in_progress]

依赖 R1.1,执行 AgentRun #302UniDesk #1805:修改 request-scoped diagnostic context 与相关 instrumentation,使 command/result/events 读取不继承目标业务 trace 的 active parent,同时保留独立诊断 trace、Span Link、businessTraceId/commandId 关联和有界 CLI 可见性;禁止新增 terminal authority 或 Kafka event,完成任务后将详细报告写入任务报告

R1.3

依赖 R1.2,用固定 warm-session trace 验证重复诊断不改变原业务 trace 的 terminal/instrumentation 判定,诊断 trace 仍完整可查;补跨服务合同和端到端验收,确认实时、刷新回放及纯 Kafka + SSE 事件顺序均无变化,完成任务后将详细报告写入任务报告

R2 [completed]

调查第二轮业务 trace trc_9352107b5e8a4125 / session ses_d4473d6c-4d7a-4612-a102-254977698bc2 的文件编辑、apply_patch 与 tool event 可见性:先解析对应 OTel trace/run/command,再对照 codex stdio notification、AgentRun durable events、agentrun.event.v1hwlab.event.v1 和 HWLAB trace/read model,并使用受控的集群内或应用侧 CLI 执行 Kafka replay 校对,判定事件是源头未产生、AgentRun 映射遗漏、Kafka 转换丢失还是 HWLAB 投影丢失;不得手写 Kafka API、不得用重放追加产品 topic event、不得把投影滞后改写成业务失败,完成任务后将详细报告写入任务报告