@@ -6142,6 +6142,7 @@ describe("LcmContextEngine fidelity and token budget", () => {
61426142 ) => Promise < unknown > ;
61436143 } ;
61446144 evaluateIncrementalCompaction : ( params : unknown ) => Promise < unknown > ;
6145+ refreshBootstrapState : ( params : unknown ) => Promise < void > ;
61456146 consumeDeferredCompactionDebt : ( params : unknown ) => Promise < unknown > ;
61466147 } ;
61476148 vi . spyOn ( privateEngine . compaction , "evaluateLeafTrigger" ) . mockResolvedValue ( {
@@ -6247,8 +6248,20 @@ describe("LcmContextEngine fidelity and token budget", () => {
62476248 privateEngine ,
62486249 "consumeDeferredCompactionDebt" ,
62496250 ) ;
6251+ let releaseRefresh ! : ( ) => void ;
6252+ let resolveRefreshStarted ! : ( ) => void ;
6253+ const refreshStarted = new Promise < void > ( ( resolve ) => {
6254+ resolveRefreshStarted = resolve ;
6255+ } ) ;
6256+ const refreshRelease = new Promise < void > ( ( resolve ) => {
6257+ releaseRefresh = resolve ;
6258+ } ) ;
6259+ vi . spyOn ( privateEngine , "refreshBootstrapState" ) . mockImplementation ( async ( ) => {
6260+ resolveRefreshStarted ( ) ;
6261+ await refreshRelease ;
6262+ } ) ;
62506263
6251- await engine . afterTurn ( {
6264+ const afterTurnPromise = engine . afterTurn ( {
62526265 sessionId,
62536266 sessionFile : createSessionFilePath ( "after-turn-background-busy-debt-durable" ) ,
62546267 messages : [ makeMessage ( { role : "assistant" , content : "fresh turn content" } ) ] ,
@@ -6260,13 +6273,19 @@ describe("LcmContextEngine fidelity and token budget", () => {
62606273 } ,
62616274 } ) ;
62626275
6276+ await refreshStarted ;
6277+ await flushImmediate ( ) ;
6278+ expect ( consumeDeferredCompactionDebtSpy ) . not . toHaveBeenCalled ( ) ;
6279+
62636280 let releaseQueue ! : ( ) => void ;
62646281 const heldQueue = privateEngine . withSessionQueue ( sessionId , async ( ) => {
62656282 await new Promise < void > ( ( resolve ) => {
62666283 releaseQueue = resolve ;
62676284 } ) ;
62686285 } ) ;
62696286
6287+ releaseRefresh ( ) ;
6288+ await afterTurnPromise ;
62706289 await flushImmediate ( ) ;
62716290
62726291 const conversation = await engine . getConversationStore ( ) . getConversationBySessionId ( sessionId ) ;
0 commit comments