# HWLAB #2467 纯 Kafka 实时链路单步调试 MDTODO


## R1 [completed]

纯 Kafka 实时链路有界闭环与独立单步调试能力，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R1_Task_Report.md)。
### R1.1 [completed]

使用 semantic internal origin 完成最多两轮 typed web-probe 闭环；仍失败则冻结 sessionId、traceId、artifact 与首个断点，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R1.1_Task_Report.md)。
### R1.2 [completed]

实现 AgentRun 按已有 stdio Kafka sessionId 直接调用源码 reducer 再生 AgentRun Kafka 事件的 CLI，不依赖运行面并披露 partial lineage，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R1.2_Task_Report.md)。
### R1.3 [completed]

实现 HWLAB 按 sessionId 加载 AgentRun Kafka 事件并直接调用源码映射/发布 HWLAB Kafka 事件的 CLI，不依赖运行面或 projector，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R1.3_Task_Report.md)。
### R1.4 [completed]

在原 Workbench 页面增加独立 YAML 调试开关，支持清空隔离面板并按当前 traceId 重放 HWLAB Kafka→SSE→生产卡片 reducer，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R1.4_Task_Report.md)。
## R2 [in_progress]

修复纯 Kafka 实时 Trace 可读性、隔离调试分层诊断与同一 SSE ingress 原始 HWLAB Event 观察窗；保持产品链无 projector、read model、snapshot、sync、recovery replay 或 polling。上下文：[HWLAB #2474](https://github.com/pikasTech/HWLAB/issues/2474) 与 [调查结论](https://github.com/pikasTech/HWLAB/issues/2474#issuecomment-4935408473)，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R2_Task_Report.md)。
### R2.1 [completed]

按 eventSource 修复 Trace 序列权威：live Kafka 保留 ingress 顺序并以 sourceEventId 或 runId+sourceSeq 识别事件，不伪造 projectedSeq；补 sourceSeq-only running/assistant/tool/terminal、去重与 terminal 保留合同。上下文：[前端根因 #2475](https://github.com/pikasTech/HWLAB/issues/2475#issuecomment-4935381417)、[运行面证据 #2477](https://github.com/pikasTech/HWLAB/issues/2477#issuecomment-4935385934)。依赖：无。验证：真实 mapper envelope 的 eventCount 等于 stored events、readableRows 大于 0，projection 保持关闭，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R2.1_Task_Report.md)。
### R2.2 [completed]

在同一产品 EventSource 的 decode/coalesce 前 tee 原始 frame，并在隔离调试卡片增加 Trace 卡片/原始 HWLAB Event 子标签；raw 按到达顺序写入 bounded 内存、暴露 invalid JSON，YAML-first 开关和容量独立配置，不新增 SSE 或 Kafka consumer。上下文：[主 issue #2474](https://github.com/pikasTech/HWLAB/issues/2474)、[前端设计 #2475](https://github.com/pikasTech/HWLAB/issues/2475#issuecomment-4935381417)。依赖：无，可与 Trace 序列权威修复并行。验证：每个产品 frame 恰好 raw+1 且 reducer 一次，切换标签不新增 EventSource，eviction/invalid-json/runtime contract 通过，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R2.2_Task_Report.md)。
### R2.3 [completed]

修复隔离 debug replay 的 producer/barrier 与分层结果合同：保留 source lineage、replayId、offset range，报告 scanned/matched/delivered/decoded/applied/terminal，区分 producer-not-invoked、trace missing、filter mismatch、decoder/reducer rejection 与 terminal missing；仅写 debug topic。上下文：[隔离根因 #2476](https://github.com/pikasTech/HWLAB/issues/2476#issuecomment-4935398125)、[主方案 #2474](https://github.com/pikasTech/HWLAB/issues/2474#issuecomment-4935408473)。依赖：无。验证：empty、matched-no-terminal、reducer-rejected、terminal-complete 四类 typed 结果及 semantic internal web-probe command，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R2.3_Task_Report.md)。
### R2.4 [completed]

以 [HWLAB #2474](https://github.com/pikasTech/HWLAB/issues/2474) 和固定 trace trc_fb6031c28d79495e 完成纯 Kafka 集成闭环：先增强 CLI 直接读取持久 hwlab.event 并复用前端 decode、merge、row model、summary 输出同构 Markdown，再修复 Trace 内 final response 重复、tool-call summary 可见性和每个 HWLAB SSE ingress 刷新 lastEventAt；最后受控部署 NC01/v03，以 Kafka 重放、semantic internal web-probe、DOM 与 OTel 验收 projection=0 且无补洞路径，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R2.4_Task_Report.md)。
### R2.5 [in_progress]

解决 [HWLAB #2508](https://github.com/pikasTech/HWLAB/issues/2508) 并配套 [AgentRun #219](https://github.com/pikasTech/agentrun/issues/219)：在纯 Kafka 权威链中识别新的 assistant_progress source type，bridge 保留 itemId/sourceSeq/progress，production reducer 按 identity 更新同一逻辑 item，completed assistant_message 权威替换进度态，final seal/terminal 不复制正文；同步更新 CLI Kafka 重放与 HTML/Markdown 同构模型。禁止文本相等去重、tail merge、projector/read model/snapshot/sync/gap-fill/finalizer；两仓 PR 协调合并并只走自动 CI/CD，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R2.5_Task_Report.md)。
### R2.6 [in_progress]

解决 [HWLAB #2510](https://github.com/pikasTech/HWLAB/issues/2510)：以 trace ae0181ba9a18bad2a561157d312c3692 的持久 AgentRun/HWLAB Kafka 事件优先离线复现一次调度失败被 Workbench 重复显示三次的问题，分层定位 AgentRun 正式失败事件、HWLAB bridge、SSE 与 Web reducer/外层错误卡片的首个重复环节；按正式 event/run/command/trace identity 与 lifecycle 收敛为一次可读失败，同时 raw HWLAB Event 观察窗保留全部。错误投影必须保留 failureKind、reason、retryable、userMessage、recoveryAction 与 correlation identity；依据权威 rollout/readiness/admission 事实区分 rollout-in-progress 等短暂失败，以及 manager/service unavailable、admission/policy denied、runner capacity、provider/profile 未配置、Secret、image、workspace/materialization、lease/idempotency conflict、dispatcher/runtime misconfigured 等长期或不可恢复失败，unknown 也须提供下钻，禁止靠 HTTP 文案猜测或笼统宣告 AgentRun 完全失败。禁止文本指纹去重、HTTP/数据库补洞、第二失败通道或优先新开真实 run；CLI 不足先单独登记修工具，最终完成 CLI 重放、同构 Markdown 与原 Web 入口验收，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R2.6_Task_Report.md)。
## R3 [completed]

在纯 Kafka SSE 权威链内实现页面刷新后的可重放引导，明确区别于 projector/read model/snapshot/sync/gap-fill/finalizer 补洞；上下文：[HWLAB #2486](https://github.com/pikasTech/HWLAB/issues/2486)，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R3_Task_Report.md)。
### R3.1 [completed]

依据 [HWLAB #2486](https://github.com/pikasTech/HWLAB/issues/2486) 深入分析 Kafka retention、SSE 刷新连接、offset barrier、shared live handoff 与去重身份，形成不引入第二事实源的状态机和失败可见性，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R3.1_Task_Report.md)。
### R3.2 [completed]

依据 [HWLAB #2486](https://github.com/pikasTech/HWLAB/issues/2486) 与 [AgentRun #283](https://github.com/pikasTech/agentrun/issues/283)，先让用户输入成为 agentrun.event.v1 与 hwlab.event.v1 正式事件，再实现 trace/session-scoped Kafka refresh bootstrap 和 shared live fanout 无缝交接；全部开关、group、容量和时限保持 YAML-first，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R3.2_Task_Report.md)。
### R3.3 [completed]

依据 [HWLAB #2486](https://github.com/pikasTech/HWLAB/issues/2486) 与 [AgentRun #283](https://github.com/pikasTech/agentrun/issues/283)，使用固定 trace trc_fb6031c28d79495e 做 CLI 单步重放，并用正式 user_message fixture 补充历史 trace 不具备的用户输入验收；验证顺序、barrier、handoff、terminal、final 唯一性、tool summary 和 timing，不启动新真实运行，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R3.3_Task_Report.md)。
### R3.4 [completed]

完成 [HWLAB #2486](https://github.com/pikasTech/HWLAB/issues/2486) 的定向测试、受控 CI/CD 与 semantic internal web-probe 页面刷新验收，确认 projection=0 且无 snapshot/sync/gap-fill/finalizer 路径，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R3.4_Task_Report.md)。
## R4 [in_progress]

支线：解决 Provider 缺失导致 stale-pending Runner 假活性无法自动回收；上下文 [AgentRun #282](https://github.com/pikasTech/agentrun/issues/282)；临时缓解已将 20 个 run 终态化并清空 20 个 Runner Job，永久修复由子代理交付且不得阻塞 R3，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R4_Task_Report.md)。
## R5 [completed]

刷新重放后的事件可见顺序与 Trace summary 视觉收口；上下文：[HWLAB #2498](https://github.com/pikasTech/HWLAB/issues/2498)、[HWLAB #2499](https://github.com/pikasTech/HWLAB/issues/2499)，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R5_Task_Report.md)。
### R5.1 [completed]

依据 [HWLAB #2498](https://github.com/pikasTech/HWLAB/issues/2498) 与 [AgentRun #297](https://github.com/pikasTech/agentrun/issues/297)，用既有 Kafka session/trace 对齐 agentrun.event、hwlab.event、SSE ingress、Web reducer 与 DOM 顺序；已锁定初始 run-created 早于 user_message 的 AgentRun 源序窗口，先修正式事件事务顺序，再以同一纯 Kafka 链验收，禁止下游过滤、重排或补洞，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R5.1_Task_Report.md)。
### R5.2 [completed]

依据 [HWLAB #2499](https://github.com/pikasTech/HWLAB/issues/2499) 精简 tool-call summary：可见行合并为“时间 + 实际命令”（例如 `02:14:17 find . -maxdepth 3 ...`），移除重复工具名、状态文字、total、duration 与 exit；状态仅用整行色彩、运行中动效及非可见无障碍语义表达，保持 HTML/Markdown 同构 model，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R5.2_Task_Report.md)。
### R5.3 [completed]

依据 [HWLAB #2500](https://github.com/pikasTech/HWLAB/issues/2500) 与固定 trace trc_535e95438f144922，优先用生产 Kafka CLI 与同构 Markdown 锁定临近终态重复旧 assistant 的首次发生层，修复 stable identity/replay-live/reducer 根因且不影响 tool、terminal、final，完成任务后将详细报告写入[任务报告](./details/pure-kafka-live-single-step-debug/R5.3_Task_Report.md)。
