@aiready/context-analyzer 0.21.26 → 0.21.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/.turbo/turbo-build.log +32 -25
  2. package/.turbo/turbo-test.log +51 -87
  3. package/coverage/clover.xml +392 -1878
  4. package/coverage/coverage-final.json +15 -19
  5. package/coverage/index.html +48 -63
  6. package/coverage/src/analyzers/index.html +21 -21
  7. package/coverage/src/analyzers/python-context.ts.html +96 -96
  8. package/coverage/src/ast-utils.ts.html +34 -109
  9. package/coverage/src/classifier.ts.html +104 -104
  10. package/coverage/src/classify/classification-patterns.ts.html +1 -1
  11. package/coverage/src/classify/file-classifiers.ts.html +1 -1
  12. package/coverage/src/classify/index.html +1 -1
  13. package/coverage/src/cluster-detector.ts.html +72 -72
  14. package/coverage/src/defaults.ts.html +1 -1
  15. package/coverage/src/graph-builder.ts.html +131 -131
  16. package/coverage/src/index.html +101 -116
  17. package/coverage/src/index.ts.html +2 -2
  18. package/coverage/src/issue-analyzer.ts.html +32 -83
  19. package/coverage/src/mapper.ts.html +20 -2
  20. package/coverage/src/metrics.ts.html +127 -130
  21. package/coverage/src/orchestrator.ts.html +13 -13
  22. package/coverage/src/provider.ts.html +19 -19
  23. package/coverage/src/remediation.ts.html +59 -59
  24. package/coverage/src/report/console-report.ts.html +2 -2
  25. package/coverage/src/report/html-report.ts.html +60 -84
  26. package/coverage/src/report/index.html +7 -7
  27. package/coverage/src/report/interactive-setup.ts.html +1 -1
  28. package/coverage/src/scoring.ts.html +62 -62
  29. package/coverage/src/semantic/co-usage.ts.html +1 -1
  30. package/coverage/src/semantic/consolidation.ts.html +1 -1
  31. package/coverage/src/semantic/domain-inference.ts.html +1 -1
  32. package/coverage/src/semantic/index.html +1 -1
  33. package/coverage/src/semantic/type-graph.ts.html +1 -1
  34. package/coverage/src/summary.ts.html +67 -67
  35. package/coverage/src/types.ts.html +1 -1
  36. package/coverage/src/utils/dependency-graph-utils.ts.html +41 -41
  37. package/coverage/src/utils/index.html +21 -21
  38. package/coverage/src/utils/string-utils.ts.html +1 -1
  39. package/dist/chunk-22ZO4EKZ.mjs +1297 -0
  40. package/dist/chunk-4U4LDWGF.mjs +360 -0
  41. package/dist/chunk-BA7QGUHN.mjs +1722 -0
  42. package/dist/chunk-BCEZGRXI.mjs +1297 -0
  43. package/dist/chunk-BQCISA2F.mjs +91 -0
  44. package/dist/chunk-EMYD7NS6.mjs +137 -0
  45. package/dist/chunk-EWFR366Y.mjs +1740 -0
  46. package/dist/chunk-FO6YT6RG.mjs +1751 -0
  47. package/dist/chunk-J3SZQZNU.mjs +221 -0
  48. package/dist/chunk-OZE3FVZT.mjs +1089 -0
  49. package/dist/chunk-WHB7QI7N.mjs +91 -0
  50. package/dist/cli-action-CXIHOVAC.mjs +95 -0
  51. package/dist/cli-action-SA7SCYNV.mjs +95 -0
  52. package/dist/cli-action-YAJOJCXJ.mjs +95 -0
  53. package/dist/cli.js +688 -566
  54. package/dist/cli.mjs +4 -88
  55. package/dist/index.js +889 -773
  56. package/dist/index.mjs +21 -14
  57. package/dist/orchestrator-3L3NAZYP.mjs +10 -0
  58. package/dist/orchestrator-MONOZHVW.mjs +10 -0
  59. package/dist/orchestrator-ZR7JSKWI.mjs +10 -0
  60. package/dist/summary-7PZVW72O.mjs +7 -0
  61. package/dist/summary-LKUCJAIS.mjs +7 -0
  62. package/package.json +2 -2
  63. package/src/__tests__/analyzer.test.ts +1 -1
  64. package/src/__tests__/enhanced-cohesion.test.ts +4 -1
  65. package/src/__tests__/orchestrator.test.ts +19 -4
  66. package/src/__tests__/python-context.test.ts +6 -0
  67. package/src/__tests__/report/html-report.test.ts +8 -2
  68. package/src/ast-utils.ts +1 -26
  69. package/src/cli-definition.ts +4 -2
  70. package/src/issue-analyzer.ts +4 -19
  71. package/src/metrics.ts +1 -2
  72. package/src/provider.ts +4 -4
  73. package/src/report/html-report.ts +43 -59
  74. package/coverage/dist/chunk-64U3PNO3.mjs.html +0 -367
  75. package/coverage/dist/chunk-J3MUOWHC.mjs.html +0 -5326
  76. package/coverage/dist/index.html +0 -146
  77. package/coverage/dist/index.mjs.html +0 -1396
  78. package/coverage/src/analyzer.ts.html +0 -88
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.61% </span>
26
+ <span class="strong">89.06% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1123/1376</span>
28
+ <span class='fraction'>562/631</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">74.28% </span>
33
+ <span class="strong">78.66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>757/1019</span>
35
+ <span class='fraction'>317/403</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">82.6% </span>
40
+ <span class="strong">81.81% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>171/207</span>
42
+ <span class='fraction'>72/88</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.43% </span>
47
+ <span class="strong">91.71% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>915/1110</span>
49
+ <span class='fraction'>520/567</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,63 +79,48 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file low" data-value="analyzer.ts"><a href="analyzer.ts.html">analyzer.ts</a></td>
83
- <td data-value="11.02" class="pic low">
84
- <div class="chart"><div class="cover-fill" style="width: 11%"></div><div class="cover-empty" style="width: 89%"></div></div>
85
- </td>
86
- <td data-value="11.02" class="pct low">11.02%</td>
87
- <td data-value="136" class="abs low">15/136</td>
88
- <td data-value="13.82" class="pct low">13.82%</td>
89
- <td data-value="94" class="abs low">13/94</td>
90
- <td data-value="21.05" class="pct low">21.05%</td>
91
- <td data-value="19" class="abs low">4/19</td>
92
- <td data-value="7.37" class="pct low">7.37%</td>
93
- <td data-value="122" class="abs low">9/122</td>
94
- </tr>
95
-
96
- <tr>
97
82
  <td class="file low" data-value="ast-utils.ts"><a href="ast-utils.ts.html">ast-utils.ts</a></td>
