@@ -66,7 +66,7 @@ function liveResultText(turns: ConversationTurn[]): string {
6666 . join ( "\n" ) ;
6767}
6868
69- describe ( "CL-10535 single excerpt per tail turn" , ( ) => {
69+ describe ( "excerpt once per tail turn" , ( ) => {
7070 test ( "compactor excerpts each tail turn exactly once with identical values" , async ( ) => {
7171 const dump = "z" . repeat ( 12_000 ) ;
7272 const turns : ConversationTurn [ ] = [
@@ -80,8 +80,6 @@ describe("CL-10535 single excerpt per tail turn", () => {
8080
8181 const before = excerptTailTurnCallCount ( ) ;
8282 const result = await createPruningCompactor ( {
83- // Generous budget: every tail turn is a candidate, so a full pass
84- // must excerpt each turn exactly once.
8583 compactionShape : { tailBudgetTokens : 1_000_000 } ,
8684 summarize : async ( ) => {
8785 throw new Error ( "must not invent a summary: nothing excluded" ) ;
@@ -90,13 +88,8 @@ describe("CL-10535 single excerpt per tail turn", () => {
9088
9189 const calls = excerptTailTurnCallCount ( ) - before ;
9290
93- // One excerptTailTurn call per tail turn — never the same turn twice
94- // (the closure estimate, turnCost, and emitted live copies share the
95- // first excerpt).
9691 expect ( calls ) . toBe ( turns . length ) ;
9792
98- // Values stay identical to the pre-fix behavior: the oversized outputs
99- // are still head+tail excerpted in the live tail.
10093 const live = liveResultText ( result . output ) ;
10194 expect ( live . match ( / \[ t a i l - s h o r t e n e d \d + → / g) ?. length ?? 0 ) . toBe ( 3 ) ;
10295 expect ( live ) . not . toContain ( dump ) ;
0 commit comments