@@ -796,14 +796,14 @@ it.effect("a message the user sends after Stop releases the held queue; an agent
796796 } ) . pipe ( Effect . provide ( layerTest ) ) ,
797797) ;
798798
799- it . effect . each ( [ "auto" , "steer" ] as const ) (
800- "an MCP %s send preserves its intent while the target run is stopping" ,
801- ( mode ) =>
799+ it . effect (
800+ "an agent's auto send queues behind a run that is still stopping instead of steering it " ,
801+ ( ) =>
802802 Effect . gen ( function * ( ) {
803803 const orchestrator = yield * Orchestrator . OrchestratorV2 ;
804804 const projections = yield * ProjectionStore . ProjectionStoreV2 ;
805805 const threads = yield * ThreadManagementService . ThreadManagementService ;
806- const threadId = ThreadId . make ( ` thread:stop-mcp-send: ${ mode } ` ) ;
806+ const threadId = ThreadId . make ( " thread:stop-mcp-send" ) ;
807807 yield * createWatchingThread ( threadId , 6 ) ;
808808 yield * send ( threadId , "active" , "start_immediately" ) ;
809809 const initial = yield * orchestrator . getThreadProjection ( threadId ) ;
@@ -868,37 +868,23 @@ it.effect.each(["auto", "steer"] as const)(
868868 } ) ;
869869 assert . deepEqual ( ( yield * threadState ( threadId ) ) . runs , [ "running" , "queued:held" ] ) ;
870870
871- const input = {
871+ const result = yield * threads . sendToThread ( {
872872 projectId : ProjectId . make ( "project:thread-stop" ) ,
873873 commandId : CommandId . make ( "command:stop-mcp-send" ) ,
874874 threadId,
875875 messageId : MessageId . make ( "message:stop-mcp-send" ) ,
876876 text : "Follow up after Stop" ,
877877 attachments : [ ] ,
878- mode,
878+ mode : "auto" ,
879879 createdBy : "agent" ,
880880 creationSource : "mcp" ,
881- } as const ;
882- if ( mode === "steer" ) {
883- const error = yield * threads . sendToThread ( input ) . pipe ( Effect . flip ) ;
884- assert . equal ( error . _tag , "OrchestratorDispatchError" ) ;
885- assert . deepEqual ( ( yield * threadState ( threadId ) ) . runs , [ "running" , "queued:held" ] ) ;
886- return ;
887- }
888-
889- const result = yield * threads . sendToThread ( input ) ;
881+ } ) ;
890882 assert . equal ( result . delivery , "queued" ) ;
891- assert . equal ( result . run . status , "queued" ) ;
892- assert . isTrue ( result . run . queueHeld ) ;
893883 assert . deepEqual ( ( yield * threadState ( threadId ) ) . runs , [
894884 "running" ,
895885 "queued:held" ,
896886 "queued:held" ,
897887 ] ) ;
898- const replay = yield * threads . sendToThread ( input ) ;
899- assert . equal ( replay . run . id , result . run . id ) ;
900- assert . equal ( replay . delivery , "queued" ) ;
901- assert . lengthOf ( ( yield * threads . getThreadProjection ( threadId ) ) . messages , 3 ) ;
902888 } ) . pipe ( Effect . provide ( layerTest ) ) ,
903889) ;
904890
0 commit comments