# ADR 0011: Progress event architecture ## Context Network bytes, batch completion, retries, failures, cancellation, terminals, and notebooks need one truthful model without coupling rendering to business logic. ## Decision Emit typed immutable events through a reporter protocol with callback, terminal, and null adapters. ## Alternatives Printing in transport and callback-only byte counters were considered. ## Consequences Applications can render or record progress consistently across sync and async paths. ## Rejected shortcuts Invented percentages for unknown lengths and retry-silent progress are rejected. ## Operational implications Known transfers reach exactly 100%; batches count completed items and cancellation is explicit.