@aiready/context-analyzer 0.21.1 → 0.21.6

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 (153) hide show
  1. package/.aiready/aiready-report-20260314-222254.json +39216 -0
  2. package/.aiready/aiready-report-20260314-223947.json +3413 -0
  3. package/.aiready/aiready-report-20260314-224112.json +3413 -0
  4. package/.aiready/aiready-report-20260314-224302.json +2973 -0
  5. package/.aiready/aiready-report-20260314-224939.json +3092 -0
  6. package/.aiready/aiready-report-20260314-225154.json +3092 -0
  7. package/.turbo/turbo-build.log +13 -12
  8. package/.turbo/turbo-test.log +32 -341
  9. package/dist/__tests__/analyzer.test.js +55 -14
  10. package/dist/__tests__/analyzer.test.js.map +1 -1
  11. package/dist/__tests__/cluster-detector.test.d.ts +2 -0
  12. package/dist/__tests__/cluster-detector.test.d.ts.map +1 -0
  13. package/dist/__tests__/cluster-detector.test.js +121 -0
  14. package/dist/__tests__/cluster-detector.test.js.map +1 -0
  15. package/dist/__tests__/contract.test.d.ts +2 -0
  16. package/dist/__tests__/contract.test.d.ts.map +1 -0
  17. package/dist/__tests__/contract.test.js +59 -0
  18. package/dist/__tests__/contract.test.js.map +1 -0
  19. package/dist/__tests__/enhanced-cohesion.test.js +12 -2
  20. package/dist/__tests__/enhanced-cohesion.test.js.map +1 -1
  21. package/dist/__tests__/file-classification.test.d.ts +2 -0
  22. package/dist/__tests__/file-classification.test.d.ts.map +1 -0
  23. package/dist/__tests__/file-classification.test.js +749 -0
  24. package/dist/__tests__/file-classification.test.js.map +1 -0
  25. package/dist/__tests__/fragmentation-advanced.test.js +2 -8
  26. package/dist/__tests__/fragmentation-advanced.test.js.map +1 -1
  27. package/dist/__tests__/fragmentation-coupling.test.js +2 -2
  28. package/dist/__tests__/fragmentation-coupling.test.js.map +1 -1
  29. package/dist/__tests__/fragmentation-log.test.js +3 -7
  30. package/dist/__tests__/fragmentation-log.test.js.map +1 -1
  31. package/dist/__tests__/provider.test.d.ts +2 -0
  32. package/dist/__tests__/provider.test.d.ts.map +1 -0
  33. package/dist/__tests__/provider.test.js +72 -0
  34. package/dist/__tests__/provider.test.js.map +1 -0
  35. package/dist/__tests__/remediation.test.d.ts +2 -0
  36. package/dist/__tests__/remediation.test.d.ts.map +1 -0
  37. package/dist/__tests__/remediation.test.js +61 -0
  38. package/dist/__tests__/remediation.test.js.map +1 -0
  39. package/dist/__tests__/scoring.test.js +196 -16
  40. package/dist/__tests__/scoring.test.js.map +1 -1
  41. package/dist/__tests__/structural-cohesion.test.js +8 -2
  42. package/dist/__tests__/structural-cohesion.test.js.map +1 -1
  43. package/dist/analyzer.d.ts +31 -94
  44. package/dist/analyzer.d.ts.map +1 -1
  45. package/dist/analyzer.js +260 -678
  46. package/dist/analyzer.js.map +1 -1
  47. package/dist/analyzers/python-context.d.ts.map +1 -1
  48. package/dist/analyzers/python-context.js +10 -8
  49. package/dist/analyzers/python-context.js.map +1 -1
  50. package/dist/ast-utils.d.ts +16 -0
  51. package/dist/ast-utils.d.ts.map +1 -0
  52. package/dist/ast-utils.js +81 -0
  53. package/dist/ast-utils.js.map +1 -0
  54. package/dist/chunk-64U3PNO3.mjs +94 -0
  55. package/dist/chunk-CDIVYADN.mjs +2110 -0
  56. package/dist/chunk-D3SIHB2V.mjs +2118 -0
  57. package/dist/chunk-FNPSK3CG.mjs +1760 -0
  58. package/dist/chunk-GXTGOLZT.mjs +92 -0
  59. package/dist/chunk-LERPI33Y.mjs +2060 -0
  60. package/dist/chunk-MZP3G7TF.mjs +2118 -0
  61. package/dist/chunk-NOHK5DLU.mjs +2173 -0
  62. package/dist/chunk-ORLC5Y4J.mjs +1787 -0
  63. package/dist/chunk-OTCQL7DY.mjs +2045 -0
  64. package/dist/chunk-OUYSZZ7X.mjs +1846 -0
  65. package/dist/chunk-SFK6XTJE.mjs +2110 -0
  66. package/dist/chunk-U5R2FTCR.mjs +1803 -0
  67. package/dist/chunk-UU4HZ7ZT.mjs +1849 -0
  68. package/dist/chunk-W2KNBN6W.mjs +1849 -0
  69. package/dist/chunk-WKOZOHOU.mjs +2060 -0
  70. package/dist/chunk-XIXAWCMS.mjs +1760 -0
  71. package/dist/classifier.d.ts +114 -0
  72. package/dist/classifier.d.ts.map +1 -0
  73. package/dist/classifier.js +439 -0
  74. package/dist/classifier.js.map +1 -0
  75. package/dist/cli.js +591 -1057
  76. package/dist/cli.js.map +1 -1
  77. package/dist/cli.mjs +63 -533
  78. package/dist/cluster-detector.d.ts +8 -0
  79. package/dist/cluster-detector.d.ts.map +1 -0
  80. package/dist/cluster-detector.js +70 -0
  81. package/dist/cluster-detector.js.map +1 -0
  82. package/dist/defaults.d.ts +7 -0
  83. package/dist/defaults.d.ts.map +1 -0
  84. package/dist/defaults.js +54 -0
  85. package/dist/defaults.js.map +1 -0
  86. package/dist/graph-builder.d.ts +33 -0
  87. package/dist/graph-builder.d.ts.map +1 -0
  88. package/dist/graph-builder.js +225 -0
  89. package/dist/graph-builder.js.map +1 -0
  90. package/dist/index.d.mts +24 -31
  91. package/dist/index.d.ts +24 -31
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +822 -588
  94. package/dist/index.js.map +1 -1
  95. package/dist/index.mjs +265 -8
  96. package/dist/metrics.d.ts +34 -0
  97. package/dist/metrics.d.ts.map +1 -0
  98. package/dist/metrics.js +170 -0
  99. package/dist/metrics.js.map +1 -0
  100. package/dist/provider.d.ts +6 -0
  101. package/dist/provider.d.ts.map +1 -0
  102. package/dist/provider.js +48 -0
  103. package/dist/provider.js.map +1 -0
  104. package/dist/python-context-3GZKN3LR.mjs +162 -0
  105. package/dist/python-context-O2EN3M6Z.mjs +162 -0
  106. package/dist/remediation.d.ts +25 -0
  107. package/dist/remediation.d.ts.map +1 -0
  108. package/dist/remediation.js +98 -0
  109. package/dist/remediation.js.map +1 -0
  110. package/dist/scoring.d.ts +3 -7
  111. package/dist/scoring.d.ts.map +1 -1
  112. package/dist/scoring.js +57 -48
  113. package/dist/scoring.js.map +1 -1
  114. package/dist/semantic-analysis.d.ts +12 -23
  115. package/dist/semantic-analysis.d.ts.map +1 -1
  116. package/dist/semantic-analysis.js +172 -110
  117. package/dist/semantic-analysis.js.map +1 -1
  118. package/dist/summary.d.ts +6 -0
  119. package/dist/summary.d.ts.map +1 -0
  120. package/dist/summary.js +92 -0
  121. package/dist/summary.js.map +1 -0
  122. package/dist/types.d.ts +9 -2
  123. package/dist/types.d.ts.map +1 -1
  124. package/dist/utils/output-formatter.d.ts +14 -0
  125. package/dist/utils/output-formatter.d.ts.map +1 -0
  126. package/dist/utils/output-formatter.js +338 -0
  127. package/dist/utils/output-formatter.js.map +1 -0
  128. package/package.json +2 -2
  129. package/src/__tests__/analyzer.test.ts +1 -1
  130. package/src/__tests__/auto-detection.test.ts +1 -1
  131. package/src/__tests__/contract.test.ts +1 -1
  132. package/src/__tests__/enhanced-cohesion.test.ts +1 -1
  133. package/src/__tests__/file-classification.test.ts +1 -1
  134. package/src/__tests__/fragmentation-advanced.test.ts +1 -1
  135. package/src/__tests__/fragmentation-coupling.test.ts +1 -1
  136. package/src/__tests__/fragmentation-log.test.ts +1 -1
  137. package/src/__tests__/provider.test.ts +1 -1
  138. package/src/__tests__/scoring.test.ts +217 -9
  139. package/src/__tests__/structural-cohesion.test.ts +1 -1
  140. package/src/analyzer.ts +96 -309
  141. package/src/analyzers/python-context.ts +7 -76
  142. package/src/cli-action.ts +103 -0
  143. package/src/cli.ts +12 -693
  144. package/src/cluster-detector.ts +1 -1
  145. package/src/graph-builder.ts +9 -85
  146. package/src/index.ts +6 -0
  147. package/src/issue-analyzer.ts +143 -0
  148. package/src/scoring.ts +40 -20
  149. package/src/semantic-analysis.ts +1 -14
  150. package/src/summary.ts +62 -106
  151. package/src/utils/dependency-graph-utils.ts +126 -0
  152. package/src/utils/output-formatter.ts +411 -0
  153. package/src/utils/string-utils.ts +17 -0
@@ -0,0 +1,3092 @@
1
+ {
2
+ "summary": {
3
+ "totalIssues": 22,
4
+ "criticalIssues": 9,
5
+ "majorIssues": 0,
6
+ "totalFiles": 18,
7
+ "toolsRun": ["context-analyzer"],
8
+ "executionTime": 127,
9
+ "config": {
10
+ "scan": {
11
+ "tools": ["context"]
12
+ },
13
+ "tools": {
14
+ "context-analyzer": {}
15
+ }
16
+ },
17
+ "toolConfigs": {
18
+ "context-analyzer": {}
19
+ },
20
+ "businessImpact": {
21
+ "estimatedMonthlyWaste": 1455,
22
+ "potentialSavings": 1455,
23
+ "productivityHours": 39
24
+ }
25
+ },
26
+ "context-analyzer": {
27
+ "results": [
28
+ {
29
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
30
+ "issues": [
31
+ {
32
+ "type": "context-fragmentation",
33
+ "severity": "info",
34
+ "message": "No significant issues detected",
35
+ "location": {
36
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
37
+ "line": 1
38
+ },
39
+ "suggestion": "File is well-structured for AI context usage"
40
+ }
41
+ ],
42
+ "metrics": {
43
+ "tokenCost": 1548,
44
+ "complexityScore": 0
45
+ }
46
+ },
47
+ {
48
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
49
+ "issues": [
50
+ {
51
+ "type": "context-fragmentation",
52
+ "severity": "info",
53
+ "message": "No significant issues detected",
54
+ "location": {
55
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
56
+ "line": 1
57
+ },
58
+ "suggestion": "File is well-structured for AI context usage"
59
+ }
60
+ ],
61
+ "metrics": {
62
+ "tokenCost": 998,
63
+ "complexityScore": 4
64
+ }
65
+ },
66
+ {
67
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
68
+ "issues": [
69
+ {
70
+ "type": "context-fragmentation",
71
+ "severity": "info",
72
+ "message": "No significant issues detected",
73
+ "location": {
74
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
75
+ "line": 1
76
+ },
77
+ "suggestion": "File is well-structured for AI context usage"
78
+ }
79
+ ],
80
+ "metrics": {
81
+ "tokenCost": 2512,
82
+ "complexityScore": 1
83
+ }
84
+ },
85
+ {
86
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
87
+ "issues": [
88
+ {
89
+ "type": "context-fragmentation",
90
+ "severity": "info",
91
+ "message": "No significant issues detected",
92
+ "location": {
93
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
94
+ "line": 1
95
+ },
96
+ "suggestion": "File is well-structured for AI context usage"
97
+ }
98
+ ],
99
+ "metrics": {
100
+ "tokenCost": 1442,
101
+ "complexityScore": 1
102
+ }
103
+ },
104
+ {
105
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
106
+ "issues": [
107
+ {
108
+ "type": "context-fragmentation",
109
+ "severity": "info",
110
+ "message": "No significant issues detected",
111
+ "location": {
112
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
113
+ "line": 1
114
+ },
115
+ "suggestion": "File is well-structured for AI context usage"
116
+ }
117
+ ],
118
+ "metrics": {
119
+ "tokenCost": 1099,
120
+ "complexityScore": 1
121
+ }
122
+ },
123
+ {
124
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
125
+ "issues": [
126
+ {
127
+ "type": "context-fragmentation",
128
+ "severity": "critical",
129
+ "message": "Import depth 6 exceeds recommended maximum 5",
130
+ "location": {
131
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
132
+ "line": 1
133
+ },
134
+ "suggestion": "Consider reducing dependency depth"
135
+ },
136
+ {
137
+ "type": "context-fragmentation",
138
+ "severity": "critical",
139
+ "message": "Context budget 19,471 tokens is 50% over limit",
140
+ "location": {
141
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
142
+ "line": 1
143
+ },
144
+ "suggestion": "Consider reducing dependency depth"
145
+ }
146
+ ],
147
+ "metrics": {
148
+ "tokenCost": 466,
149
+ "complexityScore": 6
150
+ }
151
+ },
152
+ {
153
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
154
+ "issues": [
155
+ {
156
+ "type": "context-fragmentation",
157
+ "severity": "info",
158
+ "message": "No significant issues detected",
159
+ "location": {
160
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
161
+ "line": 1
162
+ },
163
+ "suggestion": "File is well-structured for AI context usage"
164
+ }
165
+ ],
166
+ "metrics": {
167
+ "tokenCost": 1534,
168
+ "complexityScore": 3
169
+ }
170
+ },
171
+ {
172
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
173
+ "issues": [
174
+ {
175
+ "type": "context-fragmentation",
176
+ "severity": "info",
177
+ "message": "No significant issues detected",
178
+ "location": {
179
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
180
+ "line": 1
181
+ },
182
+ "suggestion": "File is well-structured for AI context usage"
183
+ }
184
+ ],
185
+ "metrics": {
186
+ "tokenCost": 1105,
187
+ "complexityScore": 0
188
+ }
189
+ },
190
+ {
191
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
192
+ "issues": [
193
+ {
194
+ "type": "context-fragmentation",
195
+ "severity": "critical",
196
+ "message": "Import depth 7 exceeds recommended maximum 5",
197
+ "location": {
198
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
199
+ "line": 1
200
+ },
201
+ "suggestion": "Consider reducing dependency depth"
202
+ },
203
+ {
204
+ "type": "context-fragmentation",
205
+ "severity": "critical",
206
+ "message": "Context budget 19,619 tokens is 50% over limit",
207
+ "location": {
208
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
209
+ "line": 1
210
+ },
211
+ "suggestion": "Consider reducing dependency depth"
212
+ }
213
+ ],
214
+ "metrics": {
215
+ "tokenCost": 148,
216
+ "complexityScore": 7
217
+ }
218
+ },
219
+ {
220
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
221
+ "issues": [
222
+ {
223
+ "type": "context-fragmentation",
224
+ "severity": "info",
225
+ "message": "No significant issues detected",
226
+ "location": {
227
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
228
+ "line": 1
229
+ },
230
+ "suggestion": "File is well-structured for AI context usage"
231
+ }
232
+ ],
233
+ "metrics": {
234
+ "tokenCost": 1854,
235
+ "complexityScore": 3
236
+ }
237
+ },
238
+ {
239
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
240
+ "issues": [
241
+ {
242
+ "type": "context-fragmentation",
243
+ "severity": "info",
244
+ "message": "No significant issues detected",
245
+ "location": {
246
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
247
+ "line": 1
248
+ },
249
+ "suggestion": "File is well-structured for AI context usage"
250
+ }
251
+ ],
252
+ "metrics": {
253
+ "tokenCost": 378,
254
+ "complexityScore": 1
255
+ }
256
+ },
257
+ {
258
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
259
+ "issues": [
260
+ {
261
+ "type": "context-fragmentation",
262
+ "severity": "info",
263
+ "message": "No significant issues detected",
264
+ "location": {
265
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
266
+ "line": 1
267
+ },
268
+ "suggestion": "File is well-structured for AI context usage"
269
+ }
270
+ ],
271
+ "metrics": {
272
+ "tokenCost": 711,
273
+ "complexityScore": 4
274
+ }
275
+ },
276
+ {
277
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
278
+ "issues": [
279
+ {
280
+ "type": "context-fragmentation",
281
+ "severity": "critical",
282
+ "message": "Import depth 7 exceeds recommended maximum 5",
283
+ "location": {
284
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
285
+ "line": 1
286
+ },
287
+ "suggestion": "Consider reducing dependency depth"
288
+ },
289
+ {
290
+ "type": "context-fragmentation",
291
+ "severity": "critical",
292
+ "message": "Context budget 21,633 tokens is 50% over limit",
293
+ "location": {
294
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
295
+ "line": 1
296
+ },
297
+ "suggestion": "Consider reducing dependency depth"
298
+ }
299
+ ],
300
+ "metrics": {
301
+ "tokenCost": 1200,
302
+ "complexityScore": 7
303
+ }
304
+ },
305
+ {
306
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
307
+ "issues": [
308
+ {
309
+ "type": "context-fragmentation",
310
+ "severity": "info",
311
+ "message": "No significant issues detected",
312
+ "location": {
313
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
314
+ "line": 1
315
+ },
316
+ "suggestion": "File is well-structured for AI context usage"
317
+ }
318
+ ],
319
+ "metrics": {
320
+ "tokenCost": 3968,
321
+ "complexityScore": 1
322
+ }
323
+ },
324
+ {
325
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
326
+ "issues": [
327
+ {
328
+ "type": "context-fragmentation",
329
+ "severity": "info",
330
+ "message": "No significant issues detected",
331
+ "location": {
332
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
333
+ "line": 1
334
+ },
335
+ "suggestion": "File is well-structured for AI context usage"
336
+ }
337
+ ],
338
+ "metrics": {
339
+ "tokenCost": 743,
340
+ "complexityScore": 2
341
+ }
342
+ },
343
+ {
344
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
345
+ "issues": [
346
+ {
347
+ "type": "context-fragmentation",
348
+ "severity": "critical",
349
+ "message": "Context budget 16,565 tokens is 50% over limit",
350
+ "location": {
351
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
352
+ "line": 1
353
+ },
354
+ "suggestion": "Split into smaller modules or reduce dependency tree"
355
+ }
356
+ ],
357
+ "metrics": {
358
+ "tokenCost": 1491,
359
+ "complexityScore": 5
360
+ }
361
+ },
362
+ {
363
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
364
+ "issues": [
365
+ {
366
+ "type": "context-fragmentation",
367
+ "severity": "critical",
368
+ "message": "Import depth 6 exceeds recommended maximum 5",
369
+ "location": {
370
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
371
+ "line": 1
372
+ },
373
+ "suggestion": "Consider reducing dependency depth"
374
+ },
375
+ {
376
+ "type": "context-fragmentation",
377
+ "severity": "critical",
378
+ "message": "Context budget 20,433 tokens is 50% over limit",
379
+ "location": {
380
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
381
+ "line": 1
382
+ },
383
+ "suggestion": "Consider reducing dependency depth"
384
+ }
385
+ ],
386
+ "metrics": {
387
+ "tokenCost": 2870,
388
+ "complexityScore": 6
389
+ }
390
+ },
391
+ {
392
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
393
+ "issues": [
394
+ {
395
+ "type": "context-fragmentation",
396
+ "severity": "info",
397
+ "message": "No significant issues detected",
398
+ "location": {
399
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
400
+ "line": 1
401
+ },
402
+ "suggestion": "File is well-structured for AI context usage"
403
+ }
404
+ ],
405
+ "metrics": {
406
+ "tokenCost": 2063,
407
+ "complexityScore": 0
408
+ }
409
+ }
410
+ ],
411
+ "summary": {
412
+ "totalFiles": 18,
413
+ "criticalIssues": 5,
414
+ "majorIssues": 0,
415
+ "totalTokens": 26130,
416
+ "avgContextBudget": 8430.888888888889,
417
+ "maxContextBudget": 21633,
418
+ "avgImportDepth": 2.888888888888889,
419
+ "maxImportDepth": 7,
420
+ "deepFiles": [
421
+ {
422
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
423
+ "depth": 6
424
+ },
425
+ {
426
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
427
+ "depth": 7
428
+ },
429
+ {
430
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
431
+ "depth": 7
432
+ },
433
+ {
434
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
435
+ "depth": 6
436
+ }
437
+ ],
438
+ "avgFragmentation": 0.6977231335712958,
439
+ "fragmentedModules": [
440
+ {
441
+ "domain": "/Users",
442
+ "files": [
443
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
444
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
445
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
446
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
447
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
448
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
449
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
450
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
451
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
452
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
453
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
454
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
455
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
456
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
457
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
458
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
459
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
460
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts"
461
+ ],
462
+ "fragmentationScore": 0.6977231335712958,
463
+ "totalTokens": 26130,
464
+ "avgCohesion": 0.9177777777777779,
465
+ "suggestedStructure": {
466
+ "targetFiles": 9,
467
+ "consolidationPlan": [
468
+ "Consolidate 18 files in /Users into fewer modules"
469
+ ]
470
+ }
471
+ }
472
+ ],
473
+ "avgCohesion": 0.9177777777777779,
474
+ "lowCohesionFiles": [],
475
+ "minorIssues": 0,
476
+ "totalPotentialSavings": 51261,
477
+ "topExpensiveFiles": [
478
+ {
479
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
480
+ "contextBudget": 21633,
481
+ "severity": "critical"
482
+ },
483
+ {
484
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
485
+ "contextBudget": 20433,
486
+ "severity": "critical"
487
+ },
488
+ {
489
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
490
+ "contextBudget": 19619,
491
+ "severity": "critical"
492
+ },
493
+ {
494
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
495
+ "contextBudget": 19471,
496
+ "severity": "critical"
497
+ },
498
+ {
499
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
500
+ "contextBudget": 16565,
501
+ "severity": "critical"
502
+ },
503
+ {
504
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
505
+ "contextBudget": 7335,
506
+ "severity": "info"
507
+ },
508
+ {
509
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
510
+ "contextBudget": 7048,
511
+ "severity": "info"
512
+ },
513
+ {
514
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
515
+ "contextBudget": 6657,
516
+ "severity": "info"
517
+ },
518
+ {
519
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
520
+ "contextBudget": 6337,
521
+ "severity": "info"
522
+ },
523
+ {
524
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
525
+ "contextBudget": 5516,
526
+ "severity": "info"
527
+ }
528
+ ],
529
+ "config": {
530
+ "rootDir": "/Users/pengcao/projects/aiready/packages/context-analyzer"
531
+ }
532
+ },
533
+ "metadata": {
534
+ "toolName": "context-analyzer",
535
+ "version": "0.17.5",
536
+ "timestamp": "2026-03-14T11:51:54.529Z",
537
+ "config": {}
538
+ }
539
+ },
540
+ "context": {
541
+ "results": [
542
+ {
543
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
544
+ "issues": [
545
+ {
546
+ "type": "context-fragmentation",
547
+ "severity": "info",
548
+ "message": "No significant issues detected",
549
+ "location": {
550
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
551
+ "line": 1
552
+ },
553
+ "suggestion": "File is well-structured for AI context usage"
554
+ }
555
+ ],
556
+ "metrics": {
557
+ "tokenCost": 1548,
558
+ "complexityScore": 0
559
+ }
560
+ },
561
+ {
562
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
563
+ "issues": [
564
+ {
565
+ "type": "context-fragmentation",
566
+ "severity": "info",
567
+ "message": "No significant issues detected",
568
+ "location": {
569
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
570
+ "line": 1
571
+ },
572
+ "suggestion": "File is well-structured for AI context usage"
573
+ }
574
+ ],
575
+ "metrics": {
576
+ "tokenCost": 998,
577
+ "complexityScore": 4
578
+ }
579
+ },
580
+ {
581
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
582
+ "issues": [
583
+ {
584
+ "type": "context-fragmentation",
585
+ "severity": "info",
586
+ "message": "No significant issues detected",
587
+ "location": {
588
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
589
+ "line": 1
590
+ },
591
+ "suggestion": "File is well-structured for AI context usage"
592
+ }
593
+ ],
594
+ "metrics": {
595
+ "tokenCost": 2512,
596
+ "complexityScore": 1
597
+ }
598
+ },
599
+ {
600
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
601
+ "issues": [
602
+ {
603
+ "type": "context-fragmentation",
604
+ "severity": "info",
605
+ "message": "No significant issues detected",
606
+ "location": {
607
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
608
+ "line": 1
609
+ },
610
+ "suggestion": "File is well-structured for AI context usage"
611
+ }
612
+ ],
613
+ "metrics": {
614
+ "tokenCost": 1442,
615
+ "complexityScore": 1
616
+ }
617
+ },
618
+ {
619
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
620
+ "issues": [
621
+ {
622
+ "type": "context-fragmentation",
623
+ "severity": "info",
624
+ "message": "No significant issues detected",
625
+ "location": {
626
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
627
+ "line": 1
628
+ },
629
+ "suggestion": "File is well-structured for AI context usage"
630
+ }
631
+ ],
632
+ "metrics": {
633
+ "tokenCost": 1099,
634
+ "complexityScore": 1
635
+ }
636
+ },
637
+ {
638
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
639
+ "issues": [
640
+ {
641
+ "type": "context-fragmentation",
642
+ "severity": "critical",
643
+ "message": "Import depth 6 exceeds recommended maximum 5",
644
+ "location": {
645
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
646
+ "line": 1
647
+ },
648
+ "suggestion": "Consider reducing dependency depth"
649
+ },
650
+ {
651
+ "type": "context-fragmentation",
652
+ "severity": "critical",
653
+ "message": "Context budget 19,471 tokens is 50% over limit",
654
+ "location": {
655
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
656
+ "line": 1
657
+ },
658
+ "suggestion": "Consider reducing dependency depth"
659
+ }
660
+ ],
661
+ "metrics": {
662
+ "tokenCost": 466,
663
+ "complexityScore": 6
664
+ }
665
+ },
666
+ {
667
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
668
+ "issues": [
669
+ {
670
+ "type": "context-fragmentation",
671
+ "severity": "info",
672
+ "message": "No significant issues detected",
673
+ "location": {
674
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
675
+ "line": 1
676
+ },
677
+ "suggestion": "File is well-structured for AI context usage"
678
+ }
679
+ ],
680
+ "metrics": {
681
+ "tokenCost": 1534,
682
+ "complexityScore": 3
683
+ }
684
+ },
685
+ {
686
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
687
+ "issues": [
688
+ {
689
+ "type": "context-fragmentation",
690
+ "severity": "info",
691
+ "message": "No significant issues detected",
692
+ "location": {
693
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
694
+ "line": 1
695
+ },
696
+ "suggestion": "File is well-structured for AI context usage"
697
+ }
698
+ ],
699
+ "metrics": {
700
+ "tokenCost": 1105,
701
+ "complexityScore": 0
702
+ }
703
+ },
704
+ {
705
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
706
+ "issues": [
707
+ {
708
+ "type": "context-fragmentation",
709
+ "severity": "critical",
710
+ "message": "Import depth 7 exceeds recommended maximum 5",
711
+ "location": {
712
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
713
+ "line": 1
714
+ },
715
+ "suggestion": "Consider reducing dependency depth"
716
+ },
717
+ {
718
+ "type": "context-fragmentation",
719
+ "severity": "critical",
720
+ "message": "Context budget 19,619 tokens is 50% over limit",
721
+ "location": {
722
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
723
+ "line": 1
724
+ },
725
+ "suggestion": "Consider reducing dependency depth"
726
+ }
727
+ ],
728
+ "metrics": {
729
+ "tokenCost": 148,
730
+ "complexityScore": 7
731
+ }
732
+ },
733
+ {
734
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
735
+ "issues": [
736
+ {
737
+ "type": "context-fragmentation",
738
+ "severity": "info",
739
+ "message": "No significant issues detected",
740
+ "location": {
741
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
742
+ "line": 1
743
+ },
744
+ "suggestion": "File is well-structured for AI context usage"
745
+ }
746
+ ],
747
+ "metrics": {
748
+ "tokenCost": 1854,
749
+ "complexityScore": 3
750
+ }
751
+ },
752
+ {
753
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
754
+ "issues": [
755
+ {
756
+ "type": "context-fragmentation",
757
+ "severity": "info",
758
+ "message": "No significant issues detected",
759
+ "location": {
760
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
761
+ "line": 1
762
+ },
763
+ "suggestion": "File is well-structured for AI context usage"
764
+ }
765
+ ],
766
+ "metrics": {
767
+ "tokenCost": 378,
768
+ "complexityScore": 1
769
+ }
770
+ },
771
+ {
772
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
773
+ "issues": [
774
+ {
775
+ "type": "context-fragmentation",
776
+ "severity": "info",
777
+ "message": "No significant issues detected",
778
+ "location": {
779
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
780
+ "line": 1
781
+ },
782
+ "suggestion": "File is well-structured for AI context usage"
783
+ }
784
+ ],
785
+ "metrics": {
786
+ "tokenCost": 711,
787
+ "complexityScore": 4
788
+ }
789
+ },
790
+ {
791
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
792
+ "issues": [
793
+ {
794
+ "type": "context-fragmentation",
795
+ "severity": "critical",
796
+ "message": "Import depth 7 exceeds recommended maximum 5",
797
+ "location": {
798
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
799
+ "line": 1
800
+ },
801
+ "suggestion": "Consider reducing dependency depth"
802
+ },
803
+ {
804
+ "type": "context-fragmentation",
805
+ "severity": "critical",
806
+ "message": "Context budget 21,633 tokens is 50% over limit",
807
+ "location": {
808
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
809
+ "line": 1
810
+ },
811
+ "suggestion": "Consider reducing dependency depth"
812
+ }
813
+ ],
814
+ "metrics": {
815
+ "tokenCost": 1200,
816
+ "complexityScore": 7
817
+ }
818
+ },
819
+ {
820
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
821
+ "issues": [
822
+ {
823
+ "type": "context-fragmentation",
824
+ "severity": "info",
825
+ "message": "No significant issues detected",
826
+ "location": {
827
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
828
+ "line": 1
829
+ },
830
+ "suggestion": "File is well-structured for AI context usage"
831
+ }
832
+ ],
833
+ "metrics": {
834
+ "tokenCost": 3968,
835
+ "complexityScore": 1
836
+ }
837
+ },
838
+ {
839
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
840
+ "issues": [
841
+ {
842
+ "type": "context-fragmentation",
843
+ "severity": "info",
844
+ "message": "No significant issues detected",
845
+ "location": {
846
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
847
+ "line": 1
848
+ },
849
+ "suggestion": "File is well-structured for AI context usage"
850
+ }
851
+ ],
852
+ "metrics": {
853
+ "tokenCost": 743,
854
+ "complexityScore": 2
855
+ }
856
+ },
857
+ {
858
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
859
+ "issues": [
860
+ {
861
+ "type": "context-fragmentation",
862
+ "severity": "critical",
863
+ "message": "Context budget 16,565 tokens is 50% over limit",
864
+ "location": {
865
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
866
+ "line": 1
867
+ },
868
+ "suggestion": "Split into smaller modules or reduce dependency tree"
869
+ }
870
+ ],
871
+ "metrics": {
872
+ "tokenCost": 1491,
873
+ "complexityScore": 5
874
+ }
875
+ },
876
+ {
877
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
878
+ "issues": [
879
+ {
880
+ "type": "context-fragmentation",
881
+ "severity": "critical",
882
+ "message": "Import depth 6 exceeds recommended maximum 5",
883
+ "location": {
884
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
885
+ "line": 1
886
+ },
887
+ "suggestion": "Consider reducing dependency depth"
888
+ },
889
+ {
890
+ "type": "context-fragmentation",
891
+ "severity": "critical",
892
+ "message": "Context budget 20,433 tokens is 50% over limit",
893
+ "location": {
894
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
895
+ "line": 1
896
+ },
897
+ "suggestion": "Consider reducing dependency depth"
898
+ }
899
+ ],
900
+ "metrics": {
901
+ "tokenCost": 2870,
902
+ "complexityScore": 6
903
+ }
904
+ },
905
+ {
906
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
907
+ "issues": [
908
+ {
909
+ "type": "context-fragmentation",
910
+ "severity": "info",
911
+ "message": "No significant issues detected",
912
+ "location": {
913
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
914
+ "line": 1
915
+ },
916
+ "suggestion": "File is well-structured for AI context usage"
917
+ }
918
+ ],
919
+ "metrics": {
920
+ "tokenCost": 2063,
921
+ "complexityScore": 0
922
+ }
923
+ }
924
+ ],
925
+ "summary": {
926
+ "totalFiles": 18,
927
+ "criticalIssues": 5,
928
+ "majorIssues": 0,
929
+ "totalTokens": 26130,
930
+ "avgContextBudget": 8430.888888888889,
931
+ "maxContextBudget": 21633,
932
+ "avgImportDepth": 2.888888888888889,
933
+ "maxImportDepth": 7,
934
+ "deepFiles": [
935
+ {
936
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
937
+ "depth": 6
938
+ },
939
+ {
940
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
941
+ "depth": 7
942
+ },
943
+ {
944
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
945
+ "depth": 7
946
+ },
947
+ {
948
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
949
+ "depth": 6
950
+ }
951
+ ],
952
+ "avgFragmentation": 0.6977231335712958,
953
+ "fragmentedModules": [
954
+ {
955
+ "domain": "/Users",
956
+ "files": [
957
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
958
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
959
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
960
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
961
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
962
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
963
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
964
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
965
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
966
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
967
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
968
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
969
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
970
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
971
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
972
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
973
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
974
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts"
975
+ ],
976
+ "fragmentationScore": 0.6977231335712958,
977
+ "totalTokens": 26130,
978
+ "avgCohesion": 0.9177777777777779,
979
+ "suggestedStructure": {
980
+ "targetFiles": 9,
981
+ "consolidationPlan": [
982
+ "Consolidate 18 files in /Users into fewer modules"
983
+ ]
984
+ }
985
+ }
986
+ ],
987
+ "avgCohesion": 0.9177777777777779,
988
+ "lowCohesionFiles": [],
989
+ "minorIssues": 0,
990
+ "totalPotentialSavings": 51261,
991
+ "topExpensiveFiles": [
992
+ {
993
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
994
+ "contextBudget": 21633,
995
+ "severity": "critical"
996
+ },
997
+ {
998
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
999
+ "contextBudget": 20433,
1000
+ "severity": "critical"
1001
+ },
1002
+ {
1003
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1004
+ "contextBudget": 19619,
1005
+ "severity": "critical"
1006
+ },
1007
+ {
1008
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1009
+ "contextBudget": 19471,
1010
+ "severity": "critical"
1011
+ },
1012
+ {
1013
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
1014
+ "contextBudget": 16565,
1015
+ "severity": "critical"
1016
+ },
1017
+ {
1018
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
1019
+ "contextBudget": 7335,
1020
+ "severity": "info"
1021
+ },
1022
+ {
1023
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
1024
+ "contextBudget": 7048,
1025
+ "severity": "info"
1026
+ },
1027
+ {
1028
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
1029
+ "contextBudget": 6657,
1030
+ "severity": "info"
1031
+ },
1032
+ {
1033
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
1034
+ "contextBudget": 6337,
1035
+ "severity": "info"
1036
+ },
1037
+ {
1038
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
1039
+ "contextBudget": 5516,
1040
+ "severity": "info"
1041
+ }
1042
+ ],
1043
+ "config": {
1044
+ "rootDir": "/Users/pengcao/projects/aiready/packages/context-analyzer"
1045
+ }
1046
+ },
1047
+ "metadata": {
1048
+ "toolName": "context-analyzer",
1049
+ "version": "0.17.5",
1050
+ "timestamp": "2026-03-14T11:51:54.529Z",
1051
+ "config": {}
1052
+ }
1053
+ },
1054
+ "fragmentation": {
1055
+ "results": [
1056
+ {
1057
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
1058
+ "issues": [
1059
+ {
1060
+ "type": "context-fragmentation",
1061
+ "severity": "info",
1062
+ "message": "No significant issues detected",
1063
+ "location": {
1064
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
1065
+ "line": 1
1066
+ },
1067
+ "suggestion": "File is well-structured for AI context usage"
1068
+ }
1069
+ ],
1070
+ "metrics": {
1071
+ "tokenCost": 1548,
1072
+ "complexityScore": 0
1073
+ }
1074
+ },
1075
+ {
1076
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
1077
+ "issues": [
1078
+ {
1079
+ "type": "context-fragmentation",
1080
+ "severity": "info",
1081
+ "message": "No significant issues detected",
1082
+ "location": {
1083
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
1084
+ "line": 1
1085
+ },
1086
+ "suggestion": "File is well-structured for AI context usage"
1087
+ }
1088
+ ],
1089
+ "metrics": {
1090
+ "tokenCost": 998,
1091
+ "complexityScore": 4
1092
+ }
1093
+ },
1094
+ {
1095
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
1096
+ "issues": [
1097
+ {
1098
+ "type": "context-fragmentation",
1099
+ "severity": "info",
1100
+ "message": "No significant issues detected",
1101
+ "location": {
1102
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
1103
+ "line": 1
1104
+ },
1105
+ "suggestion": "File is well-structured for AI context usage"
1106
+ }
1107
+ ],
1108
+ "metrics": {
1109
+ "tokenCost": 2512,
1110
+ "complexityScore": 1
1111
+ }
1112
+ },
1113
+ {
1114
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
1115
+ "issues": [
1116
+ {
1117
+ "type": "context-fragmentation",
1118
+ "severity": "info",
1119
+ "message": "No significant issues detected",
1120
+ "location": {
1121
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
1122
+ "line": 1
1123
+ },
1124
+ "suggestion": "File is well-structured for AI context usage"
1125
+ }
1126
+ ],
1127
+ "metrics": {
1128
+ "tokenCost": 1442,
1129
+ "complexityScore": 1
1130
+ }
1131
+ },
1132
+ {
1133
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
1134
+ "issues": [
1135
+ {
1136
+ "type": "context-fragmentation",
1137
+ "severity": "info",
1138
+ "message": "No significant issues detected",
1139
+ "location": {
1140
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
1141
+ "line": 1
1142
+ },
1143
+ "suggestion": "File is well-structured for AI context usage"
1144
+ }
1145
+ ],
1146
+ "metrics": {
1147
+ "tokenCost": 1099,
1148
+ "complexityScore": 1
1149
+ }
1150
+ },
1151
+ {
1152
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1153
+ "issues": [
1154
+ {
1155
+ "type": "context-fragmentation",
1156
+ "severity": "critical",
1157
+ "message": "Import depth 6 exceeds recommended maximum 5",
1158
+ "location": {
1159
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1160
+ "line": 1
1161
+ },
1162
+ "suggestion": "Consider reducing dependency depth"
1163
+ },
1164
+ {
1165
+ "type": "context-fragmentation",
1166
+ "severity": "critical",
1167
+ "message": "Context budget 19,471 tokens is 50% over limit",
1168
+ "location": {
1169
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1170
+ "line": 1
1171
+ },
1172
+ "suggestion": "Consider reducing dependency depth"
1173
+ }
1174
+ ],
1175
+ "metrics": {
1176
+ "tokenCost": 466,
1177
+ "complexityScore": 6
1178
+ }
1179
+ },
1180
+ {
1181
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
1182
+ "issues": [
1183
+ {
1184
+ "type": "context-fragmentation",
1185
+ "severity": "info",
1186
+ "message": "No significant issues detected",
1187
+ "location": {
1188
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
1189
+ "line": 1
1190
+ },
1191
+ "suggestion": "File is well-structured for AI context usage"
1192
+ }
1193
+ ],
1194
+ "metrics": {
1195
+ "tokenCost": 1534,
1196
+ "complexityScore": 3
1197
+ }
1198
+ },
1199
+ {
1200
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
1201
+ "issues": [
1202
+ {
1203
+ "type": "context-fragmentation",
1204
+ "severity": "info",
1205
+ "message": "No significant issues detected",
1206
+ "location": {
1207
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
1208
+ "line": 1
1209
+ },
1210
+ "suggestion": "File is well-structured for AI context usage"
1211
+ }
1212
+ ],
1213
+ "metrics": {
1214
+ "tokenCost": 1105,
1215
+ "complexityScore": 0
1216
+ }
1217
+ },
1218
+ {
1219
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1220
+ "issues": [
1221
+ {
1222
+ "type": "context-fragmentation",
1223
+ "severity": "critical",
1224
+ "message": "Import depth 7 exceeds recommended maximum 5",
1225
+ "location": {
1226
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1227
+ "line": 1
1228
+ },
1229
+ "suggestion": "Consider reducing dependency depth"
1230
+ },
1231
+ {
1232
+ "type": "context-fragmentation",
1233
+ "severity": "critical",
1234
+ "message": "Context budget 19,619 tokens is 50% over limit",
1235
+ "location": {
1236
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1237
+ "line": 1
1238
+ },
1239
+ "suggestion": "Consider reducing dependency depth"
1240
+ }
1241
+ ],
1242
+ "metrics": {
1243
+ "tokenCost": 148,
1244
+ "complexityScore": 7
1245
+ }
1246
+ },
1247
+ {
1248
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
1249
+ "issues": [
1250
+ {
1251
+ "type": "context-fragmentation",
1252
+ "severity": "info",
1253
+ "message": "No significant issues detected",
1254
+ "location": {
1255
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
1256
+ "line": 1
1257
+ },
1258
+ "suggestion": "File is well-structured for AI context usage"
1259
+ }
1260
+ ],
1261
+ "metrics": {
1262
+ "tokenCost": 1854,
1263
+ "complexityScore": 3
1264
+ }
1265
+ },
1266
+ {
1267
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
1268
+ "issues": [
1269
+ {
1270
+ "type": "context-fragmentation",
1271
+ "severity": "info",
1272
+ "message": "No significant issues detected",
1273
+ "location": {
1274
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
1275
+ "line": 1
1276
+ },
1277
+ "suggestion": "File is well-structured for AI context usage"
1278
+ }
1279
+ ],
1280
+ "metrics": {
1281
+ "tokenCost": 378,
1282
+ "complexityScore": 1
1283
+ }
1284
+ },
1285
+ {
1286
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
1287
+ "issues": [
1288
+ {
1289
+ "type": "context-fragmentation",
1290
+ "severity": "info",
1291
+ "message": "No significant issues detected",
1292
+ "location": {
1293
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
1294
+ "line": 1
1295
+ },
1296
+ "suggestion": "File is well-structured for AI context usage"
1297
+ }
1298
+ ],
1299
+ "metrics": {
1300
+ "tokenCost": 711,
1301
+ "complexityScore": 4
1302
+ }
1303
+ },
1304
+ {
1305
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1306
+ "issues": [
1307
+ {
1308
+ "type": "context-fragmentation",
1309
+ "severity": "critical",
1310
+ "message": "Import depth 7 exceeds recommended maximum 5",
1311
+ "location": {
1312
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1313
+ "line": 1
1314
+ },
1315
+ "suggestion": "Consider reducing dependency depth"
1316
+ },
1317
+ {
1318
+ "type": "context-fragmentation",
1319
+ "severity": "critical",
1320
+ "message": "Context budget 21,633 tokens is 50% over limit",
1321
+ "location": {
1322
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1323
+ "line": 1
1324
+ },
1325
+ "suggestion": "Consider reducing dependency depth"
1326
+ }
1327
+ ],
1328
+ "metrics": {
1329
+ "tokenCost": 1200,
1330
+ "complexityScore": 7
1331
+ }
1332
+ },
1333
+ {
1334
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
1335
+ "issues": [
1336
+ {
1337
+ "type": "context-fragmentation",
1338
+ "severity": "info",
1339
+ "message": "No significant issues detected",
1340
+ "location": {
1341
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
1342
+ "line": 1
1343
+ },
1344
+ "suggestion": "File is well-structured for AI context usage"
1345
+ }
1346
+ ],
1347
+ "metrics": {
1348
+ "tokenCost": 3968,
1349
+ "complexityScore": 1
1350
+ }
1351
+ },
1352
+ {
1353
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
1354
+ "issues": [
1355
+ {
1356
+ "type": "context-fragmentation",
1357
+ "severity": "info",
1358
+ "message": "No significant issues detected",
1359
+ "location": {
1360
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
1361
+ "line": 1
1362
+ },
1363
+ "suggestion": "File is well-structured for AI context usage"
1364
+ }
1365
+ ],
1366
+ "metrics": {
1367
+ "tokenCost": 743,
1368
+ "complexityScore": 2
1369
+ }
1370
+ },
1371
+ {
1372
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
1373
+ "issues": [
1374
+ {
1375
+ "type": "context-fragmentation",
1376
+ "severity": "critical",
1377
+ "message": "Context budget 16,565 tokens is 50% over limit",
1378
+ "location": {
1379
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
1380
+ "line": 1
1381
+ },
1382
+ "suggestion": "Split into smaller modules or reduce dependency tree"
1383
+ }
1384
+ ],
1385
+ "metrics": {
1386
+ "tokenCost": 1491,
1387
+ "complexityScore": 5
1388
+ }
1389
+ },
1390
+ {
1391
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
1392
+ "issues": [
1393
+ {
1394
+ "type": "context-fragmentation",
1395
+ "severity": "critical",
1396
+ "message": "Import depth 6 exceeds recommended maximum 5",
1397
+ "location": {
1398
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
1399
+ "line": 1
1400
+ },
1401
+ "suggestion": "Consider reducing dependency depth"
1402
+ },
1403
+ {
1404
+ "type": "context-fragmentation",
1405
+ "severity": "critical",
1406
+ "message": "Context budget 20,433 tokens is 50% over limit",
1407
+ "location": {
1408
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
1409
+ "line": 1
1410
+ },
1411
+ "suggestion": "Consider reducing dependency depth"
1412
+ }
1413
+ ],
1414
+ "metrics": {
1415
+ "tokenCost": 2870,
1416
+ "complexityScore": 6
1417
+ }
1418
+ },
1419
+ {
1420
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
1421
+ "issues": [
1422
+ {
1423
+ "type": "context-fragmentation",
1424
+ "severity": "info",
1425
+ "message": "No significant issues detected",
1426
+ "location": {
1427
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
1428
+ "line": 1
1429
+ },
1430
+ "suggestion": "File is well-structured for AI context usage"
1431
+ }
1432
+ ],
1433
+ "metrics": {
1434
+ "tokenCost": 2063,
1435
+ "complexityScore": 0
1436
+ }
1437
+ }
1438
+ ],
1439
+ "summary": {
1440
+ "totalFiles": 18,
1441
+ "criticalIssues": 5,
1442
+ "majorIssues": 0,
1443
+ "totalTokens": 26130,
1444
+ "avgContextBudget": 8430.888888888889,
1445
+ "maxContextBudget": 21633,
1446
+ "avgImportDepth": 2.888888888888889,
1447
+ "maxImportDepth": 7,
1448
+ "deepFiles": [
1449
+ {
1450
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1451
+ "depth": 6
1452
+ },
1453
+ {
1454
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1455
+ "depth": 7
1456
+ },
1457
+ {
1458
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1459
+ "depth": 7
1460
+ },
1461
+ {
1462
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
1463
+ "depth": 6
1464
+ }
1465
+ ],
1466
+ "avgFragmentation": 0.6977231335712958,
1467
+ "fragmentedModules": [
1468
+ {
1469
+ "domain": "/Users",
1470
+ "files": [
1471
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
1472
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
1473
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
1474
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
1475
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
1476
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1477
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
1478
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
1479
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1480
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
1481
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
1482
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
1483
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1484
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
1485
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
1486
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
1487
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
1488
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts"
1489
+ ],
1490
+ "fragmentationScore": 0.6977231335712958,
1491
+ "totalTokens": 26130,
1492
+ "avgCohesion": 0.9177777777777779,
1493
+ "suggestedStructure": {
1494
+ "targetFiles": 9,
1495
+ "consolidationPlan": [
1496
+ "Consolidate 18 files in /Users into fewer modules"
1497
+ ]
1498
+ }
1499
+ }
1500
+ ],
1501
+ "avgCohesion": 0.9177777777777779,
1502
+ "lowCohesionFiles": [],
1503
+ "minorIssues": 0,
1504
+ "totalPotentialSavings": 51261,
1505
+ "topExpensiveFiles": [
1506
+ {
1507
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1508
+ "contextBudget": 21633,
1509
+ "severity": "critical"
1510
+ },
1511
+ {
1512
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
1513
+ "contextBudget": 20433,
1514
+ "severity": "critical"
1515
+ },
1516
+ {
1517
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1518
+ "contextBudget": 19619,
1519
+ "severity": "critical"
1520
+ },
1521
+ {
1522
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1523
+ "contextBudget": 19471,
1524
+ "severity": "critical"
1525
+ },
1526
+ {
1527
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
1528
+ "contextBudget": 16565,
1529
+ "severity": "critical"
1530
+ },
1531
+ {
1532
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
1533
+ "contextBudget": 7335,
1534
+ "severity": "info"
1535
+ },
1536
+ {
1537
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
1538
+ "contextBudget": 7048,
1539
+ "severity": "info"
1540
+ },
1541
+ {
1542
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
1543
+ "contextBudget": 6657,
1544
+ "severity": "info"
1545
+ },
1546
+ {
1547
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
1548
+ "contextBudget": 6337,
1549
+ "severity": "info"
1550
+ },
1551
+ {
1552
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
1553
+ "contextBudget": 5516,
1554
+ "severity": "info"
1555
+ }
1556
+ ],
1557
+ "config": {
1558
+ "rootDir": "/Users/pengcao/projects/aiready/packages/context-analyzer"
1559
+ }
1560
+ },
1561
+ "metadata": {
1562
+ "toolName": "context-analyzer",
1563
+ "version": "0.17.5",
1564
+ "timestamp": "2026-03-14T11:51:54.529Z",
1565
+ "config": {}
1566
+ }
1567
+ },
1568
+ "budget": {
1569
+ "results": [
1570
+ {
1571
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
1572
+ "issues": [
1573
+ {
1574
+ "type": "context-fragmentation",
1575
+ "severity": "info",
1576
+ "message": "No significant issues detected",
1577
+ "location": {
1578
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
1579
+ "line": 1
1580
+ },
1581
+ "suggestion": "File is well-structured for AI context usage"
1582
+ }
1583
+ ],
1584
+ "metrics": {
1585
+ "tokenCost": 1548,
1586
+ "complexityScore": 0
1587
+ }
1588
+ },
1589
+ {
1590
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
1591
+ "issues": [
1592
+ {
1593
+ "type": "context-fragmentation",
1594
+ "severity": "info",
1595
+ "message": "No significant issues detected",
1596
+ "location": {
1597
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
1598
+ "line": 1
1599
+ },
1600
+ "suggestion": "File is well-structured for AI context usage"
1601
+ }
1602
+ ],
1603
+ "metrics": {
1604
+ "tokenCost": 998,
1605
+ "complexityScore": 4
1606
+ }
1607
+ },
1608
+ {
1609
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
1610
+ "issues": [
1611
+ {
1612
+ "type": "context-fragmentation",
1613
+ "severity": "info",
1614
+ "message": "No significant issues detected",
1615
+ "location": {
1616
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
1617
+ "line": 1
1618
+ },
1619
+ "suggestion": "File is well-structured for AI context usage"
1620
+ }
1621
+ ],
1622
+ "metrics": {
1623
+ "tokenCost": 2512,
1624
+ "complexityScore": 1
1625
+ }
1626
+ },
1627
+ {
1628
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
1629
+ "issues": [
1630
+ {
1631
+ "type": "context-fragmentation",
1632
+ "severity": "info",
1633
+ "message": "No significant issues detected",
1634
+ "location": {
1635
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
1636
+ "line": 1
1637
+ },
1638
+ "suggestion": "File is well-structured for AI context usage"
1639
+ }
1640
+ ],
1641
+ "metrics": {
1642
+ "tokenCost": 1442,
1643
+ "complexityScore": 1
1644
+ }
1645
+ },
1646
+ {
1647
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
1648
+ "issues": [
1649
+ {
1650
+ "type": "context-fragmentation",
1651
+ "severity": "info",
1652
+ "message": "No significant issues detected",
1653
+ "location": {
1654
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
1655
+ "line": 1
1656
+ },
1657
+ "suggestion": "File is well-structured for AI context usage"
1658
+ }
1659
+ ],
1660
+ "metrics": {
1661
+ "tokenCost": 1099,
1662
+ "complexityScore": 1
1663
+ }
1664
+ },
1665
+ {
1666
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1667
+ "issues": [
1668
+ {
1669
+ "type": "context-fragmentation",
1670
+ "severity": "critical",
1671
+ "message": "Import depth 6 exceeds recommended maximum 5",
1672
+ "location": {
1673
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1674
+ "line": 1
1675
+ },
1676
+ "suggestion": "Consider reducing dependency depth"
1677
+ },
1678
+ {
1679
+ "type": "context-fragmentation",
1680
+ "severity": "critical",
1681
+ "message": "Context budget 19,471 tokens is 50% over limit",
1682
+ "location": {
1683
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1684
+ "line": 1
1685
+ },
1686
+ "suggestion": "Consider reducing dependency depth"
1687
+ }
1688
+ ],
1689
+ "metrics": {
1690
+ "tokenCost": 466,
1691
+ "complexityScore": 6
1692
+ }
1693
+ },
1694
+ {
1695
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
1696
+ "issues": [
1697
+ {
1698
+ "type": "context-fragmentation",
1699
+ "severity": "info",
1700
+ "message": "No significant issues detected",
1701
+ "location": {
1702
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
1703
+ "line": 1
1704
+ },
1705
+ "suggestion": "File is well-structured for AI context usage"
1706
+ }
1707
+ ],
1708
+ "metrics": {
1709
+ "tokenCost": 1534,
1710
+ "complexityScore": 3
1711
+ }
1712
+ },
1713
+ {
1714
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
1715
+ "issues": [
1716
+ {
1717
+ "type": "context-fragmentation",
1718
+ "severity": "info",
1719
+ "message": "No significant issues detected",
1720
+ "location": {
1721
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
1722
+ "line": 1
1723
+ },
1724
+ "suggestion": "File is well-structured for AI context usage"
1725
+ }
1726
+ ],
1727
+ "metrics": {
1728
+ "tokenCost": 1105,
1729
+ "complexityScore": 0
1730
+ }
1731
+ },
1732
+ {
1733
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1734
+ "issues": [
1735
+ {
1736
+ "type": "context-fragmentation",
1737
+ "severity": "critical",
1738
+ "message": "Import depth 7 exceeds recommended maximum 5",
1739
+ "location": {
1740
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1741
+ "line": 1
1742
+ },
1743
+ "suggestion": "Consider reducing dependency depth"
1744
+ },
1745
+ {
1746
+ "type": "context-fragmentation",
1747
+ "severity": "critical",
1748
+ "message": "Context budget 19,619 tokens is 50% over limit",
1749
+ "location": {
1750
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1751
+ "line": 1
1752
+ },
1753
+ "suggestion": "Consider reducing dependency depth"
1754
+ }
1755
+ ],
1756
+ "metrics": {
1757
+ "tokenCost": 148,
1758
+ "complexityScore": 7
1759
+ }
1760
+ },
1761
+ {
1762
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
1763
+ "issues": [
1764
+ {
1765
+ "type": "context-fragmentation",
1766
+ "severity": "info",
1767
+ "message": "No significant issues detected",
1768
+ "location": {
1769
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
1770
+ "line": 1
1771
+ },
1772
+ "suggestion": "File is well-structured for AI context usage"
1773
+ }
1774
+ ],
1775
+ "metrics": {
1776
+ "tokenCost": 1854,
1777
+ "complexityScore": 3
1778
+ }
1779
+ },
1780
+ {
1781
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
1782
+ "issues": [
1783
+ {
1784
+ "type": "context-fragmentation",
1785
+ "severity": "info",
1786
+ "message": "No significant issues detected",
1787
+ "location": {
1788
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
1789
+ "line": 1
1790
+ },
1791
+ "suggestion": "File is well-structured for AI context usage"
1792
+ }
1793
+ ],
1794
+ "metrics": {
1795
+ "tokenCost": 378,
1796
+ "complexityScore": 1
1797
+ }
1798
+ },
1799
+ {
1800
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
1801
+ "issues": [
1802
+ {
1803
+ "type": "context-fragmentation",
1804
+ "severity": "info",
1805
+ "message": "No significant issues detected",
1806
+ "location": {
1807
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
1808
+ "line": 1
1809
+ },
1810
+ "suggestion": "File is well-structured for AI context usage"
1811
+ }
1812
+ ],
1813
+ "metrics": {
1814
+ "tokenCost": 711,
1815
+ "complexityScore": 4
1816
+ }
1817
+ },
1818
+ {
1819
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1820
+ "issues": [
1821
+ {
1822
+ "type": "context-fragmentation",
1823
+ "severity": "critical",
1824
+ "message": "Import depth 7 exceeds recommended maximum 5",
1825
+ "location": {
1826
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1827
+ "line": 1
1828
+ },
1829
+ "suggestion": "Consider reducing dependency depth"
1830
+ },
1831
+ {
1832
+ "type": "context-fragmentation",
1833
+ "severity": "critical",
1834
+ "message": "Context budget 21,633 tokens is 50% over limit",
1835
+ "location": {
1836
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1837
+ "line": 1
1838
+ },
1839
+ "suggestion": "Consider reducing dependency depth"
1840
+ }
1841
+ ],
1842
+ "metrics": {
1843
+ "tokenCost": 1200,
1844
+ "complexityScore": 7
1845
+ }
1846
+ },
1847
+ {
1848
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
1849
+ "issues": [
1850
+ {
1851
+ "type": "context-fragmentation",
1852
+ "severity": "info",
1853
+ "message": "No significant issues detected",
1854
+ "location": {
1855
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
1856
+ "line": 1
1857
+ },
1858
+ "suggestion": "File is well-structured for AI context usage"
1859
+ }
1860
+ ],
1861
+ "metrics": {
1862
+ "tokenCost": 3968,
1863
+ "complexityScore": 1
1864
+ }
1865
+ },
1866
+ {
1867
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
1868
+ "issues": [
1869
+ {
1870
+ "type": "context-fragmentation",
1871
+ "severity": "info",
1872
+ "message": "No significant issues detected",
1873
+ "location": {
1874
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
1875
+ "line": 1
1876
+ },
1877
+ "suggestion": "File is well-structured for AI context usage"
1878
+ }
1879
+ ],
1880
+ "metrics": {
1881
+ "tokenCost": 743,
1882
+ "complexityScore": 2
1883
+ }
1884
+ },
1885
+ {
1886
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
1887
+ "issues": [
1888
+ {
1889
+ "type": "context-fragmentation",
1890
+ "severity": "critical",
1891
+ "message": "Context budget 16,565 tokens is 50% over limit",
1892
+ "location": {
1893
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
1894
+ "line": 1
1895
+ },
1896
+ "suggestion": "Split into smaller modules or reduce dependency tree"
1897
+ }
1898
+ ],
1899
+ "metrics": {
1900
+ "tokenCost": 1491,
1901
+ "complexityScore": 5
1902
+ }
1903
+ },
1904
+ {
1905
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
1906
+ "issues": [
1907
+ {
1908
+ "type": "context-fragmentation",
1909
+ "severity": "critical",
1910
+ "message": "Import depth 6 exceeds recommended maximum 5",
1911
+ "location": {
1912
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
1913
+ "line": 1
1914
+ },
1915
+ "suggestion": "Consider reducing dependency depth"
1916
+ },
1917
+ {
1918
+ "type": "context-fragmentation",
1919
+ "severity": "critical",
1920
+ "message": "Context budget 20,433 tokens is 50% over limit",
1921
+ "location": {
1922
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
1923
+ "line": 1
1924
+ },
1925
+ "suggestion": "Consider reducing dependency depth"
1926
+ }
1927
+ ],
1928
+ "metrics": {
1929
+ "tokenCost": 2870,
1930
+ "complexityScore": 6
1931
+ }
1932
+ },
1933
+ {
1934
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
1935
+ "issues": [
1936
+ {
1937
+ "type": "context-fragmentation",
1938
+ "severity": "info",
1939
+ "message": "No significant issues detected",
1940
+ "location": {
1941
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
1942
+ "line": 1
1943
+ },
1944
+ "suggestion": "File is well-structured for AI context usage"
1945
+ }
1946
+ ],
1947
+ "metrics": {
1948
+ "tokenCost": 2063,
1949
+ "complexityScore": 0
1950
+ }
1951
+ }
1952
+ ],
1953
+ "summary": {
1954
+ "totalFiles": 18,
1955
+ "criticalIssues": 5,
1956
+ "majorIssues": 0,
1957
+ "totalTokens": 26130,
1958
+ "avgContextBudget": 8430.888888888889,
1959
+ "maxContextBudget": 21633,
1960
+ "avgImportDepth": 2.888888888888889,
1961
+ "maxImportDepth": 7,
1962
+ "deepFiles": [
1963
+ {
1964
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1965
+ "depth": 6
1966
+ },
1967
+ {
1968
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1969
+ "depth": 7
1970
+ },
1971
+ {
1972
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1973
+ "depth": 7
1974
+ },
1975
+ {
1976
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
1977
+ "depth": 6
1978
+ }
1979
+ ],
1980
+ "avgFragmentation": 0.6977231335712958,
1981
+ "fragmentedModules": [
1982
+ {
1983
+ "domain": "/Users",
1984
+ "files": [
1985
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
1986
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
1987
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
1988
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
1989
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
1990
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
1991
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
1992
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
1993
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
1994
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
1995
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
1996
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
1997
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
1998
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
1999
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
2000
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
2001
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2002
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts"
2003
+ ],
2004
+ "fragmentationScore": 0.6977231335712958,
2005
+ "totalTokens": 26130,
2006
+ "avgCohesion": 0.9177777777777779,
2007
+ "suggestedStructure": {
2008
+ "targetFiles": 9,
2009
+ "consolidationPlan": [
2010
+ "Consolidate 18 files in /Users into fewer modules"
2011
+ ]
2012
+ }
2013
+ }
2014
+ ],
2015
+ "avgCohesion": 0.9177777777777779,
2016
+ "lowCohesionFiles": [],
2017
+ "minorIssues": 0,
2018
+ "totalPotentialSavings": 51261,
2019
+ "topExpensiveFiles": [
2020
+ {
2021
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
2022
+ "contextBudget": 21633,
2023
+ "severity": "critical"
2024
+ },
2025
+ {
2026
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2027
+ "contextBudget": 20433,
2028
+ "severity": "critical"
2029
+ },
2030
+ {
2031
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
2032
+ "contextBudget": 19619,
2033
+ "severity": "critical"
2034
+ },
2035
+ {
2036
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
2037
+ "contextBudget": 19471,
2038
+ "severity": "critical"
2039
+ },
2040
+ {
2041
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
2042
+ "contextBudget": 16565,
2043
+ "severity": "critical"
2044
+ },
2045
+ {
2046
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
2047
+ "contextBudget": 7335,
2048
+ "severity": "info"
2049
+ },
2050
+ {
2051
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
2052
+ "contextBudget": 7048,
2053
+ "severity": "info"
2054
+ },
2055
+ {
2056
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
2057
+ "contextBudget": 6657,
2058
+ "severity": "info"
2059
+ },
2060
+ {
2061
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
2062
+ "contextBudget": 6337,
2063
+ "severity": "info"
2064
+ },
2065
+ {
2066
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
2067
+ "contextBudget": 5516,
2068
+ "severity": "info"
2069
+ }
2070
+ ],
2071
+ "config": {
2072
+ "rootDir": "/Users/pengcao/projects/aiready/packages/context-analyzer"
2073
+ }
2074
+ },
2075
+ "metadata": {
2076
+ "toolName": "context-analyzer",
2077
+ "version": "0.17.5",
2078
+ "timestamp": "2026-03-14T11:51:54.529Z",
2079
+ "config": {}
2080
+ }
2081
+ },
2082
+ "contextAnalyzer": {
2083
+ "results": [
2084
+ {
2085
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
2086
+ "issues": [
2087
+ {
2088
+ "type": "context-fragmentation",
2089
+ "severity": "info",
2090
+ "message": "No significant issues detected",
2091
+ "location": {
2092
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
2093
+ "line": 1
2094
+ },
2095
+ "suggestion": "File is well-structured for AI context usage"
2096
+ }
2097
+ ],
2098
+ "metrics": {
2099
+ "tokenCost": 1548,
2100
+ "complexityScore": 0
2101
+ }
2102
+ },
2103
+ {
2104
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
2105
+ "issues": [
2106
+ {
2107
+ "type": "context-fragmentation",
2108
+ "severity": "info",
2109
+ "message": "No significant issues detected",
2110
+ "location": {
2111
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
2112
+ "line": 1
2113
+ },
2114
+ "suggestion": "File is well-structured for AI context usage"
2115
+ }
2116
+ ],
2117
+ "metrics": {
2118
+ "tokenCost": 998,
2119
+ "complexityScore": 4
2120
+ }
2121
+ },
2122
+ {
2123
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
2124
+ "issues": [
2125
+ {
2126
+ "type": "context-fragmentation",
2127
+ "severity": "info",
2128
+ "message": "No significant issues detected",
2129
+ "location": {
2130
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
2131
+ "line": 1
2132
+ },
2133
+ "suggestion": "File is well-structured for AI context usage"
2134
+ }
2135
+ ],
2136
+ "metrics": {
2137
+ "tokenCost": 2512,
2138
+ "complexityScore": 1
2139
+ }
2140
+ },
2141
+ {
2142
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
2143
+ "issues": [
2144
+ {
2145
+ "type": "context-fragmentation",
2146
+ "severity": "info",
2147
+ "message": "No significant issues detected",
2148
+ "location": {
2149
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
2150
+ "line": 1
2151
+ },
2152
+ "suggestion": "File is well-structured for AI context usage"
2153
+ }
2154
+ ],
2155
+ "metrics": {
2156
+ "tokenCost": 1442,
2157
+ "complexityScore": 1
2158
+ }
2159
+ },
2160
+ {
2161
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
2162
+ "issues": [
2163
+ {
2164
+ "type": "context-fragmentation",
2165
+ "severity": "info",
2166
+ "message": "No significant issues detected",
2167
+ "location": {
2168
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
2169
+ "line": 1
2170
+ },
2171
+ "suggestion": "File is well-structured for AI context usage"
2172
+ }
2173
+ ],
2174
+ "metrics": {
2175
+ "tokenCost": 1099,
2176
+ "complexityScore": 1
2177
+ }
2178
+ },
2179
+ {
2180
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
2181
+ "issues": [
2182
+ {
2183
+ "type": "context-fragmentation",
2184
+ "severity": "critical",
2185
+ "message": "Import depth 6 exceeds recommended maximum 5",
2186
+ "location": {
2187
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
2188
+ "line": 1
2189
+ },
2190
+ "suggestion": "Consider reducing dependency depth"
2191
+ },
2192
+ {
2193
+ "type": "context-fragmentation",
2194
+ "severity": "critical",
2195
+ "message": "Context budget 19,471 tokens is 50% over limit",
2196
+ "location": {
2197
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
2198
+ "line": 1
2199
+ },
2200
+ "suggestion": "Consider reducing dependency depth"
2201
+ }
2202
+ ],
2203
+ "metrics": {
2204
+ "tokenCost": 466,
2205
+ "complexityScore": 6
2206
+ }
2207
+ },
2208
+ {
2209
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
2210
+ "issues": [
2211
+ {
2212
+ "type": "context-fragmentation",
2213
+ "severity": "info",
2214
+ "message": "No significant issues detected",
2215
+ "location": {
2216
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
2217
+ "line": 1
2218
+ },
2219
+ "suggestion": "File is well-structured for AI context usage"
2220
+ }
2221
+ ],
2222
+ "metrics": {
2223
+ "tokenCost": 1534,
2224
+ "complexityScore": 3
2225
+ }
2226
+ },
2227
+ {
2228
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
2229
+ "issues": [
2230
+ {
2231
+ "type": "context-fragmentation",
2232
+ "severity": "info",
2233
+ "message": "No significant issues detected",
2234
+ "location": {
2235
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
2236
+ "line": 1
2237
+ },
2238
+ "suggestion": "File is well-structured for AI context usage"
2239
+ }
2240
+ ],
2241
+ "metrics": {
2242
+ "tokenCost": 1105,
2243
+ "complexityScore": 0
2244
+ }
2245
+ },
2246
+ {
2247
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
2248
+ "issues": [
2249
+ {
2250
+ "type": "context-fragmentation",
2251
+ "severity": "critical",
2252
+ "message": "Import depth 7 exceeds recommended maximum 5",
2253
+ "location": {
2254
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
2255
+ "line": 1
2256
+ },
2257
+ "suggestion": "Consider reducing dependency depth"
2258
+ },
2259
+ {
2260
+ "type": "context-fragmentation",
2261
+ "severity": "critical",
2262
+ "message": "Context budget 19,619 tokens is 50% over limit",
2263
+ "location": {
2264
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
2265
+ "line": 1
2266
+ },
2267
+ "suggestion": "Consider reducing dependency depth"
2268
+ }
2269
+ ],
2270
+ "metrics": {
2271
+ "tokenCost": 148,
2272
+ "complexityScore": 7
2273
+ }
2274
+ },
2275
+ {
2276
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
2277
+ "issues": [
2278
+ {
2279
+ "type": "context-fragmentation",
2280
+ "severity": "info",
2281
+ "message": "No significant issues detected",
2282
+ "location": {
2283
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
2284
+ "line": 1
2285
+ },
2286
+ "suggestion": "File is well-structured for AI context usage"
2287
+ }
2288
+ ],
2289
+ "metrics": {
2290
+ "tokenCost": 1854,
2291
+ "complexityScore": 3
2292
+ }
2293
+ },
2294
+ {
2295
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
2296
+ "issues": [
2297
+ {
2298
+ "type": "context-fragmentation",
2299
+ "severity": "info",
2300
+ "message": "No significant issues detected",
2301
+ "location": {
2302
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
2303
+ "line": 1
2304
+ },
2305
+ "suggestion": "File is well-structured for AI context usage"
2306
+ }
2307
+ ],
2308
+ "metrics": {
2309
+ "tokenCost": 378,
2310
+ "complexityScore": 1
2311
+ }
2312
+ },
2313
+ {
2314
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
2315
+ "issues": [
2316
+ {
2317
+ "type": "context-fragmentation",
2318
+ "severity": "info",
2319
+ "message": "No significant issues detected",
2320
+ "location": {
2321
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
2322
+ "line": 1
2323
+ },
2324
+ "suggestion": "File is well-structured for AI context usage"
2325
+ }
2326
+ ],
2327
+ "metrics": {
2328
+ "tokenCost": 711,
2329
+ "complexityScore": 4
2330
+ }
2331
+ },
2332
+ {
2333
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
2334
+ "issues": [
2335
+ {
2336
+ "type": "context-fragmentation",
2337
+ "severity": "critical",
2338
+ "message": "Import depth 7 exceeds recommended maximum 5",
2339
+ "location": {
2340
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
2341
+ "line": 1
2342
+ },
2343
+ "suggestion": "Consider reducing dependency depth"
2344
+ },
2345
+ {
2346
+ "type": "context-fragmentation",
2347
+ "severity": "critical",
2348
+ "message": "Context budget 21,633 tokens is 50% over limit",
2349
+ "location": {
2350
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
2351
+ "line": 1
2352
+ },
2353
+ "suggestion": "Consider reducing dependency depth"
2354
+ }
2355
+ ],
2356
+ "metrics": {
2357
+ "tokenCost": 1200,
2358
+ "complexityScore": 7
2359
+ }
2360
+ },
2361
+ {
2362
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
2363
+ "issues": [
2364
+ {
2365
+ "type": "context-fragmentation",
2366
+ "severity": "info",
2367
+ "message": "No significant issues detected",
2368
+ "location": {
2369
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
2370
+ "line": 1
2371
+ },
2372
+ "suggestion": "File is well-structured for AI context usage"
2373
+ }
2374
+ ],
2375
+ "metrics": {
2376
+ "tokenCost": 3968,
2377
+ "complexityScore": 1
2378
+ }
2379
+ },
2380
+ {
2381
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
2382
+ "issues": [
2383
+ {
2384
+ "type": "context-fragmentation",
2385
+ "severity": "info",
2386
+ "message": "No significant issues detected",
2387
+ "location": {
2388
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
2389
+ "line": 1
2390
+ },
2391
+ "suggestion": "File is well-structured for AI context usage"
2392
+ }
2393
+ ],
2394
+ "metrics": {
2395
+ "tokenCost": 743,
2396
+ "complexityScore": 2
2397
+ }
2398
+ },
2399
+ {
2400
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
2401
+ "issues": [
2402
+ {
2403
+ "type": "context-fragmentation",
2404
+ "severity": "critical",
2405
+ "message": "Context budget 16,565 tokens is 50% over limit",
2406
+ "location": {
2407
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
2408
+ "line": 1
2409
+ },
2410
+ "suggestion": "Split into smaller modules or reduce dependency tree"
2411
+ }
2412
+ ],
2413
+ "metrics": {
2414
+ "tokenCost": 1491,
2415
+ "complexityScore": 5
2416
+ }
2417
+ },
2418
+ {
2419
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2420
+ "issues": [
2421
+ {
2422
+ "type": "context-fragmentation",
2423
+ "severity": "critical",
2424
+ "message": "Import depth 6 exceeds recommended maximum 5",
2425
+ "location": {
2426
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2427
+ "line": 1
2428
+ },
2429
+ "suggestion": "Consider reducing dependency depth"
2430
+ },
2431
+ {
2432
+ "type": "context-fragmentation",
2433
+ "severity": "critical",
2434
+ "message": "Context budget 20,433 tokens is 50% over limit",
2435
+ "location": {
2436
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2437
+ "line": 1
2438
+ },
2439
+ "suggestion": "Consider reducing dependency depth"
2440
+ }
2441
+ ],
2442
+ "metrics": {
2443
+ "tokenCost": 2870,
2444
+ "complexityScore": 6
2445
+ }
2446
+ },
2447
+ {
2448
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
2449
+ "issues": [
2450
+ {
2451
+ "type": "context-fragmentation",
2452
+ "severity": "info",
2453
+ "message": "No significant issues detected",
2454
+ "location": {
2455
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
2456
+ "line": 1
2457
+ },
2458
+ "suggestion": "File is well-structured for AI context usage"
2459
+ }
2460
+ ],
2461
+ "metrics": {
2462
+ "tokenCost": 2063,
2463
+ "complexityScore": 0
2464
+ }
2465
+ }
2466
+ ],
2467
+ "summary": {
2468
+ "totalFiles": 18,
2469
+ "criticalIssues": 5,
2470
+ "majorIssues": 0,
2471
+ "totalTokens": 26130,
2472
+ "avgContextBudget": 8430.888888888889,
2473
+ "maxContextBudget": 21633,
2474
+ "avgImportDepth": 2.888888888888889,
2475
+ "maxImportDepth": 7,
2476
+ "deepFiles": [
2477
+ {
2478
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
2479
+ "depth": 6
2480
+ },
2481
+ {
2482
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
2483
+ "depth": 7
2484
+ },
2485
+ {
2486
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
2487
+ "depth": 7
2488
+ },
2489
+ {
2490
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2491
+ "depth": 6
2492
+ }
2493
+ ],
2494
+ "avgFragmentation": 0.6977231335712958,
2495
+ "fragmentedModules": [
2496
+ {
2497
+ "domain": "/Users",
2498
+ "files": [
2499
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
2500
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
2501
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
2502
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
2503
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
2504
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
2505
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
2506
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
2507
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
2508
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
2509
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
2510
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
2511
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
2512
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
2513
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
2514
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
2515
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2516
+ "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts"
2517
+ ],
2518
+ "fragmentationScore": 0.6977231335712958,
2519
+ "totalTokens": 26130,
2520
+ "avgCohesion": 0.9177777777777779,
2521
+ "suggestedStructure": {
2522
+ "targetFiles": 9,
2523
+ "consolidationPlan": [
2524
+ "Consolidate 18 files in /Users into fewer modules"
2525
+ ]
2526
+ }
2527
+ }
2528
+ ],
2529
+ "avgCohesion": 0.9177777777777779,
2530
+ "lowCohesionFiles": [],
2531
+ "minorIssues": 0,
2532
+ "totalPotentialSavings": 51261,
2533
+ "topExpensiveFiles": [
2534
+ {
2535
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
2536
+ "contextBudget": 21633,
2537
+ "severity": "critical"
2538
+ },
2539
+ {
2540
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2541
+ "contextBudget": 20433,
2542
+ "severity": "critical"
2543
+ },
2544
+ {
2545
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
2546
+ "contextBudget": 19619,
2547
+ "severity": "critical"
2548
+ },
2549
+ {
2550
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
2551
+ "contextBudget": 19471,
2552
+ "severity": "critical"
2553
+ },
2554
+ {
2555
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
2556
+ "contextBudget": 16565,
2557
+ "severity": "critical"
2558
+ },
2559
+ {
2560
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
2561
+ "contextBudget": 7335,
2562
+ "severity": "info"
2563
+ },
2564
+ {
2565
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
2566
+ "contextBudget": 7048,
2567
+ "severity": "info"
2568
+ },
2569
+ {
2570
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
2571
+ "contextBudget": 6657,
2572
+ "severity": "info"
2573
+ },
2574
+ {
2575
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
2576
+ "contextBudget": 6337,
2577
+ "severity": "info"
2578
+ },
2579
+ {
2580
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
2581
+ "contextBudget": 5516,
2582
+ "severity": "info"
2583
+ }
2584
+ ],
2585
+ "config": {
2586
+ "rootDir": "/Users/pengcao/projects/aiready/packages/context-analyzer"
2587
+ }
2588
+ },
2589
+ "metadata": {
2590
+ "toolName": "context-analyzer",
2591
+ "version": "0.17.5",
2592
+ "timestamp": "2026-03-14T11:51:54.529Z",
2593
+ "config": {}
2594
+ }
2595
+ },
2596
+ "results": [
2597
+ {
2598
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
2599
+ "issues": [
2600
+ {
2601
+ "type": "context-fragmentation",
2602
+ "severity": "info",
2603
+ "message": "No significant issues detected",
2604
+ "location": {
2605
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/types.ts",
2606
+ "line": 1
2607
+ },
2608
+ "suggestion": "File is well-structured for AI context usage"
2609
+ }
2610
+ ],
2611
+ "metrics": {
2612
+ "tokenCost": 1548,
2613
+ "complexityScore": 0
2614
+ }
2615
+ },
2616
+ {
2617
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
2618
+ "issues": [
2619
+ {
2620
+ "type": "context-fragmentation",
2621
+ "severity": "info",
2622
+ "message": "No significant issues detected",
2623
+ "location": {
2624
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/summary.ts",
2625
+ "line": 1
2626
+ },
2627
+ "suggestion": "File is well-structured for AI context usage"
2628
+ }
2629
+ ],
2630
+ "metrics": {
2631
+ "tokenCost": 998,
2632
+ "complexityScore": 4
2633
+ }
2634
+ },
2635
+ {
2636
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
2637
+ "issues": [
2638
+ {
2639
+ "type": "context-fragmentation",
2640
+ "severity": "info",
2641
+ "message": "No significant issues detected",
2642
+ "location": {
2643
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/semantic-analysis.ts",
2644
+ "line": 1
2645
+ },
2646
+ "suggestion": "File is well-structured for AI context usage"
2647
+ }
2648
+ ],
2649
+ "metrics": {
2650
+ "tokenCost": 2512,
2651
+ "complexityScore": 1
2652
+ }
2653
+ },
2654
+ {
2655
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
2656
+ "issues": [
2657
+ {
2658
+ "type": "context-fragmentation",
2659
+ "severity": "info",
2660
+ "message": "No significant issues detected",
2661
+ "location": {
2662
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/scoring.ts",
2663
+ "line": 1
2664
+ },
2665
+ "suggestion": "File is well-structured for AI context usage"
2666
+ }
2667
+ ],
2668
+ "metrics": {
2669
+ "tokenCost": 1442,
2670
+ "complexityScore": 1
2671
+ }
2672
+ },
2673
+ {
2674
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
2675
+ "issues": [
2676
+ {
2677
+ "type": "context-fragmentation",
2678
+ "severity": "info",
2679
+ "message": "No significant issues detected",
2680
+ "location": {
2681
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/remediation.ts",
2682
+ "line": 1
2683
+ },
2684
+ "suggestion": "File is well-structured for AI context usage"
2685
+ }
2686
+ ],
2687
+ "metrics": {
2688
+ "tokenCost": 1099,
2689
+ "complexityScore": 1
2690
+ }
2691
+ },
2692
+ {
2693
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
2694
+ "issues": [
2695
+ {
2696
+ "type": "context-fragmentation",
2697
+ "severity": "critical",
2698
+ "message": "Import depth 6 exceeds recommended maximum 5",
2699
+ "location": {
2700
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
2701
+ "line": 1
2702
+ },
2703
+ "suggestion": "Consider reducing dependency depth"
2704
+ },
2705
+ {
2706
+ "type": "context-fragmentation",
2707
+ "severity": "critical",
2708
+ "message": "Context budget 19,471 tokens is 50% over limit",
2709
+ "location": {
2710
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/provider.ts",
2711
+ "line": 1
2712
+ },
2713
+ "suggestion": "Consider reducing dependency depth"
2714
+ }
2715
+ ],
2716
+ "metrics": {
2717
+ "tokenCost": 466,
2718
+ "complexityScore": 6
2719
+ }
2720
+ },
2721
+ {
2722
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
2723
+ "issues": [
2724
+ {
2725
+ "type": "context-fragmentation",
2726
+ "severity": "info",
2727
+ "message": "No significant issues detected",
2728
+ "location": {
2729
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/metrics.ts",
2730
+ "line": 1
2731
+ },
2732
+ "suggestion": "File is well-structured for AI context usage"
2733
+ }
2734
+ ],
2735
+ "metrics": {
2736
+ "tokenCost": 1534,
2737
+ "complexityScore": 3
2738
+ }
2739
+ },
2740
+ {
2741
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
2742
+ "issues": [
2743
+ {
2744
+ "type": "context-fragmentation",
2745
+ "severity": "info",
2746
+ "message": "No significant issues detected",
2747
+ "location": {
2748
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/issue-analyzer.ts",
2749
+ "line": 1
2750
+ },
2751
+ "suggestion": "File is well-structured for AI context usage"
2752
+ }
2753
+ ],
2754
+ "metrics": {
2755
+ "tokenCost": 1105,
2756
+ "complexityScore": 0
2757
+ }
2758
+ },
2759
+ {
2760
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
2761
+ "issues": [
2762
+ {
2763
+ "type": "context-fragmentation",
2764
+ "severity": "critical",
2765
+ "message": "Import depth 7 exceeds recommended maximum 5",
2766
+ "location": {
2767
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
2768
+ "line": 1
2769
+ },
2770
+ "suggestion": "Consider reducing dependency depth"
2771
+ },
2772
+ {
2773
+ "type": "context-fragmentation",
2774
+ "severity": "critical",
2775
+ "message": "Context budget 19,619 tokens is 50% over limit",
2776
+ "location": {
2777
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/index.ts",
2778
+ "line": 1
2779
+ },
2780
+ "suggestion": "Consider reducing dependency depth"
2781
+ }
2782
+ ],
2783
+ "metrics": {
2784
+ "tokenCost": 148,
2785
+ "complexityScore": 7
2786
+ }
2787
+ },
2788
+ {
2789
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
2790
+ "issues": [
2791
+ {
2792
+ "type": "context-fragmentation",
2793
+ "severity": "info",
2794
+ "message": "No significant issues detected",
2795
+ "location": {
2796
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/graph-builder.ts",
2797
+ "line": 1
2798
+ },
2799
+ "suggestion": "File is well-structured for AI context usage"
2800
+ }
2801
+ ],
2802
+ "metrics": {
2803
+ "tokenCost": 1854,
2804
+ "complexityScore": 3
2805
+ }
2806
+ },
2807
+ {
2808
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
2809
+ "issues": [
2810
+ {
2811
+ "type": "context-fragmentation",
2812
+ "severity": "info",
2813
+ "message": "No significant issues detected",
2814
+ "location": {
2815
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/defaults.ts",
2816
+ "line": 1
2817
+ },
2818
+ "suggestion": "File is well-structured for AI context usage"
2819
+ }
2820
+ ],
2821
+ "metrics": {
2822
+ "tokenCost": 378,
2823
+ "complexityScore": 1
2824
+ }
2825
+ },
2826
+ {
2827
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
2828
+ "issues": [
2829
+ {
2830
+ "type": "context-fragmentation",
2831
+ "severity": "info",
2832
+ "message": "No significant issues detected",
2833
+ "location": {
2834
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cluster-detector.ts",
2835
+ "line": 1
2836
+ },
2837
+ "suggestion": "File is well-structured for AI context usage"
2838
+ }
2839
+ ],
2840
+ "metrics": {
2841
+ "tokenCost": 711,
2842
+ "complexityScore": 4
2843
+ }
2844
+ },
2845
+ {
2846
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
2847
+ "issues": [
2848
+ {
2849
+ "type": "context-fragmentation",
2850
+ "severity": "critical",
2851
+ "message": "Import depth 7 exceeds recommended maximum 5",
2852
+ "location": {
2853
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
2854
+ "line": 1
2855
+ },
2856
+ "suggestion": "Consider reducing dependency depth"
2857
+ },
2858
+ {
2859
+ "type": "context-fragmentation",
2860
+ "severity": "critical",
2861
+ "message": "Context budget 21,633 tokens is 50% over limit",
2862
+ "location": {
2863
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/cli.ts",
2864
+ "line": 1
2865
+ },
2866
+ "suggestion": "Consider reducing dependency depth"
2867
+ }
2868
+ ],
2869
+ "metrics": {
2870
+ "tokenCost": 1200,
2871
+ "complexityScore": 7
2872
+ }
2873
+ },
2874
+ {
2875
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
2876
+ "issues": [
2877
+ {
2878
+ "type": "context-fragmentation",
2879
+ "severity": "info",
2880
+ "message": "No significant issues detected",
2881
+ "location": {
2882
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/classifier.ts",
2883
+ "line": 1
2884
+ },
2885
+ "suggestion": "File is well-structured for AI context usage"
2886
+ }
2887
+ ],
2888
+ "metrics": {
2889
+ "tokenCost": 3968,
2890
+ "complexityScore": 1
2891
+ }
2892
+ },
2893
+ {
2894
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
2895
+ "issues": [
2896
+ {
2897
+ "type": "context-fragmentation",
2898
+ "severity": "info",
2899
+ "message": "No significant issues detected",
2900
+ "location": {
2901
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/ast-utils.ts",
2902
+ "line": 1
2903
+ },
2904
+ "suggestion": "File is well-structured for AI context usage"
2905
+ }
2906
+ ],
2907
+ "metrics": {
2908
+ "tokenCost": 743,
2909
+ "complexityScore": 2
2910
+ }
2911
+ },
2912
+ {
2913
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
2914
+ "issues": [
2915
+ {
2916
+ "type": "context-fragmentation",
2917
+ "severity": "critical",
2918
+ "message": "Context budget 16,565 tokens is 50% over limit",
2919
+ "location": {
2920
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzer.ts",
2921
+ "line": 1
2922
+ },
2923
+ "suggestion": "Split into smaller modules or reduce dependency tree"
2924
+ }
2925
+ ],
2926
+ "metrics": {
2927
+ "tokenCost": 1491,
2928
+ "complexityScore": 5
2929
+ }
2930
+ },
2931
+ {
2932
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2933
+ "issues": [
2934
+ {
2935
+ "type": "context-fragmentation",
2936
+ "severity": "critical",
2937
+ "message": "Import depth 6 exceeds recommended maximum 5",
2938
+ "location": {
2939
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2940
+ "line": 1
2941
+ },
2942
+ "suggestion": "Consider reducing dependency depth"
2943
+ },
2944
+ {
2945
+ "type": "context-fragmentation",
2946
+ "severity": "critical",
2947
+ "message": "Context budget 20,433 tokens is 50% over limit",
2948
+ "location": {
2949
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/utils/output-formatter.ts",
2950
+ "line": 1
2951
+ },
2952
+ "suggestion": "Consider reducing dependency depth"
2953
+ }
2954
+ ],
2955
+ "metrics": {
2956
+ "tokenCost": 2870,
2957
+ "complexityScore": 6
2958
+ }
2959
+ },
2960
+ {
2961
+ "fileName": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
2962
+ "issues": [
2963
+ {
2964
+ "type": "context-fragmentation",
2965
+ "severity": "info",
2966
+ "message": "No significant issues detected",
2967
+ "location": {
2968
+ "file": "/Users/pengcao/projects/aiready/packages/context-analyzer/src/analyzers/python-context.ts",
2969
+ "line": 1
2970
+ },
2971
+ "suggestion": "File is well-structured for AI context usage"
2972
+ }
2973
+ ],
2974
+ "metrics": {
2975
+ "tokenCost": 2063,
2976
+ "complexityScore": 0
2977
+ }
2978
+ }
2979
+ ],
2980
+ "scoring": {
2981
+ "overall": 51,
2982
+ "rating": "Needs Work",
2983
+ "timestamp": "2026-03-14T11:51:54.532Z",
2984
+ "toolsUsed": ["context-analyzer"],
2985
+ "breakdown": [
2986
+ {
2987
+ "toolName": "context-analyzer",
2988
+ "score": 51,
2989
+ "rawMetrics": {
2990
+ "avgContextBudget": 8431,
2991
+ "maxContextBudget": 21633,
2992
+ "avgImportDepth": 2.9,
2993
+ "maxImportDepth": 7,
2994
+ "avgFragmentation": 0.7,
2995
+ "criticalIssues": 5,
2996
+ "majorIssues": 0,
2997
+ "estimatedMonthlyCost": {
2998
+ "total": 7511.94,
2999
+ "range": [5633.96, 9389.92],
3000
+ "confidence": 0.7
3001
+ },
3002
+ "estimatedDeveloperHours": 20
3003
+ },
3004
+ "factors": [
3005
+ {
3006
+ "name": "Context Budget",
3007
+ "impact": -1,
3008
+ "description": "Avg 8431 tokens per file (acceptable)"
3009
+ },
3010
+ {
3011
+ "name": "Import Depth",
3012
+ "impact": 0,
3013
+ "description": "Avg 2.9 levels (excellent)"
3014
+ },
3015
+ {
3016
+ "name": "Fragmentation",
3017
+ "impact": -5,
3018
+ "description": "70% fragmentation (high)"
3019
+ },
3020
+ {
3021
+ "name": "Critical Issues",
3022
+ "impact": -15,
3023
+ "description": "5 critical context issues"
3024
+ },
3025
+ {
3026
+ "name": "Extreme File Detected",
3027
+ "impact": -13,
3028
+ "description": "One file requires 21633 tokens (very high)"
3029
+ }
3030
+ ],
3031
+ "recommendations": [
3032
+ {
3033
+ "action": "Consolidate related code into cohesive modules",
3034
+ "estimatedImpact": 8,
3035
+ "priority": "medium"
3036
+ },
3037
+ {
3038
+ "action": "Split large file (21633 tokens) into smaller modules",
3039
+ "estimatedImpact": 8,
3040
+ "priority": "high"
3041
+ }
3042
+ ],
3043
+ "tokenBudget": {
3044
+ "totalContextTokens": 26130,
3045
+ "estimatedResponseTokens": 5226,
3046
+ "wastedTokens": {
3047
+ "total": 51261,
3048
+ "bySource": {
3049
+ "duplication": 0,
3050
+ "fragmentation": 51261,
3051
+ "chattiness": 0
3052
+ }
3053
+ },
3054
+ "efficiencyRatio": 0,
3055
+ "potentialRetrievableTokens": 41009
3056
+ }
3057
+ }
3058
+ ],
3059
+ "calculation": {
3060
+ "formula": "[(51 × 19)] / 19 = 51",
3061
+ "weights": {
3062
+ "context-analyzer": 19
3063
+ },
3064
+ "normalized": "[(51 × 19)] / 19 = 51"
3065
+ },
3066
+ "tokenBudget": {
3067
+ "totalContextTokens": 26130,
3068
+ "estimatedResponseTokens": 5226,
3069
+ "wastedTokens": {
3070
+ "total": 53874,
3071
+ "bySource": {
3072
+ "duplication": 0,
3073
+ "fragmentation": 51261,
3074
+ "chattiness": 2613
3075
+ }
3076
+ },
3077
+ "efficiencyRatio": 0,
3078
+ "potentialRetrievableTokens": 43099
3079
+ },
3080
+ "businessROI": {
3081
+ "monthlySavings": 1455,
3082
+ "productivityGainHours": 39,
3083
+ "annualValue": 52825
3084
+ }
3085
+ },
3086
+ "repository": {
3087
+ "url": "https://github.com/caopengau/aiready.git",
3088
+ "branch": "main",
3089
+ "commit": "3be4936e1c8aa50d6324b014ca8fcf791c6dcfaf",
3090
+ "author": "caopengau@gmail.com"
3091
+ }
3092
+ }