@ai-lighthouse/cli 1.0.1 → 1.0.2

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 (102) hide show
  1. package/dist/index.js +2573 -12
  2. package/package.json +10 -4
  3. package/.ai-lighthouse/audit_example.com_2025-12-15T12-10-43.json +0 -183
  4. package/.ai-lighthouse/audit_fayeed.dev_2026-01-07T19-32-28.html +0 -743
  5. package/.ai-lighthouse/audit_fayeed.dev_2026-01-07T19-33-02.html +0 -757
  6. package/.ai-lighthouse/audit_github.com_2025-12-15T11-53-21.json +0 -168
  7. package/.ai-lighthouse/audit_github.com_2025-12-15T12-04-06.json +0 -168
  8. package/.ai-lighthouse/audit_github.com_2025-12-15T12-05-10.json +0 -168
  9. package/.ai-lighthouse/audit_github.com_2025-12-15T12-09-45.json +0 -168
  10. package/.ai-lighthouse/audit_github.com_2025-12-15T12-11-07.json +0 -168
  11. package/.ai-lighthouse/audit_github.com_2025-12-15T12-13-28.json +0 -168
  12. package/.ai-lighthouse/audit_github.com_2025-12-15T12-14-59.json +0 -205
  13. package/.ai-lighthouse/audit_github.com_2025-12-15T12-18-07.json +0 -205
  14. package/.ai-lighthouse/audit_github.com_2025-12-15T12-18-44.json +0 -205
  15. package/.ai-lighthouse/audit_github.com_2025-12-15T12-21-38.json +0 -205
  16. package/.ai-lighthouse/audit_github.com_2025-12-15T12-22-21.json +0 -205
  17. package/.ai-lighthouse/audit_github.com_2025-12-15T12-22-46.json +0 -205
  18. package/.ai-lighthouse/audit_github.com_2025-12-15T12-23-18.json +0 -205
  19. package/.ai-lighthouse/audit_github.com_2025-12-15T12-24-43.json +0 -205
  20. package/.ai-lighthouse/audit_github.com_2025-12-17T12-15-08.json +0 -168
  21. package/.ai-lighthouse/audit_github.com_2025-12-17T12-15-57.json +0 -168
  22. package/.ai-lighthouse/audit_github.com_2025-12-17T12-17-11.json +0 -168
  23. package/.ai-lighthouse/audit_github.com_2025-12-17T12-22-17.json +0 -168
  24. package/.ai-lighthouse/audit_github.com_2025-12-17T12-22-42.json +0 -168
  25. package/.ai-lighthouse/audit_github.com_2025-12-17T12-23-56.json +0 -168
  26. package/.ai-lighthouse/audit_github.com_2025-12-17T12-25-24.json +0 -168
  27. package/.ai-lighthouse/audit_github.com_2025-12-17T12-25-40.json +0 -168
  28. package/.ai-lighthouse/audit_github.com_2025-12-17T12-27-02.json +0 -168
  29. package/.ai-lighthouse/audit_github.com_2025-12-17T12-27-20.json +0 -168
  30. package/.ai-lighthouse/audit_github.com_2025-12-17T12-29-56.json +0 -168
  31. package/.ai-lighthouse/audit_github.com_2025-12-17T12-32-27.json +0 -168
  32. package/.ai-lighthouse/audit_github.com_2025-12-17T12-33-00.json +0 -168
  33. package/.ai-lighthouse/audit_github.com_2025-12-17T12-34-49.json +0 -168
  34. package/.ai-lighthouse/audit_stripe.com_2025-12-15T12-11-31.json +0 -168
  35. package/.ai-lighthouse/audit_stripe.com_2025-12-15T12-11-45.json +0 -168
  36. package/.ai-lighthouse/audit_tailwindcss.com_2025-12-15T12-12-01.json +0 -169
  37. package/.ai-lighthouse/crawl_example.com_2025-12-15T12-03-08.json +0 -24
  38. package/.ai-lighthouse/crawl_example.com_2025-12-15T12-03-23.json +0 -24
  39. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-41-34.json +0 -21
  40. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-42-09.json +0 -21
  41. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-42-45.json +0 -21
  42. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-43-02.json +0 -21
  43. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-43-26.json +0 -21
  44. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-47-46.json +0 -906
  45. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-50-27.json +0 -906
  46. package/.ai-lighthouse/crawl_github.com_2025-12-15T11-52-59.json +0 -906
  47. package/.ai-lighthouse/crawl_github.com_2025-12-15T12-03-33.json +0 -28
  48. package/CLI_UI_README.md +0 -211
  49. package/EXAMPLES.md +0 -87
  50. package/IMPLEMENTATION.md +0 -215
  51. package/USAGE.md +0 -264
  52. package/WIZARD_GUIDE.md +0 -340
  53. package/bin/cli.js +0 -2
  54. package/dist/commands/audit-interactive.d.ts +0 -2
  55. package/dist/commands/audit-interactive.js +0 -106
  56. package/dist/commands/audit-wizard.d.ts +0 -2
  57. package/dist/commands/audit-wizard.js +0 -110
  58. package/dist/commands/audit.d.ts +0 -2
  59. package/dist/commands/audit.js +0 -940
  60. package/dist/commands/crawl.d.ts +0 -2
  61. package/dist/commands/crawl.js +0 -267
  62. package/dist/commands/report.d.ts +0 -2
  63. package/dist/commands/report.js +0 -304
  64. package/dist/index.d.ts +0 -1
  65. package/dist/ui/AuditReportUI.d.ts +0 -10
  66. package/dist/ui/AuditReportUI.js +0 -76
  67. package/dist/ui/SetupWizard.d.ts +0 -18
  68. package/dist/ui/SetupWizard.js +0 -179
  69. package/dist/ui/components/AIUnderstandingSection.d.ts +0 -6
  70. package/dist/ui/components/AIUnderstandingSection.js +0 -87
  71. package/dist/ui/components/HallucinationSection.d.ts +0 -6
  72. package/dist/ui/components/HallucinationSection.js +0 -84
  73. package/dist/ui/components/IssuesSection.d.ts +0 -6
  74. package/dist/ui/components/IssuesSection.js +0 -84
  75. package/dist/ui/components/MessageAlignmentSection.d.ts +0 -6
  76. package/dist/ui/components/MessageAlignmentSection.js +0 -108
  77. package/dist/ui/components/OverviewSection.d.ts +0 -6
  78. package/dist/ui/components/OverviewSection.js +0 -107
  79. package/dist/ui/components/ScoreDisplay.d.ts +0 -8
  80. package/dist/ui/components/ScoreDisplay.js +0 -41
  81. package/dist/ui/components/TechnicalSection.d.ts +0 -7
  82. package/dist/ui/components/TechnicalSection.js +0 -110
  83. package/dist/utils/comprehensive-formatter.d.ts +0 -5
  84. package/dist/utils/comprehensive-formatter.js +0 -370
  85. package/src/commands/audit-interactive.ts +0 -149
  86. package/src/commands/audit-wizard.ts +0 -137
  87. package/src/commands/audit.ts +0 -1012
  88. package/src/commands/crawl.ts +0 -307
  89. package/src/commands/report.ts +0 -321
  90. package/src/index.ts +0 -22
  91. package/src/ui/AuditReportUI.tsx +0 -151
  92. package/src/ui/SetupWizard.tsx +0 -294
  93. package/src/ui/components/AIUnderstandingSection.tsx +0 -183
  94. package/src/ui/components/HallucinationSection.tsx +0 -172
  95. package/src/ui/components/IssuesSection.tsx +0 -140
  96. package/src/ui/components/MessageAlignmentSection.tsx +0 -203
  97. package/src/ui/components/OverviewSection.tsx +0 -157
  98. package/src/ui/components/ScoreDisplay.tsx +0 -58
  99. package/src/ui/components/TechnicalSection.tsx +0 -200
  100. package/src/utils/comprehensive-formatter.ts +0 -455
  101. package/test.sh +0 -31
  102. package/tsconfig.json +0 -25
@@ -1,906 +0,0 @@
1
- {
2
- "crawl_id": "crawl_1765799427808_wrd0y7azu",
3
- "crawled_at": "2025-12-15T11:50:27.808Z",
4
- "base_url": "https://github.com",
5
- "start_url": "https://github.com",
6
- "total_pages": 2,
7
- "crawl_depth": 2,
8
- "pages": [
9
- {
10
- "url": "https://github.com",
11
- "timestamp": 1765799427771,
12
- "issues": [
13
- {
14
- "id": "CHUNK-001",
15
- "title": "Chunk exceeds recommended token/window size",
16
- "serverity": "critical",
17
- "category": "CHUNK",
18
- "description": "Main content appears to be long (2045 tokens) and may exceed model context windows. Consider splitting into smaller sections or paginating content.",
19
- "remediation": "Break content into smaller semantic sections using headings or create separate pages for distinct topics.",
20
- "impactScore": 40,
21
- "location": {
22
- "url": "https://github.com"
23
- },
24
- "evidence": [
25
- "tokens:2045"
26
- ],
27
- "tags": [
28
- "chunking",
29
- "embeddings"
30
- ],
31
- "confidence": 0.9,
32
- "timestamp": "2025-12-15T11:50:27.767Z"
33
- },
34
- {
35
- "id": "KG-001",
36
- "title": "No Schema.org structured data",
37
- "serverity": "high",
38
- "category": "KG",
39
- "description": "The page lacks Schema.org structured data in JSON-LD format. This prevents AI from building knowledge graphs from your content.",
40
- "remediation": "Add Schema.org structured data using JSON-LD. Consider Organization, Person, Article, Product, or other relevant schemas.",
41
- "impactScore": 30,
42
- "location": {
43
- "url": "https://github.com"
44
- },
45
- "evidence": [
46
- "No JSON-LD structured data found"
47
- ],
48
- "tags": [
49
- "schema",
50
- "json-ld",
51
- "knowledge-graph"
52
- ],
53
- "confidence": 1,
54
- "timestamp": "2025-12-15T11:50:27.746Z"
55
- },
56
- {
57
- "id": "AIREAD-002",
58
- "title": "Multiple H1 Headings",
59
- "serverity": "high",
60
- "category": "AIREAD",
61
- "description": "The HTML document contains multiple H1 headings (4 found).",
62
- "remediation": "Consider using a single H1 heading for better SEO practices.",
63
- "impactScore": 20,
64
- "location": {
65
- "url": "https://github.com",
66
- "selector": "h1",
67
- "textSnippet": "Search code, repositories, users, issues, pull requests..."
68
- },
69
- "evidence": [
70
- "count: 4"
71
- ],
72
- "tags": [
73
- "seo",
74
- "accessibility"
75
- ],
76
- "confidence": 0.95,
77
- "timestamp": "2025-12-15T11:50:27.744Z"
78
- },
79
- {
80
- "id": "AIREAD-066",
81
- "title": "Videos without captions",
82
- "serverity": "medium",
83
- "category": "AIREAD",
84
- "description": "Found 2 video(s) without caption tracks. Captions provide text alternatives that AI can process.",
85
- "remediation": "Add <track kind=\"captions\"> elements to video tags with WebVTT caption files.",
86
- "impactScore": 20,
87
- "location": {
88
- "url": "https://github.com",
89
- "selector": "video"
90
- },
91
- "evidence": [
92
- "Videos without captions: 2"
93
- ],
94
- "tags": [
95
- "video",
96
- "captions",
97
- "accessibility"
98
- ],
99
- "confidence": 1,
100
- "timestamp": "2025-12-15T11:50:27.750Z"
101
- },
102
- {
103
- "id": "CHUNK-002",
104
- "title": "Repetitive text content",
105
- "serverity": "medium",
106
- "category": "CHUNK",
107
- "description": "Found 24 text pattern(s) repeated multiple times, wasting ~1650 tokens. Repetitive disclaimers or boilerplate hurt token efficiency.",
108
- "remediation": "Consolidate repetitive text into a single location. Use references or footnotes instead of repeating the same text multiple times.",
109
- "impactScore": 20,
110
- "location": {
111
- "url": "https://github.com"
112
- },
113
- "evidence": [
114
- "Repetitive patterns: 24",
115
- "Wasted tokens: ~1650",
116
- "Example: \"Search\n \n \n \n \n \n\n \n \n \n \n ...\""
117
- ],
118
- "tags": [
119
- "tokens",
120
- "duplication",
121
- "content"
122
- ],
123
- "confidence": 0.85,
124
- "timestamp": "2025-12-15T11:50:27.764Z"
125
- },
126
- {
127
- "id": "A11Y-002",
128
- "title": "Form inputs without labels",
129
- "serverity": "medium",
130
- "category": "A11Y",
131
- "description": "Found 1 form input(s) without associated labels or ARIA labels. Labels help AI agents understand form purpose and context.",
132
- "remediation": "Add <label> elements associated with inputs via for/id attributes, or use aria-label/aria-labelledby attributes.",
133
- "impactScore": 15,
134
- "location": {
135
- "url": "https://github.com",
136
- "selector": "input, textarea, select"
137
- },
138
- "evidence": [
139
- "Unlabeled inputs: 1"
140
- ],
141
- "tags": [
142
- "forms",
143
- "labels",
144
- "accessibility"
145
- ],
146
- "confidence": 1,
147
- "timestamp": "2025-12-15T11:50:27.750Z"
148
- },
149
- {
150
- "id": "CHUNK-005",
151
- "title": "Duplicate navigation elements",
152
- "serverity": "medium",
153
- "category": "CHUNK",
154
- "description": "Found 7 <nav> elements. Multiple navigation sections waste ~220 tokens with repetitive content.",
155
- "remediation": "Consolidate navigation into a single element. If multiple navs are needed, ensure they serve distinct purposes and contain unique content.",
156
- "impactScore": 15,
157
- "location": {
158
- "url": "https://github.com",
159
- "selector": "nav"
160
- },
161
- "evidence": [
162
- "Navigation count: 7",
163
- "Estimated wasted tokens: ~220"
164
- ],
165
- "tags": [
166
- "tokens",
167
- "navigation",
168
- "duplication"
169
- ],
170
- "confidence": 0.85,
171
- "timestamp": "2025-12-15T11:50:27.764Z"
172
- },
173
- {
174
- "id": "AIREAD-068",
175
- "title": "No video transcripts available",
176
- "serverity": "low",
177
- "category": "AIREAD",
178
- "description": "Videos present but no transcript links found. Full text transcripts are ideal for AI content understanding.",
179
- "remediation": "Provide full text transcripts for videos. Link to them near the video or include them on the page.",
180
- "impactScore": 12,
181
- "location": {
182
- "url": "https://github.com"
183
- },
184
- "evidence": [
185
- "Videos: 2",
186
- "No transcript links"
187
- ],
188
- "tags": [
189
- "video",
190
- "transcripts",
191
- "accessibility"
192
- ],
193
- "confidence": 0.7,
194
- "timestamp": "2025-12-15T11:50:27.751Z"
195
- },
196
- {
197
- "id": "CRAWL-014",
198
- "title": "Excessive external resources",
199
- "serverity": "low",
200
- "category": "CRAWL",
201
- "description": "Page loads 123 external resources. This wastes crawl budget and slows down AI crawler processing.",
202
- "remediation": "Consolidate resources, use sprite sheets, inline critical assets, and defer non-critical loads.",
203
- "impactScore": 10,
204
- "location": {
205
- "url": "https://github.com"
206
- },
207
- "evidence": [
208
- "Total external resources: 123"
209
- ],
210
- "tags": [
211
- "crawl-budget",
212
- "resources",
213
- "performance"
214
- ],
215
- "confidence": 0.8,
216
- "timestamp": "2025-12-15T11:50:27.747Z"
217
- }
218
- ],
219
- "scores": {
220
- "EXTRACT": 100,
221
- "AIREAD": 40,
222
- "KG": 70,
223
- "CRAWL": 90,
224
- "A11Y": 85,
225
- "CHUNK": 25
226
- },
227
- "scoring": {
228
- "overallScore": 50.8,
229
- "categoryScores": [
230
- {
231
- "category": "AIREAD",
232
- "score": 0,
233
- "issueCount": 3,
234
- "totalImpact": 243,
235
- "weight": 1.5,
236
- "issues": [
237
- {
238
- "severity": "high",
239
- "count": 1,
240
- "impact": 150
241
- },
242
- {
243
- "severity": "medium",
244
- "count": 1,
245
- "impact": 75
246
- },
247
- {
248
- "severity": "low",
249
- "count": 1,
250
- "impact": 18
251
- }
252
- ]
253
- },
254
- {
255
- "category": "CHUNK",
256
- "score": 0,
257
- "issueCount": 3,
258
- "totalImpact": 633.8,
259
- "weight": 1.3,
260
- "issues": [
261
- {
262
- "severity": "critical",
263
- "count": 1,
264
- "impact": 520
265
- },
266
- {
267
- "severity": "medium",
268
- "count": 2,
269
- "impact": 113.8
270
- }
271
- ]
272
- },
273
- {
274
- "category": "KG",
275
- "score": 0,
276
- "issueCount": 1,
277
- "totalImpact": 165,
278
- "weight": 1.1,
279
- "issues": [
280
- {
281
- "severity": "high",
282
- "count": 1,
283
- "impact": 165
284
- }
285
- ]
286
- },
287
- {
288
- "category": "A11Y",
289
- "score": 10,
290
- "issueCount": 1,
291
- "totalImpact": 45,
292
- "weight": 1.2,
293
- "issues": [
294
- {
295
- "severity": "medium",
296
- "count": 1,
297
- "impact": 45
298
- }
299
- ]
300
- },
301
- {
302
- "category": "CRAWL",
303
- "score": 76,
304
- "issueCount": 1,
305
- "totalImpact": 12,
306
- "weight": 1.2,
307
- "issues": [
308
- {
309
- "severity": "low",
310
- "count": 1,
311
- "impact": 12
312
- }
313
- ]
314
- },
315
- {
316
- "category": "EXTRACT",
317
- "score": 100,
318
- "issueCount": 0,
319
- "totalImpact": 0,
320
- "weight": 1.4,
321
- "issues": []
322
- },
323
- {
324
- "category": "LLMLOCAL",
325
- "score": 100,
326
- "issueCount": 0,
327
- "totalImpact": 0,
328
- "weight": 1,
329
- "issues": []
330
- },
331
- {
332
- "category": "LLMAPI",
333
- "score": 100,
334
- "issueCount": 0,
335
- "totalImpact": 0,
336
- "weight": 1,
337
- "issues": []
338
- },
339
- {
340
- "category": "HALL",
341
- "score": 100,
342
- "issueCount": 0,
343
- "totalImpact": 0,
344
- "weight": 0.9,
345
- "issues": []
346
- },
347
- {
348
- "category": "GAPS",
349
- "score": 100,
350
- "issueCount": 0,
351
- "totalImpact": 0,
352
- "weight": 0.8,
353
- "issues": []
354
- },
355
- {
356
- "category": "DRIFT",
357
- "score": 100,
358
- "issueCount": 0,
359
- "totalImpact": 0,
360
- "weight": 0.8,
361
- "issues": []
362
- },
363
- {
364
- "category": "TECH",
365
- "score": 100,
366
- "issueCount": 0,
367
- "totalImpact": 0,
368
- "weight": 1,
369
- "issues": []
370
- },
371
- {
372
- "category": "LLMCONF",
373
- "score": 100,
374
- "issueCount": 0,
375
- "totalImpact": 0,
376
- "weight": 0.9,
377
- "issues": []
378
- },
379
- {
380
- "category": "CI",
381
- "score": 100,
382
- "issueCount": 0,
383
- "totalImpact": 0,
384
- "weight": 0.7,
385
- "issues": []
386
- },
387
- {
388
- "category": "DX",
389
- "score": 100,
390
- "issueCount": 0,
391
- "totalImpact": 0,
392
- "weight": 0.6,
393
- "issues": []
394
- },
395
- {
396
- "category": "MISC",
397
- "score": 100,
398
- "issueCount": 0,
399
- "totalImpact": 0,
400
- "weight": 0.5,
401
- "issues": []
402
- }
403
- ],
404
- "totalIssues": 9,
405
- "severityBreakdown": {
406
- "info": 0,
407
- "low": 2,
408
- "medium": 4,
409
- "high": 2,
410
- "critical": 1
411
- },
412
- "maxPossibleScore": 100,
413
- "normalizedScore": 34.2
414
- },
415
- "hallucinationReport": {
416
- "hallucinationRiskScore": 8,
417
- "triggers": [
418
- {
419
- "type": "contradiction",
420
- "severity": "high",
421
- "description": "Conflicting numbers found: \"25\" vs \"70\". Page contains inconsistent specifications or metrics.",
422
- "confidence": 0.6
423
- }
424
- ],
425
- "factCheckSummary": {
426
- "totalFacts": 0,
427
- "verifiedFacts": 0,
428
- "unverifiedFacts": 0,
429
- "contradictions": 0,
430
- "ambiguities": 0
431
- },
432
- "recommendations": [
433
- "Review 1 potential inconsistency in dates/numbers"
434
- ],
435
- "verifications": []
436
- },
437
- "llmLimitExceeded": false
438
- },
439
- {
440
- "url": "https://github.com/fluidicon.png",
441
- "timestamp": 1765799427808,
442
- "issues": [
443
- {
444
- "id": "AIREAD-001",
445
- "title": "Missing H1",
446
- "serverity": "critical",
447
- "category": "AIREAD",
448
- "description": "The HTML document does not contain any H1 headings.",
449
- "remediation": "Add at least one H1 heading to the HTML document to improve accessibility and SEO.",
450
- "impactScore": 40,
451
- "location": {
452
- "url": "https://github.com/fluidicon.png"
453
- },
454
- "evidence": [
455
- "No <h1> tags found in the document."
456
- ],
457
- "tags": [
458
- "seo",
459
- "accessibility"
460
- ],
461
- "confidence": 1,
462
- "timestamp": "2025-12-15T11:50:27.807Z"
463
- },
464
- {
465
- "id": "KG-001",
466
- "title": "No Schema.org structured data",
467
- "serverity": "high",
468
- "category": "KG",
469
- "description": "The page lacks Schema.org structured data in JSON-LD format. This prevents AI from building knowledge graphs from your content.",
470
- "remediation": "Add Schema.org structured data using JSON-LD. Consider Organization, Person, Article, Product, or other relevant schemas.",
471
- "impactScore": 30,
472
- "location": {
473
- "url": "https://github.com/fluidicon.png"
474
- },
475
- "evidence": [
476
- "No JSON-LD structured data found"
477
- ],
478
- "tags": [
479
- "schema",
480
- "json-ld",
481
- "knowledge-graph"
482
- ],
483
- "confidence": 1,
484
- "timestamp": "2025-12-15T11:50:27.807Z"
485
- },
486
- {
487
- "id": "AIREAD-041",
488
- "title": "No links found",
489
- "serverity": "high",
490
- "category": "AIREAD",
491
- "description": "The page contains no links. This creates a dead-end for AI crawlers and limits content discoverability.",
492
- "remediation": "Add relevant internal and external links to improve navigation and content relationships.",
493
- "impactScore": 30,
494
- "location": {
495
- "url": "https://github.com/fluidicon.png"
496
- },
497
- "evidence": [
498
- "No <a href> elements found"
499
- ],
500
- "tags": [
501
- "links",
502
- "navigation",
503
- "crawlability"
504
- ],
505
- "confidence": 1,
506
- "timestamp": "2025-12-15T11:50:27.807Z"
507
- },
508
- {
509
- "id": "AIREAD-028",
510
- "title": "Missing or inadequate page title",
511
- "serverity": "high",
512
- "category": "AIREAD",
513
- "description": "The page lacks a proper <title> element. Page titles provide essential context for AI agents.",
514
- "remediation": "Add a descriptive <title> element that clearly describes the page content. Aim for 50-60 characters.",
515
- "impactScore": 25,
516
- "location": {
517
- "url": "https://github.com/fluidicon.png"
518
- },
519
- "evidence": [
520
- "Title: \"none\""
521
- ],
522
- "tags": [
523
- "title",
524
- "metadata",
525
- "context"
526
- ],
527
- "confidence": 1,
528
- "timestamp": "2025-12-15T11:50:27.807Z"
529
- },
530
- {
531
- "id": "AIREAD-014",
532
- "title": "Missing main semantic container",
533
- "serverity": "high",
534
- "category": "AIREAD",
535
- "description": "The page lacks a <main> or <article> element. These semantic containers help AI agents identify the primary content.",
536
- "remediation": "Wrap your main content in a <main> element, or use <article> for article-type content. This helps AI understand what content is most important.",
537
- "impactScore": 25,
538
- "location": {
539
- "url": "https://github.com/fluidicon.png"
540
- },
541
- "evidence": [
542
- "No <main> or <article> element found"
543
- ],
544
- "tags": [
545
- "semantic",
546
- "html5",
547
- "structure"
548
- ],
549
- "confidence": 1,
550
- "timestamp": "2025-12-15T11:50:27.807Z"
551
- },
552
- {
553
- "id": "A11Y-001",
554
- "title": "No ARIA landmarks or semantic elements",
555
- "serverity": "high",
556
- "category": "A11Y",
557
- "description": "The page lacks ARIA landmark roles and semantic HTML5 elements. These help AI agents identify and navigate content sections.",
558
- "remediation": "Add ARIA landmark roles (role=\"main\", role=\"navigation\", etc.) or use semantic HTML5 elements (<main>, <nav>, <header>, <footer>).",
559
- "impactScore": 25,
560
- "location": {
561
- "url": "https://github.com/fluidicon.png"
562
- },
563
- "evidence": [
564
- "No landmarks found"
565
- ],
566
- "tags": [
567
- "accessibility",
568
- "aria",
569
- "landmarks"
570
- ],
571
- "confidence": 1,
572
- "timestamp": "2025-12-15T11:50:27.807Z"
573
- },
574
- {
575
- "id": "CRAWL-003",
576
- "title": "Missing canonical tag",
577
- "serverity": "high",
578
- "category": "CRAWL",
579
- "description": "No canonical URL specified. This can cause duplicate content issues for AI crawlers.",
580
- "remediation": "Add <link rel=\"canonical\" href=\"...\"> to specify the preferred URL version.",
581
- "impactScore": 25,
582
- "location": {
583
- "url": "https://github.com/fluidicon.png"
584
- },
585
- "evidence": [
586
- "No canonical tag found"
587
- ],
588
- "tags": [
589
- "canonical",
590
- "duplicate-content",
591
- "seo"
592
- ],
593
- "confidence": 1,
594
- "timestamp": "2025-12-15T11:50:27.807Z"
595
- },
596
- {
597
- "id": "AIREAD-010",
598
- "title": "Missing or short meta description",
599
- "serverity": "medium",
600
- "category": "AIREAD",
601
- "description": "The page lacks a proper meta description. Descriptions help AI agents understand page content and purpose.",
602
- "remediation": "Add a meta description tag with 150-160 characters that summarizes the page content.",
603
- "impactScore": 20,
604
- "location": {
605
- "url": "https://github.com/fluidicon.png"
606
- },
607
- "evidence": [
608
- "Description length: 0 chars"
609
- ],
610
- "tags": [
611
- "meta",
612
- "description",
613
- "context"
614
- ],
615
- "confidence": 1,
616
- "timestamp": "2025-12-15T11:50:27.806Z"
617
- },
618
- {
619
- "id": "AIREAD-013",
620
- "title": "Missing OpenGraph meta tags",
621
- "serverity": "medium",
622
- "category": "AIREAD",
623
- "description": "The page is missing 3 important OpenGraph meta tag(s): og:title, og:description, og:image. These help AI agents understand and share your content better.",
624
- "remediation": "Add missing OpenGraph meta tags (og:title, og:description, og:image) to improve how AI agents and social platforms understand your content.",
625
- "impactScore": 15,
626
- "location": {
627
- "url": "https://github.com/fluidicon.png"
628
- },
629
- "evidence": [
630
- "Missing tags: og:title, og:description, og:image"
631
- ],
632
- "tags": [
633
- "meta",
634
- "opengraph",
635
- "seo"
636
- ],
637
- "confidence": 1,
638
- "timestamp": "2025-12-15T11:50:27.806Z"
639
- },
640
- {
641
- "id": "AIREAD-080",
642
- "title": "Missing summary or intro section",
643
- "serverity": "medium",
644
- "category": "AIREAD",
645
- "description": "No clear summary or introduction section found. AI agents benefit from explicit page summaries.",
646
- "remediation": "Add a clear introduction or summary section at the start of your content.",
647
- "impactScore": 15,
648
- "location": {
649
- "url": "https://github.com/fluidicon.png"
650
- },
651
- "evidence": [
652
- "No summary section detected",
653
- "First paragraph length: 0"
654
- ],
655
- "tags": [
656
- "summary",
657
- "structure",
658
- "clarity"
659
- ],
660
- "confidence": 0.7,
661
- "timestamp": "2025-12-15T11:50:27.806Z"
662
- },
663
- {
664
- "id": "AIREAD-098",
665
- "title": "No contact information",
666
- "serverity": "low",
667
- "category": "AIREAD",
668
- "description": "Page lacks visible contact information (email, phone, or contact links).",
669
- "remediation": "Add contact information to improve trust and AI understanding of your organization.",
670
- "impactScore": 8,
671
- "location": {
672
- "url": "https://github.com/fluidicon.png"
673
- },
674
- "evidence": [
675
- "No email, phone, or contact links found"
676
- ],
677
- "tags": [
678
- "contact",
679
- "trust",
680
- "information"
681
- ],
682
- "confidence": 0.8,
683
- "timestamp": "2025-12-15T11:50:27.806Z"
684
- }
685
- ],
686
- "scores": {
687
- "EXTRACT": 100,
688
- "AIREAD": 0,
689
- "KG": 70,
690
- "A11Y": 75,
691
- "CRAWL": 75
692
- },
693
- "scoring": {
694
- "overallScore": 53.3,
695
- "categoryScores": [
696
- {
697
- "category": "AIREAD",
698
- "score": 0,
699
- "issueCount": 8,
700
- "totalImpact": 1399.5,
701
- "weight": 1.5,
702
- "issues": [
703
- {
704
- "severity": "critical",
705
- "count": 1,
706
- "impact": 600
707
- },
708
- {
709
- "severity": "high",
710
- "count": 3,
711
- "impact": 600
712
- },
713
- {
714
- "severity": "medium",
715
- "count": 3,
716
- "impact": 187.5
717
- },
718
- {
719
- "severity": "low",
720
- "count": 1,
721
- "impact": 12
722
- }
723
- ]
724
- },
725
- {
726
- "category": "CRAWL",
727
- "score": 0,
728
- "issueCount": 1,
729
- "totalImpact": 150,
730
- "weight": 1.2,
731
- "issues": [
732
- {
733
- "severity": "high",
734
- "count": 1,
735
- "impact": 150
736
- }
737
- ]
738
- },
739
- {
740
- "category": "A11Y",
741
- "score": 0,
742
- "issueCount": 1,
743
- "totalImpact": 150,
744
- "weight": 1.2,
745
- "issues": [
746
- {
747
- "severity": "high",
748
- "count": 1,
749
- "impact": 150
750
- }
751
- ]
752
- },
753
- {
754
- "category": "KG",
755
- "score": 0,
756
- "issueCount": 1,
757
- "totalImpact": 165,
758
- "weight": 1.1,
759
- "issues": [
760
- {
761
- "severity": "high",
762
- "count": 1,
763
- "impact": 165
764
- }
765
- ]
766
- },
767
- {
768
- "category": "EXTRACT",
769
- "score": 100,
770
- "issueCount": 0,
771
- "totalImpact": 0,
772
- "weight": 1.4,
773
- "issues": []
774
- },
775
- {
776
- "category": "CHUNK",
777
- "score": 100,
778
- "issueCount": 0,
779
- "totalImpact": 0,
780
- "weight": 1.3,
781
- "issues": []
782
- },
783
- {
784
- "category": "LLMLOCAL",
785
- "score": 100,
786
- "issueCount": 0,
787
- "totalImpact": 0,
788
- "weight": 1,
789
- "issues": []
790
- },
791
- {
792
- "category": "LLMAPI",
793
- "score": 100,
794
- "issueCount": 0,
795
- "totalImpact": 0,
796
- "weight": 1,
797
- "issues": []
798
- },
799
- {
800
- "category": "HALL",
801
- "score": 100,
802
- "issueCount": 0,
803
- "totalImpact": 0,
804
- "weight": 0.9,
805
- "issues": []
806
- },
807
- {
808
- "category": "GAPS",
809
- "score": 100,
810
- "issueCount": 0,
811
- "totalImpact": 0,
812
- "weight": 0.8,
813
- "issues": []
814
- },
815
- {
816
- "category": "DRIFT",
817
- "score": 100,
818
- "issueCount": 0,
819
- "totalImpact": 0,
820
- "weight": 0.8,
821
- "issues": []
822
- },
823
- {
824
- "category": "TECH",
825
- "score": 100,
826
- "issueCount": 0,
827
- "totalImpact": 0,
828
- "weight": 1,
829
- "issues": []
830
- },
831
- {
832
- "category": "LLMCONF",
833
- "score": 100,
834
- "issueCount": 0,
835
- "totalImpact": 0,
836
- "weight": 0.9,
837
- "issues": []
838
- },
839
- {
840
- "category": "CI",
841
- "score": 100,
842
- "issueCount": 0,
843
- "totalImpact": 0,
844
- "weight": 0.7,
845
- "issues": []
846
- },
847
- {
848
- "category": "DX",
849
- "score": 100,
850
- "issueCount": 0,
851
- "totalImpact": 0,
852
- "weight": 0.6,
853
- "issues": []
854
- },
855
- {
856
- "category": "MISC",
857
- "score": 100,
858
- "issueCount": 0,
859
- "totalImpact": 0,
860
- "weight": 0.5,
861
- "issues": []
862
- }
863
- ],
864
- "totalIssues": 11,
865
- "severityBreakdown": {
866
- "info": 0,
867
- "low": 1,
868
- "medium": 3,
869
- "high": 6,
870
- "critical": 1
871
- },
872
- "maxPossibleScore": 100,
873
- "normalizedScore": 35.8
874
- },
875
- "hallucinationReport": {
876
- "hallucinationRiskScore": 0,
877
- "triggers": [],
878
- "factCheckSummary": {
879
- "totalFacts": 0,
880
- "verifiedFacts": 0,
881
- "unverifiedFacts": 0,
882
- "contradictions": 0,
883
- "ambiguities": 0
884
- },
885
- "recommendations": [
886
- "No hallucination triggers detected - content appears consistent"
887
- ],
888
- "verifications": []
889
- },
890
- "llmLimitExceeded": false
891
- }
892
- ],
893
- "summary": {
894
- "avg_overall_score": 52.05,
895
- "avg_ai_readiness": 0,
896
- "total_issues": 20,
897
- "issues_by_severity": {
898
- "critical": 0,
899
- "high": 0,
900
- "medium": 0,
901
- "low": 0,
902
- "info": 0,
903
- "undefined": 20
904
- }
905
- }
906
- }