@@ -925,6 +925,44 @@ describe("spawn_agent same-cwd concurrency", () => {
925925 defined ( gates [ 2 ] ) . resolve ( { report : "c done" } ) ;
926926 defined ( gates [ 3 ] ) . resolve ( { report : "d done" } ) ;
927927 } ) ;
928+
929+ test ( "a queued mutating peer does not log concurrent-lane-overlap" , async ( ) => {
930+ const dir = await mkdtemp ( join ( tmpdir ( ) , "fleet-overlap-queued-" ) ) ;
931+ const gates = [
932+ deferred < RunSubAgentResult > ( ) ,
933+ deferred < RunSubAgentResult > ( ) ,
934+ ] ;
935+ let callIndex = 0 ;
936+ const deps = makeDeps ( async ( ) => defined ( gates [ callIndex ++ ] ) . promise , {
937+ cwd : "/repo" ,
938+ } ) ;
939+ deps . getWorkdirBase = ( ) => dir ;
940+ deps . admission = createAdmissionQueue ( { capacity : 1 } ) ;
941+ const spawn = createSpawnAgentTool ( deps ) ;
942+
943+ const first = await callTool ( spawn , {
944+ description : "holder" ,
945+ prompt : "implement holder" ,
946+ intent : "implement" ,
947+ success_criteria : [ "holder ships" ] ,
948+ } ) ;
949+ const queued = await callTool ( spawn , {
950+ description : "queued writer" ,
951+ prompt : "implement queued" ,
952+ intent : "implement" ,
953+ success_criteria : [ "queued ships" ] ,
954+ } ) ;
955+ expect ( first . status ) . toBe ( "running" ) ;
956+ expect ( queued . status ) . toBe ( "queued" ) ;
957+ await new Promise ( ( resolve ) => setTimeout ( resolve , 50 ) ) ;
958+
959+ await expect (
960+ readFile ( join ( dir , INTERVENTION_FILE ) , "utf8" ) ,
961+ ) . rejects . toThrow ( ) ;
962+
963+ defined ( gates [ 0 ] ) . resolve ( { report : "holder done" } ) ;
964+ defined ( gates [ 1 ] ) . resolve ( { report : "queued done" } ) ;
965+ } ) ;
928966} ) ;
929967
930968describe ( "wait mailbox session tombstone and pin" , ( ) => {
0 commit comments