98
- <td data-value="34.61" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 34%"></div><div class="cover-empty" style="width: 66%"></div></div>
83
+ <td data-value="20.83" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 20%"></div><div class="cover-empty" style="width: 80%"></div></div>
100
85
  </td>
101
- <td data-value="34.61" class="pct low">34.61%</td>
102
- <td data-value="52" class="abs low">18/52</td>
103
- <td data-value="69.56" class="pct medium">69.56%</td>
104
- <td data-value="46" class="abs medium">32/46</td>
105
- <td data-value="42.85" class="pct low">42.85%</td>
106
- <td data-value="14" class="abs low">6/14</td>
107
- <td data-value="38.46" class="pct low">38.46%</td>
108
- <td data-value="39" class="abs low">15/39</td>
86
+ <td data-value="20.83" class="pct low">20.83%</td>
87
+ <td data-value="24" class="abs low">5/24</td>
88
+ <td data-value="20" class="pct low">20%</td>
89
+ <td data-value="10" class="abs low">2/10</td>
90
+ <td data-value="33.33" class="pct low">33.33%</td>
91
+ <td data-value="6" class="abs low">2/6</td>
92
+ <td data-value="22.22" class="pct low">22.22%</td>
93
+ <td data-value="18" class="abs low">4/18</td>
109
94
  </tr>
