# R1.3 AgentRun 到 HWLAB Kafka 源码映射 CLI 报告

## 结论

已提供不经过 Cloud API、数据库或 transactional projector 的源码直调命令：

```bash
bun tools/hwlab-cli/bin/hwlab-cli.ts kafka regenerate hwlab \
  --from kafka \
  --session-id <ses_agentrun_...> \
  --trace-id <trc_...> \
  --input-topic agentrun.event.debug.v1 \
  --expect-count <n>
```

命令复用生产 AgentRun→HWLAB mapper，输出仅允许进入 `hwlab.event.debug.v1`。`hwlab.event.v1` 永久禁止作为调试输出。

## 配置与隔离

- 实现 PR: pikasTech/HWLAB#2471，merge source `540cdba2b9e76ca5c4fd7a8f73976fb379023423`。
- Kafka output topic 来自 `HWLAB_KAFKA_HWLAB_DEBUG_EVENT_TOPIC`。
- Kafka group prefix 来自 `--group-prefix` 或 YAML 注入的 `HWLAB_KAFKA_HWLAB_DEBUG_GROUP_PREFIX`；Kafka 模式不存在 node/lane 硬编码 fallback。
- topic/group 必须含独立 `debug` 标识，产品 topic/group fail closed。
- 离线 JSONL `--no-publish` 不要求 Kafka group，也不创建 consumer/producer。
- 重建输入继续保持 durable identity 字段为 `null`，不把 partial reconstruction 冒充 canonical event。

## 真实验证

冻结断点 `trc_mretx18t3jl4tg`：

- 从 `agentrun.event.debug.v1` 精确匹配 16 条。
- 映射并发布 `hwlab.event.debug.v1` 16 条。
- `oneToOne=true`、`orderPreserved=true`、`lineagePreserved=true`。
- artifact SHA-256: `sha256:679b9e1b84b737b758bdc2651f97c6587efddc2249993bae01316949111ce4e0`。

最终新 turn `trc_mrew3yvpvv2ep6`：

- 输入 11、匹配 11、发布 11。
- `firstSourceSeq=1`、`lastSourceSeq=11`。
- `oneToOne=true`、`orderPreserved=true`、`lineagePreserved=true`。
- artifact SHA-256: `sha256:f338a09e2e44c2cb5ed3f22719d1e0e2a395953b3e448655ef3fa966e573b4c6`。
- 命令披露的依赖为 `cloudApi=false`、`database=false`、`transactionalProjector=false`、`kafka=true`。

源码主线回归 70/70、renderer 1/1，Workbench 组件 1/1。NC01/v03 source、PipelineRun、GitOps mirror、Argo 和 13 个 workload 已 exact 对齐最终 source `3f8b6e2f676b3354b55fd0a42b19baec73f34568`。
