1616 * JetBrains — 8.6 MB 8.6 MB
1717 *
1818 * Skipped (7): Cursor, Codex CLI, Pi, Kiro, Gemini CLI, Openclaw
19- * These adapters have DBs on disk but only test fixtures, dev skeletons,
20- * or detection probes — no real chat activity.
19+ * No real chat activity: Kiro, Gemini CLI, Openclaw
20+ * Some activity, but below the real-usage threshold: Cursor, Codex CLI, Pi
2121 *
2222 * Slice 3.5 backward compat is asserted indirectly: this file passes the
2323 * `multiAdapter` opt and asserts new behaviour. The pre-existing
@@ -159,14 +159,14 @@ describe("Slice 3.2 — formatReport renders 'Where it came from' sub-block", ()
159159} ) ;
160160
161161describe ( "Slice 3.3 — Skipped adapters disclosure" , ( ) => {
162- test ( "lists skipped adapter names with count and 'no real chat activity' rationale " , ( ) => {
162+ test ( "lists skipped adapter names with count and a separate rationale per group " , ( ) => {
163163 const text = formatReport ( baseReport ( ) , "1.0.111" , null , {
164164 lifetime : lifetime ( ) ,
165165 multiAdapter : multi ( [
166166 adapter ( "claude-code" , { events : 17_413 , data : 276_700_000 , projects : new Array ( 12 ) . fill ( 0 ) . map ( ( _ , i ) => `/p/${ i } ` ) , isReal : true } ) ,
167167 adapter ( "cursor" , { events : 5 , data : 100 , projects : [ "/p/c" ] , isReal : false } ) ,
168168 adapter ( "codex" , { events : 2 , data : 50 , projects : [ "/p/cdx" ] , isReal : false } ) ,
169- adapter ( "pi" , { events : 1 , data : 20 , projects : [ "/p/pi" ] , isReal : false } ) ,
169+ adapter ( "pi" , { events : 0 , data : 0 , projects : [ "/p/pi" ] , isReal : false } ) ,
170170 ] ) ,
171171 } ) ;
172172 expect ( text ) . toMatch ( / S k i p p e d \( 3 \) : / ) ;
@@ -175,8 +175,20 @@ describe("Slice 3.3 — Skipped adapters disclosure", () => {
175175 expect ( text ) . toMatch ( / C o d e x / ) ;
176176 expect ( text ) . toMatch ( / P i / ) ;
177177 // Disclosure rationale.
178- expect ( text ) . toMatch ( / n o r e a l c h a t a c t i v i t y / i) ;
178+ expect ( text ) . toMatch ( / N o r e a l c h a t a c t i v i t y : P i / ) ;
179+ expect ( text ) . toMatch ( / b e l o w t h e r e a l - u s a g e t h r e s h o l d : C u r s o r , C o d e x C L I / ) ;
179180 } ) ;
181+ test ( "skipped adapter with some events is not described as 'no real chat activity'" , ( ) => {
182+ const text = formatReport ( baseReport ( ) , "1.0.111" , null , {
183+ lifetime : lifetime ( ) ,
184+ multiAdapter : multi ( [
185+ adapter ( "claude-code" , { events : 17_413 , data : 276_700_000 , projects : new Array ( 12 ) . fill ( 0 ) . map ( ( _ , i ) => `/p/${ i } ` ) , isReal : true } ) ,
186+ adapter ( "cursor" , { events : 40 , data : 100 , projects : [ "/p/c" ] , isReal : false } ) ,
187+ ] ) ,
188+ } ) ;
189+ expect ( text ) . not . toMatch ( / n o r e a l c h a t a c t i v i t y / i) ;
190+ expect ( text ) . toMatch ( 'below the real-usage threshold' ) ;
191+ } )
180192
181193 test ( "when no adapters are skipped, no 'Skipped' line appears" , ( ) => {
182194 const text = formatReport ( baseReport ( ) , "1.0.111" , null , {
0 commit comments