Skip to content

Streaming error propagation contract #33

Description

@JMAN730

Part of #25

Blocked by #28

Question

streamComplete catches exceptions and emits them as chat content (OpenAIProvider.kt:99), so a failure reads as a model answer. What is the contract instead — the Flow throws the classified error, or emits a typed terminal event? What happens to partial content already emitted before the failure (keep and mark truncated, or discard)? How do collectors in the agent/chat path distinguish an error from a completed stream? Real SSE streaming is out of scope.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions