Code-review feedback from Task 2:
- Use state.NoMoreDeltas in the output callback completion check instead
of downstream.Reader.Completion.IsCompleted (spec called for it as the
redundant fast path; it was dead code before).
- UpstreamSendLoop now break's when StopSending && upstream channel empty,
matching the spec's stated exit shape.