110
95
 
111
96
  <tr>
112
97
  <td class="file high" data-value="classifier.ts"><a href="classifier.ts.html">classifier.ts</a></td>
113
- <td data-value="93.22" class="pic high">
114
- <div class="chart"><div class="cover-fill" style="width: 93%"></div><div class="cover-empty" style="width: 7%"></div></div>
98
+ <td data-value="88.15" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
115
100
  </td>
116
- <td data-value="93.22" class="pct high">93.22%</td>
117
- <td data-value="236" class="abs high">220/236</td>
118
- <td data-value="87.01" class="pct high">87.01%</td>
119
- <td data-value="285" class="abs high">248/285</td>
101
+ <td data-value="88.15" class="pct high">88.15%</td>
102
+ <td data-value="76" class="abs high">67/76</td>
103
+ <td data-value="86.9" class="pct high">86.9%</td>
104
+ <td data-value="84" class="abs high">73/84</td>
120
105
  <td data-value="100" class="pct high">100%</td>
121
- <td data-value="37" class="abs high">37/37</td>
122
- <td data-value="95.14" class="pct high">95.14%</td>
123
- <td data-value="206" class="abs high">196/206</td>
106
+ <td data-value="5" class="abs high">5/5</td>
107
+ <td data-value="90.41" class="pct high">90.41%</td>
108
+ <td data-value="73" class="abs high">66/73</td>
124
109
  </tr>
125
110
 
126
111
  <tr>
127
112
  <td class="file high" data-value="cluster-detector.ts"><a href="cluster-detector.ts.html">cluster-detector.ts</a></td>
128
- <td data-value="100" class="pic high">
129
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
113
+ <td data-value="97.95" class="pic high">
114
+ <div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
130
115
  </td>
116
+ <td data-value="97.95" class="pct high">97.95%</td>
117
+ <td data-value="49" class="abs high">48/49</td>
118
+ <td data-value="72.72" class="pct medium">72.72%</td>
119
+ <td data-value="22" class="abs medium">16/22</td>
131
120
  <td data-value="100" class="pct high">100%</td>
132
- <td data-value="92" class="abs high">92/92</td>
133
- <td data-value="77.27" class="pct medium">77.27%</td>
134
- <td data-value="44" class="abs medium">34/44</td>
135
- <td data-value="100" class="pct high">100%</td>
136
- <td data-value="12" class="abs high">12/12</td>
137
- <td data-value="100" class="pct high">100%</td>
138
- <td data-value="71" class="abs high">71/71</td>
121
+ <td data-value="6" class="abs high">6/6</td>
122
+ <td data-value="97.77" class="pct high">97.77%</td>
123
+ <td data-value="45" class="abs high">44/45</td>
139
124
  </tr>
140
125
 
141
126
  <tr>
@@ -155,17 +140,17 @@
155
140
 
156
141
  <tr>
157
142
  <td class="file high" data-value="graph-builder.ts"><a href="graph-builder.ts.html">graph-builder.ts</a></td>
158
- <td data-value="95.4" class="pic high">
159
- <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
143
+ <td data-value="85.71" class="pic high">
144
+ <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
160
145
  </td>
161
- <td data-value="95.4" class="pct high">95.4%</td>
162
- <td data-value="196" class="abs high">187/196</td>
163
- <td data-value="78.72" class="pct medium">78.72%</td>
164
- <td data-value="94" class="abs medium">74/94</td>
165
- <td data-value="100" class="pct high">100%</td>
166
- <td data-value="25" class="abs high">25/25</td>
167
- <td data-value="97.29" class="pct high">97.29%</td>
168
- <td data-value="148" class="abs high">144/148</td>
146
+ <td data-value="85.71" class="pct high">85.71%</td>
147
+ <td data-value="77" class="abs high">66/77</td>
148
+ <td data-value="70.58" class="pct medium">70.58%</td>
149
+ <td data-value="34" class="abs medium">24/34</td>
150
+ <td data-value="91.66" class="pct high">91.66%</td>
151
+ <td data-value="12" class="abs high">11/12</td>
152
+ <td data-value="89.85" class="pct high">89.85%</td>
153
+ <td data-value="69" class="abs high">62/69</td>
169
154
  </tr>
170
155
 
171
156
  <tr>
@@ -189,13 +174,13 @@
189
174
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
190
175
  </td>
191
176
  <td data-value="100" class="pct high">100%</td>
192
- <td data-value="61" class="abs high">61/61</td>
193
- <td data-value="83.78" class="pct high">83.78%</td>
194
- <td data-value="37" class="abs high">31/37</td>
177
+ <td data-value="56" class="abs high">56/56</td>
178
+ <td data-value="80" class="pct high">80%</td>
179
+ <td data-value="30" class="abs high">24/30</td>
195
180
  <td data-value="100" class="pct high">100%</td>
196
- <td data-value="2" class="abs high">2/2</td>
181
+ <td data-value="1" class="abs high">1/1</td>
197
182
  <td data-value="100" class="pct high">100%</td>
198
- <td data-value="57" class="abs high">57/57</td>
183
+ <td data-value="52" class="abs high">52/52</td>
199
184
  </tr>
200
185
 
201
186
  <tr>
@@ -215,32 +200,32 @@
215
200
 
216
201
  <tr>
217
202
  <td class="file high" data-value="metrics.ts"><a href="metrics.ts.html">metrics.ts</a></td>
218
- <td data-value="94.42" class="pic high">
203
+ <td data-value="94.06" class="pic high">
219
204
  <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
220
205
  </td>
221
- <td data-value="94.42" class="pct high">94.42%</td>
222
- <td data-value="233" class="abs high">220/233</td>
223
- <td data-value="76.31" class="pct medium">76.31%</td>
224
- <td data-value="190" class="abs medium">145/190</td>
206
+ <td data-value="94.06" class="pct high">94.06%</td>
207
+ <td data-value="118" class="abs high">111/118</td>
208
+ <td data-value="81.25" class="pct high">81.25%</td>
209
+ <td data-value="96" class="abs high">78/96</td>
225
210
  <td data-value="100" class="pct high">100%</td>
226
- <td data-value="22" class="abs high">22/22</td>
227
- <td data-value="98.11" class="pct high">98.11%</td>
228
- <td data-value="159" class="abs high">156/159</td>
211
+ <td data-value="11" class="abs high">11/11</td>
212
+ <td data-value="97.89" class="pct high">97.89%</td>
213
+ <td data-value="95" class="abs high">93/95</td>
229
214
  </tr>
230
215
 
231
216
  <tr>
232
217
  <td class="file high" data-value="orchestrator.ts"><a href="orchestrator.ts.html">orchestrator.ts</a></td>
233
- <td data-value="90.9" class="pic high">
234
- <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
218
+ <td data-value="100" class="pic high">
219
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
235
220
  </td>
236
- <td data-value="90.9" class="pct high">90.9%</td>
237
- <td data-value="22" class="abs high">20/22</td>
221
+ <td data-value="100" class="pct high">100%</td>
222
+ <td data-value="22" class="abs high">22/22</td>
238
223
  <td data-value="85.71" class="pct high">85.71%</td>
239
224
  <td data-value="14" class="abs high">12/14</td>
240
- <td data-value="87.5" class="pct high">87.5%</td>
241
- <td data-value="8" class="abs high">7/8</td>
242
- <td data-value="90.47" class="pct high">90.47%</td>
243
- <td data-value="21" class="abs high">19/21</td>
225
+ <td data-value="100" class="pct high">100%</td>
226
+ <td data-value="8" class="abs high">8/8</td>
227
+ <td data-value="100" class="pct high">100%</td>
228
+ <td data-value="21" class="abs high">21/21</td>
244
229
  </tr>
245
230
 
246
231
  <tr>
@@ -249,58 +234,58 @@
249
234
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
250
235
  </td>
251
236
  <td data-value="100" class="pct high">100%</td>
252
- <td data-value="14" class="abs high">14/14</td>
237
+ <td data-value="11" class="abs high">11/11</td>
253
238
  <td data-value="100" class="pct high">100%</td>
254
239
  <td data-value="0" class="abs high">0/0</td>
255
240
  <td data-value="100" class="pct high">100%</td>
256
- <td data-value="7" class="abs high">7/7</td>
241
+ <td data-value="4" class="abs high">4/4</td>
257
242
  <td data-value="100" class="pct high">100%</td>
258
- <td data-value="9" class="abs high">9/9</td>
243
+ <td data-value="11" class="abs high">11/11</td>
259
244
  </tr>
260
245
 
261
246
  <tr>
262
- <td class="file high" data-value="remediation.ts"><a href="remediation.ts.html">remediation.ts</a></td>
263
- <td data-value="84.61" class="pic high">
264
- <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
247
+ <td class="file medium" data-value="remediation.ts"><a href="remediation.ts.html">remediation.ts</a></td>
248
+ <td data-value="78.04" class="pic medium">
249
+ <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
265
250
  </td>
266
- <td data-value="84.61" class="pct high">84.61%</td>
267
- <td data-value="78" class="abs high">66/78</td>
268
- <td data-value="78.57" class="pct medium">78.57%</td>
269
- <td data-value="56" class="abs medium">44/56</td>
251
+ <td data-value="78.04" class="pct medium">78.04%</td>
252
+ <td data-value="41" class="abs medium">32/41</td>
253
+ <td data-value="72.41" class="pct medium">72.41%</td>
254
+ <td data-value="29" class="abs medium">21/29</td>
270
255
  <td data-value="100" class="pct high">100%</td>
271
- <td data-value="4" class="abs high">4/4</td>
272
- <td data-value="86.56" class="pct high">86.56%</td>
273
- <td data-value="67" class="abs high">58/67</td>
256
+ <td data-value="2" class="abs high">2/2</td>
257
+ <td data-value="81.57" class="pct high">81.57%</td>
258
+ <td data-value="38" class="abs high">31/38</td>
274
259
  </tr>
275
260
 
276
261
  <tr>
277
262
  <td class="file high" data-value="scoring.ts"><a href="scoring.ts.html">scoring.ts</a></td>
278
- <td data-value="98.13" class="pic high">
263
+ <td data-value="98.3" class="pic high">
279
264
  <div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
280
265
  </td>
281
- <td data-value="98.13" class="pct high">98.13%</td>
282
- <td data-value="107" class="abs high">105/107</td>
283
- <td data-value="95.28" class="pct high">95.28%</td>
284
- <td data-value="106" class="abs high">101/106</td>
285
- <td data-value="75" class="pct medium">75%</td>
286
- <td data-value="4" class="abs medium">3/4</td>
287
- <td data-value="97.93" class="pct high">97.93%</td>
288
- <td data-value="97" class="abs high">95/97</td>
266
+ <td data-value="98.3" class="pct high">98.3%</td>
267
+ <td data-value="59" class="abs high">58/59</td>
268
+ <td data-value="91.83" class="pct high">91.83%</td>
269
+ <td data-value="49" class="abs high">45/49</td>
270
+ <td data-value="50" class="pct medium">50%</td>
271
+ <td data-value="2" class="abs medium">1/2</td>
272
+ <td data-value="98.3" class="pct high">98.3%</td>
273
+ <td data-value="59" class="abs high">58/59</td>
289
274
  </tr>
290
275
 
291
276
  <tr>
292
- <td class="file medium" data-value="summary.ts"><a href="summary.ts.html">summary.ts</a></td>
293
- <td data-value="61.32" class="pic medium">
294
- <div class="chart"><div class="cover-fill" style="width: 61%"></div><div class="cover-empty" style="width: 39%"></div></div>
277
+ <td class="file high" data-value="summary.ts"><a href="summary.ts.html">summary.ts</a></td>
278
+ <td data-value="83.63" class="pic high">
279
+ <div class="chart"><div class="cover-fill" style="width: 83%"></div><div class="cover-empty" style="width: 17%"></div></div>
295
280
  </td>
296
- <td data-value="61.32" class="pct medium">61.32%</td>
297
- <td data-value="106" class="abs medium">65/106</td>
298
- <td data-value="30.76" class="pct low">30.76%</td>
299
- <td data-value="39" class="abs low">12/39</td>
300
- <td data-value="82.97" class="pct high">82.97%</td>
301
- <td data-value="47" class="abs high">39/47</td>
302
- <td data-value="62.16" class="pct medium">62.16%</td>
303
- <td data-value="74" class="abs medium">46/74</td>
281
+ <td data-value="83.63" class="pct high">83.63%</td>
282
+ <td data-value="55" class="abs high">46/55</td>
283
+ <td data-value="52.38" class="pct medium">52.38%</td>
284
+ <td data-value="21" class="abs medium">11/21</td>
285
+ <td data-value="72" class="pct medium">72%</td>
286
+ <td data-value="25" class="abs medium">18/25</td>
287
+ <td data-value="82.6" class="pct high">82.6%</td>
288
+ <td data-value="46" class="abs high">38/46</td>
304
289
  </tr>
305
290
 
306
291
  <tr>
@@ -326,7 +311,7 @@
326
311
  <div class='footer quiet pad2 space-top1 center small'>
327
312
  Code coverage generated by
328
313
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
329
- at 2026-03-21T12:52:37.698Z
314
+ at 2026-03-24T11:20:59.666Z
330
315
  </div>
331
316
  <script src="../prettify.js"></script>
332
317
  <script>
@@ -133,7 +133,7 @@ import { ContextAnalyzerProvider } from './provider';
133
133
  // Register with global registry
134
134
  ToolRegistry.register(ContextAnalyzerProvider);
135
135
  &nbsp;
136
- export * from './analyzer';
136
+ export * from './orchestrator';
137
137
  export * from './graph-builder';
138
138
  export * from './metrics';
139
139
  export * from './classifier';
@@ -166,7 +166,7 @@ export { ContextAnalyzerProvider };
166
166
  <div class='footer quiet pad2 space-top1 center small'>
167
167
  Code coverage generated by
168
168
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
169
- at 2026-03-21T12:52:37.698Z
169
+ at 2026-03-24T11:20:59.666Z
170
170
  </div>
171
171
  <script src="../prettify.js"></script>
172
172
  <script>
@@ -25,28 +25,28 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>61/61</span>
28
+ <span class='fraction'>56/56</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">83.78% </span>
33
+ <span class="strong">80% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>31/37</span>
35
+ <span class='fraction'>24/30</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
42
+ <span class='fraction'>1/1</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>57/57</span>
49
+ <span class='fraction'>52/52</span>
50
50
  </div>
51
51
 
52
52
 
@@ -204,24 +204,7 @@
204
204
  <a name='L139'></a><a href='#L139'>139</a>
205
205
  <a name='L140'></a><a href='#L140'>140</a>
206
206
  <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
207
+ <a name='L142'></a><a href='#L142'>142</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
225
208
  <span class="cline-any cline-neutral">&nbsp;</span>
226
209
  <span class="cline-any cline-neutral">&nbsp;</span>
227
210
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -262,15 +245,18 @@
262
245
  <span class="cline-any cline-neutral">&nbsp;</span>
263
246
  <span class="cline-any cline-neutral">&nbsp;</span>
264
247
  <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-yes">16x</span>
266
248
  <span class="cline-any cline-neutral">&nbsp;</span>
267
- <span class="cline-any cline-yes">16x</span>
268
- <span class="cline-any cline-yes">16x</span>
269
- <span class="cline-any cline-yes">16x</span>
270
- <span class="cline-any cline-yes">16x</span>
271
249
  <span class="cline-any cline-neutral">&nbsp;</span>
272
250
  <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-yes">16x</span>
251
+ <span class="cline-any cline-yes">17x</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-yes">17x</span>
254
+ <span class="cline-any cline-yes">17x</span>
255
+ <span class="cline-any cline-yes">17x</span>
256
+ <span class="cline-any cline-yes">17x</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-yes">17x</span>
274
260
  <span class="cline-any cline-yes">1x</span>
275
261
  <span class="cline-any cline-yes">1x</span>
276
262
  <span class="cline-any cline-yes">1x</span>
@@ -280,12 +266,12 @@
280
266
  <span class="cline-any cline-neutral">&nbsp;</span>
281
267
  <span class="cline-any cline-neutral">&nbsp;</span>
282
268
  <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-yes">16x</span>
269
+ <span class="cline-any cline-yes">17x</span>
284
270
  <span class="cline-any cline-yes">1x</span>
285
271
  <span class="cline-any cline-yes">1x</span>
286
272
  <span class="cline-any cline-yes">1x</span>
287
273
  <span class="cline-any cline-yes">1x</span>
288
- <span class="cline-any cline-yes">15x</span>
274
+ <span class="cline-any cline-yes">16x</span>
289
275
  <span class="cline-any cline-yes">1x</span>
290
276
  <span class="cline-any cline-yes">1x</span>
291
277
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -295,7 +281,7 @@
295
281
  <span class="cline-any cline-neutral">&nbsp;</span>
296
282
  <span class="cline-any cline-neutral">&nbsp;</span>
297
283
  <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-yes">16x</span>
284
+ <span class="cline-any cline-yes">17x</span>
299
285
  <span class="cline-any cline-yes">1x</span>
300
286
  <span class="cline-any cline-yes">1x</span>
301
287
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -304,7 +290,7 @@
304
290
  <span class="cline-any cline-neutral">&nbsp;</span>
305
291
  <span class="cline-any cline-neutral">&nbsp;</span>
306
292
  <span class="cline-any cline-yes">1x</span>
307
- <span class="cline-any cline-yes">15x</span>
293
+ <span class="cline-any cline-yes">16x</span>
308
294
  <span class="cline-any cline-yes">1x</span>
309
295
  <span class="cline-any cline-yes">1x</span>
310
296
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -314,7 +300,7 @@
314
300
  <span class="cline-any cline-neutral">&nbsp;</span>
315
301
  <span class="cline-any cline-neutral">&nbsp;</span>
316
302
  <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-yes">16x</span>
303
+ <span class="cline-any cline-yes">17x</span>
318
304
  <span class="cline-any cline-yes">1x</span>
319
305
  <span class="cline-any cline-yes">1x</span>
320
306
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -323,7 +309,7 @@
323
309
  <span class="cline-any cline-neutral">&nbsp;</span>
324
310
  <span class="cline-any cline-neutral">&nbsp;</span>
325
311
  <span class="cline-any cline-yes">1x</span>
326
- <span class="cline-any cline-yes">15x</span>
312
+ <span class="cline-any cline-yes">16x</span>
327
313
  <span class="cline-any cline-yes">1x</span>
328
314
  <span class="cline-any cline-yes">1x</span>
329
315
  <span class="cline-any cline-yes">1x</span>
@@ -331,7 +317,7 @@
331
317
  <span class="cline-any cline-neutral">&nbsp;</span>
332
318
  <span class="cline-any cline-neutral">&nbsp;</span>
333
319
  <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-yes">16x</span>
