2.0 KiB
R5 任务报告:纯 Kafka 实时与刷新回访正确性收口
范围
本轮只完成 HWLAB #2498、HWLAB #2499 与 HWLAB #2500 已登记的主线问题:用户/代理顺序、刷新稳定 identity、临近终态 assistant 重复和 tool summary 可见性。未执行新支线。
已完成子项
- R5.1:修复 AgentRun 正式用户事件源序、stdio 同 publisher Kafka publish 顺序与 Web live/replay 稳定 messageId。
- R5.2:tool summary 收敛为“时间 + 实际命令”,状态仅用颜色、动效与 ARIA 语义表达。
- R5.3:按正式 itemId 收敛 completed 后 late delta,消除临近终态 assistant 重复。
最终端到端证据
最终实时 command cmd-mrgs7itk-cc7434 通过,报告 SHA256 为 329f422acf7f2c3ab34ce20adc78120d60804fb14f37e1ecbb59952f374e905d。两轮 stdio frameSeq 严格递增,AgentRun → HWLAB → SSE lineage/fingerprint 精确一致;单页只使用一个 session EventSource,两个 terminal 均完成。
随后在同一 session 上只刷新、不提交输入,command cmd-mrgsc5ps-34fdcd 通过,报告 SHA256 为 d80f149b73c5536773d257a0f3c695b5cca14bdc7c84471975497cb1f911cade。刷新前后均为 4 条消息,identity 与顺序完全一致:
user(trace1) → agent(trace1) → user(trace2) → agent(trace2)
Kafka retention matched/replayed 为 53/53,buffer/live/deduplicated 均为 0;SSE failures 与 forbidden requests 均为 0。
架构结论
最终链路保持:
codex-stdio.raw.v1 → agentrun.event.v1 → HWLAB direct mapper → hwlab.event.v1 retention → shared live fanout → SSE → 同一 Web codec/queue/reducer/row model
未引入 projector/read model/snapshot/sync/gap-fill/finalizer、polling、HTTP history fallback、正文/时间戳去重或下游重排补洞。本轮主线目标已完成,可以停止。