Skip to content
This repository was archived by the owner on Apr 18, 2026. It is now read-only.
This repository was archived by the owner on Apr 18, 2026. It is now read-only.

fix(scripting): stream_subscribe fails with 'No stream factory registered' in construction T3 eval #90

@runyaga

Description

@runyaga

Summary

During construction scheduling T3 (dispatcher) eval runs, stream_subscribe("crew_updates") and stream_subscribe("weather_updates") throw RuntimeError: Invalid argument (name): No stream factory registered in the Monty sandbox.

Reproduction

Run the construction experiment with T3 dispatcher rooms:

dart run packages/soliplex_cli/bin/construction_experiment.dart http://localhost:8000 /tmp/eval 1

T3 rooms use needsStreams: true and the prompt instructs the model to subscribe to crew_updates and weather_updates streams.

Stack trace

MontyScriptEnvironment.collectTextResult (monty_script_environment.dart:118)
MontyScriptEnvironment._executePython (monty_script_environment.dart:60)
_CodeCapturingExtension.tools.<closure> (construction_experiment.dart:347)
AgentSession._executeSingle (agent_session.dart:300)
RunOrchestrator._driveToolLoop (run_orchestrator.dart:332)

Impact

  • Model burns 3-5 tool calls retrying before eventually outputting code-as-text (0 captured tool calls)
  • T3 verifier then sees incomplete state (jobs not completed, only 2 of 5 assignments)
  • The eval still passes because the pre-seeded schedule + state validation is lenient, but the stream processing path is never actually exercised

Expected

Stream factories for crew_updates and weather_updates should be registered via ConstructionPlugin or extraFunctions so the Monty sandbox can subscribe and process events.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions