Skip to content

Conductor: Conductor does not preserve ordering across stdout, result, and error channels #3746

@yytelliot

Description

@yytelliot

Conductor currently sends sendOutput, senResult and sendError over seperate asynchronous channels. Because these channels are delivered independently, the host cannot rely on a single total order across them. As a result, messages that were emitted later on the stdout channel can appear after earlier result or error messages in the frontend REPL.

This makes output ordering unpredictable for evaluators that want to interleave normal output with typed result/error display. For example, the frontend may render an error before the fial output line even if that was not the emission order intended by the evaluator.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't working

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions