online_stream_consumption

@startuml
skinparam shadowing false
title Online Path — Notebook Consumes from AlgoX2 (Kafka API)

actor User
participant "Tracto Notebook" as NB
participant "AlgoX2 Gateway\n(Kafka API)" as GW
participant "AlgoX2 Sequencer" as SQ
participant "AlgoX2 Storage" as ST

User -> NB : Start training / exploration
NB -> GW : Kafka Consumer\n(SASL/TLS, group.id, EOS)
GW -> SQ : fetch/assign, poll
SQ -> ST : read sequential log
ST --> SQ : records
SQ --> GW : batch of records
GW --> NB : messages (poll)

NB -> NB : process → tensors, commit offsets
NB -> GW : commit offsets (sync)

User <- NB : results/plots
@enduml