320
+ <span class="cline-any cline-yes">17x</span>
335
321
  <span class="cline-any cline-yes">1x</span>
336
322
  <span class="cline-any cline-yes">1x</span>
337
323
  <span class="cline-any cline-yes">1x</span>
@@ -341,45 +327,28 @@
341
327
  <span class="cline-any cline-yes">1x</span>
342
328
  <span class="cline-any cline-neutral">&nbsp;</span>
343
329
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-yes">16x</span>
345
- <span class="cline-any cline-yes">8x</span>
346
- <span class="cline-any cline-yes">8x</span>
347
330
  <span class="cline-any cline-neutral">&nbsp;</span>
348
331
  <span class="cline-any cline-neutral">&nbsp;</span>
349
332
  <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-yes">16x</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-yes">17x</span>
351
335
  <span class="cline-any cline-yes">1x</span>
352
336
  <span class="cline-any cline-yes">1x</span>
353
337
  <span class="cline-any cline-yes">1x</span>
354
338
  <span class="cline-any cline-yes">1x</span>
355
339
  <span class="cline-any cline-neutral">&nbsp;</span>
356
340
  <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-yes">16x</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-yes">17x</span>
360
342
  <span class="cline-any cline-neutral">&nbsp;</span>
361
343
  <span class="cline-any cline-neutral">&nbsp;</span>
362
344
  <span class="cline-any cline-neutral">&nbsp;</span>
363
345
  <span class="cline-any cline-neutral">&nbsp;</span>
364
346
  <span class="cline-any cline-neutral">&nbsp;</span>
365
347
  <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-yes">24x</span>
374
- <span class="cline-any cline-yes">24x</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-neutral">&nbsp;</span>
380
- <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Severity } from '@aiready/core';
348
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Severity, isBuildArtifact } from '@aiready/core';
349
+ &nbsp;
350
+ // Re-export for testing
351
+ export { isBuildArtifact };
383
352
  &nbsp;
384
353
  /**
385
354
  * Internal issue analysis logic
@@ -499,10 +468,8 @@ export function analyzeIssues(params: {
499
468
  potentialSavings += contextBudget * 0.3;
500
469
  }
501
470
  &nbsp;
502
- if (issues.length === 0) {
503
- issues.push('No significant issues detected');
504
- recommendations.push('File is well-structured for AI context usage');
505
- }
471
+ // Don't create issues when there are no real problems
472
+ // This prevents false positives that artificially lower scores
506
473
  &nbsp;
507
474
  // Detect build artifacts
508
475
  if (isBuildArtifact(file)) {
@@ -519,24 +486,6 @@ export function analyzeIssues(params: {
519
486
  potentialSavings: Math.floor(potentialSavings),
520
487
  };
521
488
  }
522
- &nbsp;
523
- /**
524
- * Determines if a file path belongs to a build artifact or dependency folder.
525
- * Helps exclude generated files from analysis to prevent false positives.
526
- *
527
- * @param filePath - The path to check
528
- * @returns True if the file is a build artifact, false otherwise
529
- */
530
- export function isBuildArtifact(filePath: string): boolean {
531
- const lower = filePath.toLowerCase();
532
- return (
533
- lower.includes('/node_modules/') ||
534
- lower.includes('/dist/') ||
535
- lower.includes('/build/') ||
536
- lower.includes('/out/') ||
537
- lower.includes('/.next/')
538
- );
539
- }
540
489
  &nbsp;</pre></td></tr></table></pre>
541
490
 
542
491
  <div class='push'></div><!-- for sticky footer -->
@@ -544,7 +493,7 @@ export function isBuildArtifact(filePath: string): boolean {
544
493
  <div class='footer quiet pad2 space-top1 center small'>
545
494
  Code coverage generated by
546
495
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
547
- at 2026-03-21T12:52:37.698Z
496
+ at 2026-03-24T11:20:59.666Z
548
497
  </div>
549
498
  <script src="../prettify.js"></script>
550
499
  <script>