@forkpoint/agent-lighthouse-core 3.1.0 → 4.0.0
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.
- package/dist/index.d.mts +318 -77
- package/dist/index.d.ts +318 -77
- package/dist/index.js +6640 -3619
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6628 -3610
- package/dist/index.mjs.map +1 -1
- package/migration-map.json +255 -129
- package/package.json +1 -1
package/migration-map.json
CHANGED
|
@@ -3,25 +3,29 @@
|
|
|
3
3
|
"slug": "content-discoverability/llms-txt-exists",
|
|
4
4
|
"status": "renamed",
|
|
5
5
|
"to": "machine-discovery/llms-txt-exists",
|
|
6
|
-
"link": "docs/evidence/audits/machine-discovery/llms-txt-exists.md"
|
|
6
|
+
"link": "docs/evidence/audits/machine-discovery/llms-txt-exists.md",
|
|
7
|
+
"note": "C3 collapse: absorbs meta-tags/llms-txt-link (4.11) — one audit checks the file and its discovery link together"
|
|
7
8
|
},
|
|
8
9
|
"1.2": {
|
|
9
10
|
"slug": "content-discoverability/llms-txt-blockquote",
|
|
10
11
|
"status": "renamed",
|
|
11
12
|
"to": "machine-discovery/llms-txt-structure",
|
|
12
|
-
"link": "docs/evidence/audits/machine-discovery/llms-txt-structure.md"
|
|
13
|
+
"link": "docs/evidence/audits/machine-discovery/llms-txt-structure.md",
|
|
14
|
+
"note": "§5: llms-txt-blockquote + llms-txt-sections → one llms.txt structure audit"
|
|
13
15
|
},
|
|
14
16
|
"1.3": {
|
|
15
17
|
"slug": "content-discoverability/llms-txt-sections",
|
|
16
18
|
"status": "renamed",
|
|
17
19
|
"to": "machine-discovery/llms-txt-structure",
|
|
18
|
-
"link": "docs/evidence/audits/machine-discovery/llms-txt-structure.md"
|
|
20
|
+
"link": "docs/evidence/audits/machine-discovery/llms-txt-structure.md",
|
|
21
|
+
"note": "§5: same combined llms.txt structure audit (this row supplies the section-shape half)"
|
|
19
22
|
},
|
|
20
23
|
"1.4": {
|
|
21
24
|
"slug": "content-discoverability/llms-txt-link-descriptions",
|
|
22
25
|
"status": "renamed",
|
|
23
26
|
"to": "machine-discovery/llms-txt-link-descriptions",
|
|
24
|
-
"link": "docs/evidence/audits/machine-discovery/llms-txt-link-descriptions.md"
|
|
27
|
+
"link": "docs/evidence/audits/machine-discovery/llms-txt-link-descriptions.md",
|
|
28
|
+
"note": "stays separate — §5 merges only blockquote + sections"
|
|
25
29
|
},
|
|
26
30
|
"1.5": {
|
|
27
31
|
"slug": "content-discoverability/llms-txt-links-valid",
|
|
@@ -45,7 +49,8 @@
|
|
|
45
49
|
"slug": "content-discoverability/sitemap-key-pages",
|
|
46
50
|
"status": "renamed",
|
|
47
51
|
"to": "machine-discovery/discovery-index-coverage",
|
|
48
|
-
"link": "docs/evidence/audits/machine-discovery/discovery-index-coverage.md"
|
|
52
|
+
"link": "docs/evidence/audits/machine-discovery/discovery-index-coverage.md",
|
|
53
|
+
"note": "§5 rename (\"discovery index coverage\"); merge target for no-orphan-pages (1.22)"
|
|
49
54
|
},
|
|
50
55
|
"1.9": {
|
|
51
56
|
"slug": "content-discoverability/sitemap-absolute-urls",
|
|
@@ -63,7 +68,8 @@
|
|
|
63
68
|
"slug": "content-discoverability/rss-feed",
|
|
64
69
|
"status": "renamed",
|
|
65
70
|
"to": "machine-discovery/rss-feed",
|
|
66
|
-
"link": "docs/evidence/audits/machine-discovery/rss-feed.md"
|
|
71
|
+
"link": "docs/evidence/audits/machine-discovery/rss-feed.md",
|
|
72
|
+
"note": "C3 collapse: absorbs meta-tags/rss-feed-link (4.16)"
|
|
67
73
|
},
|
|
68
74
|
"1.12": {
|
|
69
75
|
"slug": "content-discoverability/rss-feed-content",
|
|
@@ -75,49 +81,57 @@
|
|
|
75
81
|
"slug": "content-discoverability/no-noindex",
|
|
76
82
|
"status": "renamed",
|
|
77
83
|
"to": "access-crawl-control/robots-directives",
|
|
78
|
-
"link": "docs/evidence/audits/access-crawl-control/robots-directives.md"
|
|
84
|
+
"link": "docs/evidence/audits/access-crawl-control/robots-directives.md",
|
|
85
|
+
"note": "decided 2026-08-21: merge-away into access-crawl-control/robots-directives (2.25 is the surviving row)"
|
|
79
86
|
},
|
|
80
87
|
"1.14": {
|
|
81
88
|
"slug": "content-discoverability/no-nofollow",
|
|
82
89
|
"status": "renamed",
|
|
83
90
|
"to": "access-crawl-control/no-nofollow",
|
|
84
|
-
"link": "docs/evidence/audits/access-crawl-control/no-nofollow.md"
|
|
91
|
+
"link": "docs/evidence/audits/access-crawl-control/no-nofollow.md",
|
|
92
|
+
"note": "crawl directive"
|
|
85
93
|
},
|
|
86
94
|
"1.15": {
|
|
87
95
|
"slug": "content-discoverability/internal-linking",
|
|
88
96
|
"status": "renamed",
|
|
89
97
|
"to": "machine-discovery/in-content-links",
|
|
90
|
-
"link": "docs/evidence/audits/machine-discovery/in-content-links.md"
|
|
98
|
+
"link": "docs/evidence/audits/machine-discovery/in-content-links.md",
|
|
99
|
+
"note": "decided 2026-08-21: merged with 10.11 internal-cross-linking into one rewritten audit `machine-discovery/in-content-links` — in-content links only"
|
|
91
100
|
},
|
|
92
101
|
"1.16": {
|
|
93
102
|
"slug": "content-discoverability/no-redirect-chains",
|
|
94
103
|
"status": "renamed",
|
|
95
104
|
"to": "access-crawl-control/no-redirect-chains",
|
|
96
|
-
"link": "docs/evidence/audits/access-crawl-control/no-redirect-chains.md"
|
|
105
|
+
"link": "docs/evidence/audits/access-crawl-control/no-redirect-chains.md",
|
|
106
|
+
"note": "reachability, not discovery"
|
|
97
107
|
},
|
|
98
108
|
"1.17": {
|
|
99
109
|
"slug": "content-discoverability/canonical-links",
|
|
100
110
|
"status": "renamed",
|
|
101
111
|
"to": "access-crawl-control/canonical",
|
|
102
|
-
"link": "docs/evidence/audits/access-crawl-control/canonical.md"
|
|
112
|
+
"link": "docs/evidence/audits/access-crawl-control/canonical.md",
|
|
113
|
+
"note": "decided 2026-08-21: merged with 4.3 canonical-url into one audit `access-crawl-control/canonical` — resolved hrefs, homepage-collapse detection"
|
|
103
114
|
},
|
|
104
115
|
"1.18": {
|
|
105
116
|
"slug": "content-discoverability/mobile-friendly",
|
|
106
117
|
"status": "removed",
|
|
107
118
|
"reason": "not-a-factor",
|
|
108
|
-
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#content-discoverabilitymobile-friendly"
|
|
119
|
+
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#content-discoverabilitymobile-friendly",
|
|
120
|
+
"note": "decided 2026-08-21: sunset — no proven consumer, viewport tag ubiquitous"
|
|
109
121
|
},
|
|
110
122
|
"1.19": {
|
|
111
123
|
"slug": "content-discoverability/fast-page-load",
|
|
112
124
|
"status": "renamed",
|
|
113
125
|
"to": "content-extraction/server-responsiveness",
|
|
114
|
-
"link": "docs/evidence/audits/content-extraction/server-responsiveness.md"
|
|
126
|
+
"link": "docs/evidence/audits/content-extraction/server-responsiveness.md",
|
|
127
|
+
"note": "decided 2026-08-21: merged with 8.12 fast-response-time into one audit `content-extraction/server-responsiveness` — median TTFB, banded"
|
|
115
128
|
},
|
|
116
129
|
"1.20": {
|
|
117
130
|
"slug": "content-discoverability/no-broken-links",
|
|
118
131
|
"status": "renamed",
|
|
119
132
|
"to": "machine-discovery/no-broken-links",
|
|
120
|
-
"link": "docs/evidence/audits/machine-discovery/no-broken-links.md"
|
|
133
|
+
"link": "docs/evidence/audits/machine-discovery/no-broken-links.md",
|
|
134
|
+
"note": "decided 2026-08-21: confirmed — machine-discovery"
|
|
121
135
|
},
|
|
122
136
|
"1.21": {
|
|
123
137
|
"slug": "content-discoverability/navigation-json",
|
|
@@ -129,13 +143,15 @@
|
|
|
129
143
|
"slug": "content-discoverability/no-orphan-pages",
|
|
130
144
|
"status": "renamed",
|
|
131
145
|
"to": "machine-discovery/discovery-index-coverage",
|
|
132
|
-
"link": "docs/evidence/audits/machine-discovery/discovery-index-coverage.md"
|
|
146
|
+
"link": "docs/evidence/audits/machine-discovery/discovery-index-coverage.md",
|
|
147
|
+
"note": "§5: no-orphan-pages → sitemap-key-pages (\"discovery index coverage\")"
|
|
133
148
|
},
|
|
134
149
|
"1.23": {
|
|
135
150
|
"slug": "content-discoverability/commerce-links",
|
|
136
151
|
"status": "removed",
|
|
137
152
|
"reason": "not-a-factor",
|
|
138
|
-
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#content-discoverabilitycommerce-links"
|
|
153
|
+
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#content-discoverabilitycommerce-links",
|
|
154
|
+
"note": "decided 2026-08-21: sunset — grade D, no documented consumer"
|
|
139
155
|
},
|
|
140
156
|
"2.1": {
|
|
141
157
|
"slug": "crawler-permissions/gptbot",
|
|
@@ -153,7 +169,8 @@
|
|
|
153
169
|
"slug": "crawler-permissions/anthropic",
|
|
154
170
|
"status": "renamed",
|
|
155
171
|
"to": "access-crawl-control/anthropic-ai",
|
|
156
|
-
"link": "docs/evidence/audits/access-crawl-control/anthropic-ai.md"
|
|
172
|
+
"link": "docs/evidence/audits/access-crawl-control/anthropic-ai.md",
|
|
173
|
+
"note": "slug de-numericised/clarified to the UA token it checks"
|
|
157
174
|
},
|
|
158
175
|
"2.4": {
|
|
159
176
|
"slug": "crawler-permissions/perplexitybot",
|
|
@@ -189,31 +206,36 @@
|
|
|
189
206
|
"slug": "crawler-permissions/bytespider",
|
|
190
207
|
"status": "renamed",
|
|
191
208
|
"to": "access-crawl-control/ai-bot-directives",
|
|
192
|
-
"link": "docs/evidence/audits/access-crawl-control/ai-bot-directives.md"
|
|
209
|
+
"link": "docs/evidence/audits/access-crawl-control/ai-bot-directives.md",
|
|
210
|
+
"note": "redemption rewrite — REWORK-TODO folds all low-signal per-bot audits into one `ai-bot-directives` audit"
|
|
193
211
|
},
|
|
194
212
|
"2.10": {
|
|
195
213
|
"slug": "crawler-permissions/cohere-ai",
|
|
196
214
|
"status": "renamed",
|
|
197
215
|
"to": "access-crawl-control/ai-bot-directives",
|
|
198
|
-
"link": "docs/evidence/audits/access-crawl-control/ai-bot-directives.md"
|
|
216
|
+
"link": "docs/evidence/audits/access-crawl-control/ai-bot-directives.md",
|
|
217
|
+
"note": "redemption rewrite — same `ai-bot-directives` consolidation"
|
|
199
218
|
},
|
|
200
219
|
"2.11": {
|
|
201
220
|
"slug": "crawler-permissions/youbot",
|
|
202
221
|
"status": "renamed",
|
|
203
222
|
"to": "access-crawl-control/ai-bot-directives",
|
|
204
|
-
"link": "docs/evidence/audits/access-crawl-control/ai-bot-directives.md"
|
|
223
|
+
"link": "docs/evidence/audits/access-crawl-control/ai-bot-directives.md",
|
|
224
|
+
"note": "redemption rewrite — same `ai-bot-directives` consolidation"
|
|
205
225
|
},
|
|
206
226
|
"2.12": {
|
|
207
227
|
"slug": "crawler-permissions/diffbot",
|
|
208
228
|
"status": "renamed",
|
|
209
229
|
"to": "access-crawl-control/ai-bot-directives",
|
|
210
|
-
"link": "docs/evidence/audits/access-crawl-control/ai-bot-directives.md"
|
|
230
|
+
"link": "docs/evidence/audits/access-crawl-control/ai-bot-directives.md",
|
|
231
|
+
"note": "redemption rewrite — same `ai-bot-directives` consolidation"
|
|
211
232
|
},
|
|
212
233
|
"2.13": {
|
|
213
234
|
"slug": "crawler-permissions/ai2bot",
|
|
214
235
|
"status": "renamed",
|
|
215
236
|
"to": "access-crawl-control/ai-bot-directives",
|
|
216
|
-
"link": "docs/evidence/audits/access-crawl-control/ai-bot-directives.md"
|
|
237
|
+
"link": "docs/evidence/audits/access-crawl-control/ai-bot-directives.md",
|
|
238
|
+
"note": "redemption rewrite — same `ai-bot-directives` consolidation"
|
|
217
239
|
},
|
|
218
240
|
"2.14": {
|
|
219
241
|
"slug": "crawler-permissions/chatgpt-user",
|
|
@@ -273,7 +295,8 @@
|
|
|
273
295
|
"slug": "crawler-permissions/sensitive-paths",
|
|
274
296
|
"status": "renamed",
|
|
275
297
|
"to": "access-crawl-control/sensitive-paths",
|
|
276
|
-
"link": "docs/evidence/audits/access-crawl-control/sensitive-paths.md"
|
|
298
|
+
"link": "docs/evidence/audits/access-crawl-control/sensitive-paths.md",
|
|
299
|
+
"note": "redemption rewrite — grade A mechanism, needs path-matching surgery per RFC 9309"
|
|
277
300
|
},
|
|
278
301
|
"2.24": {
|
|
279
302
|
"slug": "crawler-permissions/crawl-delay",
|
|
@@ -285,25 +308,29 @@
|
|
|
285
308
|
"slug": "crawler-permissions/meta-robots-not-blocking",
|
|
286
309
|
"status": "renamed",
|
|
287
310
|
"to": "access-crawl-control/robots-directives",
|
|
288
|
-
"link": "docs/evidence/audits/access-crawl-control/robots-directives.md"
|
|
311
|
+
"link": "docs/evidence/audits/access-crawl-control/robots-directives.md",
|
|
312
|
+
"note": "decided 2026-08-21: merged with 1.13 no-noindex + 4.20 meta-robots into one audit `access-crawl-control/robots-directives` — all pages, meta + `X-Robots-Tag`, token-parsed"
|
|
289
313
|
},
|
|
290
314
|
"2.26": {
|
|
291
315
|
"slug": "crawler-permissions/no-bot-detection",
|
|
292
316
|
"status": "renamed",
|
|
293
317
|
"to": "access-crawl-control/no-bot-detection",
|
|
294
|
-
"link": "docs/evidence/audits/access-crawl-control/no-bot-detection.md"
|
|
318
|
+
"link": "docs/evidence/audits/access-crawl-control/no-bot-detection.md",
|
|
319
|
+
"note": "§3 cat 1 names it explicitly"
|
|
295
320
|
},
|
|
296
321
|
"2.27": {
|
|
297
322
|
"slug": "crawler-permissions/tdm-rep",
|
|
298
323
|
"status": "renamed",
|
|
299
324
|
"to": "access-crawl-control/tdm-rep",
|
|
300
|
-
"link": "docs/evidence/audits/access-crawl-control/tdm-rep.md"
|
|
325
|
+
"link": "docs/evidence/audits/access-crawl-control/tdm-rep.md",
|
|
326
|
+
"note": "redemption rewrite — experimental tier, fix internal incoherence"
|
|
301
327
|
},
|
|
302
328
|
"2.28": {
|
|
303
329
|
"slug": "crawler-permissions/agent-governance",
|
|
304
330
|
"status": "renamed",
|
|
305
331
|
"to": "access-crawl-control/agent-governance",
|
|
306
|
-
"link": "docs/evidence/audits/access-crawl-control/agent-governance.md"
|
|
332
|
+
"link": "docs/evidence/audits/access-crawl-control/agent-governance.md",
|
|
333
|
+
"note": "decided 2026-08-21: confirmed — access-crawl-control"
|
|
307
334
|
},
|
|
308
335
|
"3.1": {
|
|
309
336
|
"slug": "structured-data/json-ld-present",
|
|
@@ -327,7 +354,8 @@
|
|
|
327
354
|
"slug": "structured-data/website-search-action",
|
|
328
355
|
"status": "renamed",
|
|
329
356
|
"to": "agent-interfaces/search-endpoint",
|
|
330
|
-
"link": "docs/evidence/audits/agent-interfaces/search-endpoint.md"
|
|
357
|
+
"link": "docs/evidence/audits/agent-interfaces/search-endpoint.md",
|
|
358
|
+
"note": "decided 2026-08-21: merge-away into agent-interfaces/search-endpoint (5.16 is the surviving row)"
|
|
331
359
|
},
|
|
332
360
|
"3.5": {
|
|
333
361
|
"slug": "structured-data/breadcrumb-schema",
|
|
@@ -345,20 +373,22 @@
|
|
|
345
373
|
"slug": "structured-data/faqpage-schema",
|
|
346
374
|
"status": "renamed",
|
|
347
375
|
"to": "structured-data/faqpage-schema",
|
|
348
|
-
"link": "docs/evidence/audits/structured-data/faqpage-schema.md"
|
|
376
|
+
"link": "docs/evidence/audits/structured-data/faqpage-schema.md",
|
|
377
|
+
"note": "C9 FAQ cluster resolves via shared gatherer, not a merge"
|
|
349
378
|
},
|
|
350
379
|
"3.8": {
|
|
351
380
|
"slug": "structured-data/service-product-schema",
|
|
352
381
|
"status": "renamed",
|
|
353
382
|
"to": "structured-data/service-schema",
|
|
354
383
|
"link": "docs/evidence/audits/structured-data/service-schema.md",
|
|
355
|
-
"note": "§5 split
|
|
384
|
+
"note": "§5 split: Product half → structured-data/advanced-product-details (3.22); Service half stays standalone, narrowed to Service/ProfessionalService"
|
|
356
385
|
},
|
|
357
386
|
"3.9": {
|
|
358
387
|
"slug": "structured-data/speakable-schema",
|
|
359
388
|
"status": "renamed",
|
|
360
389
|
"to": "structured-data/speakable-schema",
|
|
361
|
-
"link": "docs/evidence/audits/structured-data/speakable-schema.md"
|
|
390
|
+
"link": "docs/evidence/audits/structured-data/speakable-schema.md",
|
|
391
|
+
"note": "redemption rewrite — narrow to news/article publishers, drop the Alexa/Siri claim. decided 2026-08-21: confirmed — structured-data"
|
|
362
392
|
},
|
|
363
393
|
"3.10": {
|
|
364
394
|
"slug": "structured-data/potential-action",
|
|
@@ -382,19 +412,22 @@
|
|
|
382
412
|
"slug": "structured-data/review-schema",
|
|
383
413
|
"status": "renamed",
|
|
384
414
|
"to": "structured-data/review-schema",
|
|
385
|
-
"link": "docs/evidence/audits/structured-data/review-schema.md"
|
|
415
|
+
"link": "docs/evidence/audits/structured-data/review-schema.md",
|
|
416
|
+
"note": "merge target for product-reviews (3.23); C8 reviews cluster resolves via shared gatherer"
|
|
386
417
|
},
|
|
387
418
|
"3.14": {
|
|
388
419
|
"slug": "structured-data/offer-schema",
|
|
389
420
|
"status": "renamed",
|
|
390
421
|
"to": "agentic-commerce/offer-schema",
|
|
391
|
-
"link": "docs/evidence/audits/agentic-commerce/offer-schema.md"
|
|
422
|
+
"link": "docs/evidence/audits/agentic-commerce/offer-schema.md",
|
|
423
|
+
"note": "§3 cat 7 \"commerce halves of product schema\" — price/availability is the buy path"
|
|
392
424
|
},
|
|
393
425
|
"3.15": {
|
|
394
426
|
"slug": "structured-data/author-schema",
|
|
395
427
|
"status": "renamed",
|
|
396
428
|
"to": "structured-data/author-schema",
|
|
397
|
-
"link": "docs/evidence/audits/structured-data/author-schema.md"
|
|
429
|
+
"link": "docs/evidence/audits/structured-data/author-schema.md",
|
|
430
|
+
"note": "C4 authors cluster resolves via shared gatherer with 10.1–10.3, not a merge"
|
|
398
431
|
},
|
|
399
432
|
"3.16": {
|
|
400
433
|
"slug": "structured-data/action-schema",
|
|
@@ -406,61 +439,71 @@
|
|
|
406
439
|
"slug": "structured-data/product-identifiers",
|
|
407
440
|
"status": "renamed",
|
|
408
441
|
"to": "agentic-commerce/product-identifiers",
|
|
409
|
-
"link": "docs/evidence/audits/agentic-commerce/product-identifiers.md"
|
|
442
|
+
"link": "docs/evidence/audits/agentic-commerce/product-identifiers.md",
|
|
443
|
+
"note": "decided 2026-08-21: confirmed — agentic-commerce (GTIN/MPN are consumed by shopping agents)"
|
|
410
444
|
},
|
|
411
445
|
"3.22": {
|
|
412
446
|
"slug": "structured-data/product-details",
|
|
413
447
|
"status": "renamed",
|
|
414
448
|
"to": "structured-data/advanced-product-details",
|
|
415
|
-
"link": "docs/evidence/audits/structured-data/advanced-product-details.md"
|
|
449
|
+
"link": "docs/evidence/audits/structured-data/advanced-product-details.md",
|
|
450
|
+
"note": "§5 rename; absorbs the Product half of service-product-schema (3.8)"
|
|
416
451
|
},
|
|
417
452
|
"3.23": {
|
|
418
453
|
"slug": "structured-data/product-reviews",
|
|
419
454
|
"status": "renamed",
|
|
420
455
|
"to": "structured-data/review-schema",
|
|
421
|
-
"link": "docs/evidence/audits/structured-data/review-schema.md"
|
|
456
|
+
"link": "docs/evidence/audits/structured-data/review-schema.md",
|
|
457
|
+
"note": "§5: product-reviews → review-schema"
|
|
422
458
|
},
|
|
423
459
|
"3.24": {
|
|
424
460
|
"slug": "structured-data/product-transaction-certainty",
|
|
425
461
|
"status": "renamed",
|
|
426
462
|
"to": "agentic-commerce/product-transaction-certainty",
|
|
427
|
-
"link": "docs/evidence/audits/agentic-commerce/product-transaction-certainty.md"
|
|
463
|
+
"link": "docs/evidence/audits/agentic-commerce/product-transaction-certainty.md",
|
|
464
|
+
"note": "transaction-certainty fields are the checkout half of product schema (§3 cat 7)"
|
|
428
465
|
},
|
|
429
466
|
"4.1": {
|
|
430
467
|
"slug": "meta-tags/meta-description",
|
|
431
468
|
"status": "renamed",
|
|
432
469
|
"to": "answer-readiness/meta-description",
|
|
433
|
-
"link": "docs/evidence/audits/answer-readiness/meta-description.md"
|
|
470
|
+
"link": "docs/evidence/audits/answer-readiness/meta-description.md",
|
|
471
|
+
"note": "meta-tags dissolves; consumer is snippet/answer selection. Merge target for meta-description-aeo (9.11); C15 cluster"
|
|
434
472
|
},
|
|
435
473
|
"4.2": {
|
|
436
474
|
"slug": "meta-tags/meta-author",
|
|
437
475
|
"status": "renamed",
|
|
438
476
|
"to": "answer-readiness/meta-author",
|
|
439
|
-
"link": "docs/evidence/audits/answer-readiness/meta-author.md"
|
|
477
|
+
"link": "docs/evidence/audits/answer-readiness/meta-author.md",
|
|
478
|
+
"note": "author/E-E-A-T signal, C4 cluster via shared gatherer"
|
|
440
479
|
},
|
|
441
480
|
"4.3": {
|
|
442
481
|
"slug": "meta-tags/canonical-url",
|
|
443
482
|
"status": "renamed",
|
|
444
483
|
"to": "access-crawl-control/canonical",
|
|
445
|
-
"link": "docs/evidence/audits/access-crawl-control/canonical.md"
|
|
484
|
+
"link": "docs/evidence/audits/access-crawl-control/canonical.md",
|
|
485
|
+
"note": "decided 2026-08-21: merge-away into access-crawl-control/canonical (1.17 is the surviving row)"
|
|
446
486
|
},
|
|
447
487
|
"4.4": {
|
|
448
488
|
"slug": "meta-tags/language-attribute",
|
|
449
489
|
"status": "renamed",
|
|
450
490
|
"to": "content-extraction/language-attribute",
|
|
451
|
-
"link": "docs/evidence/audits/content-extraction/language-attribute.md"
|
|
491
|
+
"link": "docs/evidence/audits/content-extraction/language-attribute.md",
|
|
492
|
+
"note": "`lang` drives extractor/tokenizer behaviour"
|
|
452
493
|
},
|
|
453
494
|
"4.5": {
|
|
454
495
|
"slug": "meta-tags/unique-meta",
|
|
455
496
|
"status": "renamed",
|
|
456
497
|
"to": "answer-readiness/unique-meta",
|
|
457
|
-
"link": "docs/evidence/audits/answer-readiness/unique-meta.md"
|
|
498
|
+
"link": "docs/evidence/audits/answer-readiness/unique-meta.md",
|
|
499
|
+
"note": "duplicate titles/descriptions degrade answer selection"
|
|
458
500
|
},
|
|
459
501
|
"4.6": {
|
|
460
502
|
"slug": "meta-tags/core-open-graph",
|
|
461
503
|
"status": "renamed",
|
|
462
504
|
"to": "answer-readiness/core-open-graph",
|
|
463
|
-
"link": "docs/evidence/audits/answer-readiness/core-open-graph.md"
|
|
505
|
+
"link": "docs/evidence/audits/answer-readiness/core-open-graph.md",
|
|
506
|
+
"note": "§3 cat 5 \"og/display tags from meta-tags\"; merge target for og-site-name (4.8) and the social-meta fold of twitter-card (4.10)"
|
|
464
507
|
},
|
|
465
508
|
"4.7": {
|
|
466
509
|
"slug": "meta-tags/og-type",
|
|
@@ -472,7 +515,8 @@
|
|
|
472
515
|
"slug": "meta-tags/og-site-name",
|
|
473
516
|
"status": "renamed",
|
|
474
517
|
"to": "answer-readiness/core-open-graph",
|
|
475
|
-
"link": "docs/evidence/audits/answer-readiness/core-open-graph.md"
|
|
518
|
+
"link": "docs/evidence/audits/answer-readiness/core-open-graph.md",
|
|
519
|
+
"note": "§5: og-site-name → core-open-graph"
|
|
476
520
|
},
|
|
477
521
|
"4.9": {
|
|
478
522
|
"slug": "meta-tags/og-image-alt",
|
|
@@ -484,13 +528,15 @@
|
|
|
484
528
|
"slug": "meta-tags/twitter-card",
|
|
485
529
|
"status": "renamed",
|
|
486
530
|
"to": "answer-readiness/core-open-graph",
|
|
487
|
-
"link": "docs/evidence/audits/answer-readiness/core-open-graph.md"
|
|
531
|
+
"link": "docs/evidence/audits/answer-readiness/core-open-graph.md",
|
|
532
|
+
"note": "redemption rewrite — fix the twitter:*/og:* fallback errors and fold into the social-meta diagnostic alongside core-open-graph, informative tier"
|
|
488
533
|
},
|
|
489
534
|
"4.11": {
|
|
490
535
|
"slug": "meta-tags/llms-txt-link",
|
|
491
536
|
"status": "renamed",
|
|
492
537
|
"to": "machine-discovery/llms-txt-exists",
|
|
493
|
-
"link": "docs/evidence/audits/machine-discovery/llms-txt-exists.md"
|
|
538
|
+
"link": "docs/evidence/audits/machine-discovery/llms-txt-exists.md",
|
|
539
|
+
"note": "C3 collapse: file + discovery link become one audit"
|
|
494
540
|
},
|
|
495
541
|
"4.12": {
|
|
496
542
|
"slug": "meta-tags/llms-full-txt-link",
|
|
@@ -502,7 +548,8 @@
|
|
|
502
548
|
"slug": "meta-tags/ai-content-declaration",
|
|
503
549
|
"status": "renamed",
|
|
504
550
|
"to": "access-crawl-control/ai-content-declaration",
|
|
505
|
-
"link": "docs/evidence/audits/access-crawl-control/ai-content-declaration.md"
|
|
551
|
+
"link": "docs/evidence/audits/access-crawl-control/ai-content-declaration.md",
|
|
552
|
+
"note": "redemption rewrite — experimental tier, check the real opt-out directive names; decided 2026-08-21: experimental tier (active declaration-spec trajectory)"
|
|
506
553
|
},
|
|
507
554
|
"4.14": {
|
|
508
555
|
"slug": "meta-tags/ai-instructions",
|
|
@@ -514,13 +561,15 @@
|
|
|
514
561
|
"slug": "meta-tags/markdown-alternate",
|
|
515
562
|
"status": "renamed",
|
|
516
563
|
"to": "content-extraction/markdown-alternate",
|
|
517
|
-
"link": "docs/evidence/audits/content-extraction/markdown-alternate.md"
|
|
564
|
+
"link": "docs/evidence/audits/content-extraction/markdown-alternate.md",
|
|
565
|
+
"note": "§3 cat 2 \"markdown alternates\""
|
|
518
566
|
},
|
|
519
567
|
"4.16": {
|
|
520
568
|
"slug": "meta-tags/rss-feed-link",
|
|
521
569
|
"status": "renamed",
|
|
522
570
|
"to": "machine-discovery/rss-feed",
|
|
523
|
-
"link": "docs/evidence/audits/machine-discovery/rss-feed.md"
|
|
571
|
+
"link": "docs/evidence/audits/machine-discovery/rss-feed.md",
|
|
572
|
+
"note": "C3 collapse: feed file + its `<link rel=alternate>` become one audit"
|
|
524
573
|
},
|
|
525
574
|
"4.17": {
|
|
526
575
|
"slug": "meta-tags/mcp-discovery-link",
|
|
@@ -532,25 +581,29 @@
|
|
|
532
581
|
"slug": "meta-tags/openapi-link",
|
|
533
582
|
"status": "renamed",
|
|
534
583
|
"to": "agent-interfaces/openapi-exists",
|
|
535
|
-
"link": "docs/evidence/audits/agent-interfaces/openapi-exists.md"
|
|
584
|
+
"link": "docs/evidence/audits/agent-interfaces/openapi-exists.md",
|
|
585
|
+
"note": "TODO(redeem) resolves as a merge: one discovery audit incl. RFC 9727 api-catalog; drop the link-tag requirement"
|
|
536
586
|
},
|
|
537
587
|
"4.19": {
|
|
538
588
|
"slug": "meta-tags/ai-catalog-link",
|
|
539
589
|
"status": "renamed",
|
|
540
590
|
"to": "agent-interfaces/ai-catalog-exists",
|
|
541
|
-
"link": "docs/evidence/audits/agent-interfaces/ai-catalog-exists.md"
|
|
591
|
+
"link": "docs/evidence/audits/agent-interfaces/ai-catalog-exists.md",
|
|
592
|
+
"note": "TODO(redeem) grade B; C3 collapse — manifest file + `rel` link checked by one audit"
|
|
542
593
|
},
|
|
543
594
|
"4.20": {
|
|
544
595
|
"slug": "meta-tags/meta-robots",
|
|
545
596
|
"status": "renamed",
|
|
546
597
|
"to": "access-crawl-control/robots-directives",
|
|
547
|
-
"link": "docs/evidence/audits/access-crawl-control/robots-directives.md"
|
|
598
|
+
"link": "docs/evidence/audits/access-crawl-control/robots-directives.md",
|
|
599
|
+
"note": "decided 2026-08-21: merge-away into access-crawl-control/robots-directives (2.25 is the surviving row)"
|
|
548
600
|
},
|
|
549
601
|
"5.1": {
|
|
550
602
|
"slug": "agent-tools/openapi-exists",
|
|
551
603
|
"status": "renamed",
|
|
552
604
|
"to": "agent-interfaces/openapi-exists",
|
|
553
|
-
"link": "docs/evidence/audits/agent-interfaces/openapi-exists.md"
|
|
605
|
+
"link": "docs/evidence/audits/agent-interfaces/openapi-exists.md",
|
|
606
|
+
"note": "absorbs meta-tags/openapi-link (4.18)"
|
|
554
607
|
},
|
|
555
608
|
"5.2": {
|
|
556
609
|
"slug": "agent-tools/openapi-endpoints",
|
|
@@ -562,7 +615,8 @@
|
|
|
562
615
|
"slug": "agent-tools/openapi-operation-ids",
|
|
563
616
|
"status": "renamed",
|
|
564
617
|
"to": "agent-interfaces/openapi-operation-ids",
|
|
565
|
-
"link": "docs/evidence/audits/agent-interfaces/openapi-operation-ids.md"
|
|
618
|
+
"link": "docs/evidence/audits/agent-interfaces/openapi-operation-ids.md",
|
|
619
|
+
"note": "receives the naming-rule half of webmcp-tool-naming (5.23) per §5"
|
|
566
620
|
},
|
|
567
621
|
"5.4": {
|
|
568
622
|
"slug": "agent-tools/openapi-ai-instructions",
|
|
@@ -586,19 +640,22 @@
|
|
|
586
640
|
"slug": "agent-tools/ai-catalog-exists",
|
|
587
641
|
"status": "renamed",
|
|
588
642
|
"to": "agent-interfaces/ai-catalog-exists",
|
|
589
|
-
"link": "docs/evidence/audits/agent-interfaces/ai-catalog-exists.md"
|
|
643
|
+
"link": "docs/evidence/audits/agent-interfaces/ai-catalog-exists.md",
|
|
644
|
+
"note": "redemption rewrite — grade A; pass condition becomes specVersion + host + entries[] per ARD §4.1; absorbs 4.19"
|
|
590
645
|
},
|
|
591
646
|
"5.8": {
|
|
592
647
|
"slug": "agent-tools/ai-catalog-metadata",
|
|
593
648
|
"status": "renamed",
|
|
594
649
|
"to": "agent-interfaces/ai-catalog-metadata",
|
|
595
|
-
"link": "docs/evidence/audits/agent-interfaces/ai-catalog-metadata.md"
|
|
650
|
+
"link": "docs/evidence/audits/agent-interfaces/ai-catalog-metadata.md",
|
|
651
|
+
"note": "redemption rewrite — grade B; every checked field is currently wrong"
|
|
596
652
|
},
|
|
597
653
|
"5.9": {
|
|
598
654
|
"slug": "agent-tools/ai-catalog-urls",
|
|
599
655
|
"status": "renamed",
|
|
600
656
|
"to": "agent-interfaces/ai-catalog-urls",
|
|
601
|
-
"link": "docs/evidence/audits/agent-interfaces/ai-catalog-urls.md"
|
|
657
|
+
"link": "docs/evidence/audits/agent-interfaces/ai-catalog-urls.md",
|
|
658
|
+
"note": "redemption rewrite — grade B; liveness of manifest-listed endpoints"
|
|
602
659
|
},
|
|
603
660
|
"5.10": {
|
|
604
661
|
"slug": "agent-tools/agents-json",
|
|
@@ -622,25 +679,29 @@
|
|
|
622
679
|
"slug": "agent-tools/mcp-endpoint",
|
|
623
680
|
"status": "renamed",
|
|
624
681
|
"to": "agent-interfaces/mcp-endpoint",
|
|
625
|
-
"link": "docs/evidence/audits/agent-interfaces/mcp-endpoint.md"
|
|
682
|
+
"link": "docs/evidence/audits/agent-interfaces/mcp-endpoint.md",
|
|
683
|
+
"note": "merge target for mcp-capabilities (5.14) and webmcp-tool-annotations (5.24)"
|
|
626
684
|
},
|
|
627
685
|
"5.14": {
|
|
628
686
|
"slug": "agent-tools/mcp-capabilities",
|
|
629
687
|
"status": "renamed",
|
|
630
688
|
"to": "agent-interfaces/mcp-endpoint",
|
|
631
|
-
"link": "docs/evidence/audits/agent-interfaces/mcp-endpoint.md"
|
|
689
|
+
"link": "docs/evidence/audits/agent-interfaces/mcp-endpoint.md",
|
|
690
|
+
"note": "§5: mcp-capabilities → mcp-endpoint"
|
|
632
691
|
},
|
|
633
692
|
"5.15": {
|
|
634
693
|
"slug": "agent-tools/contact-form",
|
|
635
694
|
"status": "renamed",
|
|
636
695
|
"to": "operability-safety/contact-form",
|
|
637
|
-
"link": "docs/evidence/audits/operability-safety/contact-form.md"
|
|
696
|
+
"link": "docs/evidence/audits/operability-safety/contact-form.md",
|
|
697
|
+
"note": "decided 2026-08-21: confirmed — operability-safety"
|
|
638
698
|
},
|
|
639
699
|
"5.16": {
|
|
640
700
|
"slug": "agent-tools/search-endpoint",
|
|
641
701
|
"status": "renamed",
|
|
642
702
|
"to": "agent-interfaces/search-endpoint",
|
|
643
|
-
"link": "docs/evidence/audits/agent-interfaces/search-endpoint.md"
|
|
703
|
+
"link": "docs/evidence/audits/agent-interfaces/search-endpoint.md",
|
|
704
|
+
"note": "decided 2026-08-21: confirmed — agent-interfaces; absorbs 3.4 website-search-action, rewritten to read SearchAction array-safe and verify that results come back"
|
|
644
705
|
},
|
|
645
706
|
"5.17": {
|
|
646
707
|
"slug": "agent-tools/data-action-ctas",
|
|
@@ -652,44 +713,50 @@
|
|
|
652
713
|
"slug": "agent-tools/no-blocking-captcha",
|
|
653
714
|
"status": "renamed",
|
|
654
715
|
"to": "operability-safety/no-blocking-captcha",
|
|
655
|
-
"link": "docs/evidence/audits/operability-safety/no-blocking-captcha.md"
|
|
716
|
+
"link": "docs/evidence/audits/operability-safety/no-blocking-captcha.md",
|
|
717
|
+
"note": "decided 2026-08-21: confirmed — operability-safety, form-scoped rewrite"
|
|
656
718
|
},
|
|
657
719
|
"5.19": {
|
|
658
720
|
"slug": "agent-tools/forms-no-js",
|
|
659
721
|
"status": "renamed",
|
|
660
722
|
"to": "operability-safety/forms-no-js",
|
|
661
|
-
"link": "docs/evidence/audits/operability-safety/forms-no-js.md"
|
|
723
|
+
"link": "docs/evidence/audits/operability-safety/forms-no-js.md",
|
|
724
|
+
"note": "§3 cat 8 \"form actionability\""
|
|
662
725
|
},
|
|
663
726
|
"5.20": {
|
|
664
727
|
"slug": "agent-tools/webmcp-manifest",
|
|
665
728
|
"status": "renamed",
|
|
666
729
|
"to": "agent-interfaces/webmcp-registered-tools",
|
|
667
|
-
"link": "docs/evidence/audits/agent-interfaces/webmcp-registered-tools.md"
|
|
730
|
+
"link": "docs/evidence/audits/agent-interfaces/webmcp-registered-tools.md",
|
|
731
|
+
"note": "redemption rewrite — the `.well-known` manifest is invented (grade D); replace with runtime registered-tools detection, experimental tier"
|
|
668
732
|
},
|
|
669
733
|
"5.21": {
|
|
670
734
|
"slug": "agent-tools/webmcp-declarative-forms",
|
|
671
735
|
"status": "renamed",
|
|
672
736
|
"to": "agent-interfaces/webmcp-declarative-forms",
|
|
673
|
-
"link": "docs/evidence/audits/agent-interfaces/webmcp-declarative-forms.md"
|
|
737
|
+
"link": "docs/evidence/audits/agent-interfaces/webmcp-declarative-forms.md",
|
|
738
|
+
"note": "redemption rewrite — grade A (W3C WebML CG explainer, `declarative-webmcp` Baseline feature)"
|
|
674
739
|
},
|
|
675
740
|
"5.22": {
|
|
676
741
|
"slug": "agent-tools/webmcp-input-quality",
|
|
677
742
|
"status": "renamed",
|
|
678
743
|
"to": "operability-safety/form-actionability",
|
|
679
|
-
"link": "docs/evidence/audits/operability-safety/form-actionability.md"
|
|
744
|
+
"link": "docs/evidence/audits/operability-safety/form-actionability.md",
|
|
745
|
+
"note": "§5: webmcp-input-quality → form-actionability"
|
|
680
746
|
},
|
|
681
747
|
"5.23": {
|
|
682
748
|
"slug": "agent-tools/webmcp-tool-naming",
|
|
683
749
|
"status": "renamed",
|
|
684
750
|
"to": "agent-interfaces/openapi-operation-ids",
|
|
685
751
|
"link": "docs/evidence/audits/agent-interfaces/openapi-operation-ids.md",
|
|
686
|
-
"note": "§5 split
|
|
752
|
+
"note": "§5 split: naming rule → openapi-operation-ids; runtime part deferred to a future MCP tools/list check (not a v2.0 audit)"
|
|
687
753
|
},
|
|
688
754
|
"5.24": {
|
|
689
755
|
"slug": "agent-tools/webmcp-tool-annotations",
|
|
690
756
|
"status": "renamed",
|
|
691
757
|
"to": "agent-interfaces/mcp-endpoint",
|
|
692
|
-
"link": "docs/evidence/audits/agent-interfaces/mcp-endpoint.md"
|
|
758
|
+
"link": "docs/evidence/audits/agent-interfaces/mcp-endpoint.md",
|
|
759
|
+
"note": "§5: webmcp-tool-annotations → mcp-endpoint (tools/list annotations)"
|
|
693
760
|
},
|
|
694
761
|
"5.25": {
|
|
695
762
|
"slug": "agent-tools/webmcp-action-coverage",
|
|
@@ -707,7 +774,8 @@
|
|
|
707
774
|
"slug": "agent-tools/form-actionability",
|
|
708
775
|
"status": "renamed",
|
|
709
776
|
"to": "operability-safety/form-actionability",
|
|
710
|
-
"link": "docs/evidence/audits/operability-safety/form-actionability.md"
|
|
777
|
+
"link": "docs/evidence/audits/operability-safety/form-actionability.md",
|
|
778
|
+
"note": "§3 cat 8 \"form actionability\"; merge target for 5.22"
|
|
711
779
|
},
|
|
712
780
|
"6.1": {
|
|
713
781
|
"slug": "semantic-html/single-h1",
|
|
@@ -743,7 +811,8 @@
|
|
|
743
811
|
"slug": "semantic-html/aside-element",
|
|
744
812
|
"status": "renamed",
|
|
745
813
|
"to": "content-extraction/aside-element",
|
|
746
|
-
"link": "docs/evidence/audits/content-extraction/aside-element.md"
|
|
814
|
+
"link": "docs/evidence/audits/content-extraction/aside-element.md",
|
|
815
|
+
"note": "redemption rewrite — grade B (Readability/trafilatura strip `<aside>`; Chromium exposes it as `complementary`)"
|
|
747
816
|
},
|
|
748
817
|
"6.7": {
|
|
749
818
|
"slug": "semantic-html/section-headings",
|
|
@@ -755,7 +824,8 @@
|
|
|
755
824
|
"slug": "semantic-html/semantic-lists",
|
|
756
825
|
"status": "renamed",
|
|
757
826
|
"to": "content-extraction/semantic-lists",
|
|
758
|
-
"link": "docs/evidence/audits/content-extraction/semantic-lists.md"
|
|
827
|
+
"link": "docs/evidence/audits/content-extraction/semantic-lists.md",
|
|
828
|
+
"note": "merge target for definition-elements (6.13)"
|
|
759
829
|
},
|
|
760
830
|
"6.9": {
|
|
761
831
|
"slug": "semantic-html/data-tables",
|
|
@@ -773,7 +843,8 @@
|
|
|
773
843
|
"slug": "semantic-html/time-element",
|
|
774
844
|
"status": "renamed",
|
|
775
845
|
"to": "content-extraction/time-element",
|
|
776
|
-
"link": "docs/evidence/audits/content-extraction/time-element.md"
|
|
846
|
+
"link": "docs/evidence/audits/content-extraction/time-element.md",
|
|
847
|
+
"note": "C1 dates cluster resolves via shared gatherer"
|
|
777
848
|
},
|
|
778
849
|
"6.12": {
|
|
779
850
|
"slug": "semantic-html/address-element",
|
|
@@ -785,7 +856,8 @@
|
|
|
785
856
|
"slug": "semantic-html/definition-elements",
|
|
786
857
|
"status": "renamed",
|
|
787
858
|
"to": "content-extraction/semantic-lists",
|
|
788
|
-
"link": "docs/evidence/audits/content-extraction/semantic-lists.md"
|
|
859
|
+
"link": "docs/evidence/audits/content-extraction/semantic-lists.md",
|
|
860
|
+
"note": "§5: definition-elements → semantic-lists"
|
|
789
861
|
},
|
|
790
862
|
"6.14": {
|
|
791
863
|
"slug": "semantic-html/content-depth",
|
|
@@ -797,7 +869,8 @@
|
|
|
797
869
|
"slug": "semantic-html/image-alt-text",
|
|
798
870
|
"status": "renamed",
|
|
799
871
|
"to": "content-extraction/image-alt-text",
|
|
800
|
-
"link": "docs/evidence/audits/content-extraction/image-alt-text.md"
|
|
872
|
+
"link": "docs/evidence/audits/content-extraction/image-alt-text.md",
|
|
873
|
+
"note": "decided 2026-08-21: confirmed — content-extraction"
|
|
801
874
|
},
|
|
802
875
|
"6.16": {
|
|
803
876
|
"slug": "semantic-html/decorative-images",
|
|
@@ -815,13 +888,15 @@
|
|
|
815
888
|
"slug": "semantic-html/svg-bloat",
|
|
816
889
|
"status": "renamed",
|
|
817
890
|
"to": "content-extraction/svg-bloat",
|
|
818
|
-
"link": "docs/evidence/audits/content-extraction/svg-bloat.md"
|
|
891
|
+
"link": "docs/evidence/audits/content-extraction/svg-bloat.md",
|
|
892
|
+
"note": "pairs with the token-economics proposals (§6 maps token-economics → cat 2)"
|
|
819
893
|
},
|
|
820
894
|
"6.19": {
|
|
821
895
|
"slug": "semantic-html/token-ratio",
|
|
822
896
|
"status": "renamed",
|
|
823
897
|
"to": "content-extraction/token-ratio",
|
|
824
|
-
"link": "docs/evidence/audits/content-extraction/token-ratio.md"
|
|
898
|
+
"link": "docs/evidence/audits/content-extraction/token-ratio.md",
|
|
899
|
+
"note": "token-economics home"
|
|
825
900
|
},
|
|
826
901
|
"6.20": {
|
|
827
902
|
"slug": "semantic-html/fake-headings",
|
|
@@ -839,151 +914,176 @@
|
|
|
839
914
|
"slug": "accessibility/aria-landmarks",
|
|
840
915
|
"status": "renamed",
|
|
841
916
|
"to": "operability-safety/aria-landmarks",
|
|
842
|
-
"link": "docs/evidence/audits/operability-safety/aria-landmarks.md"
|
|
917
|
+
"link": "docs/evidence/audits/operability-safety/aria-landmarks.md",
|
|
918
|
+
"note": "accessibility renames to operability-safety (§3)"
|
|
843
919
|
},
|
|
844
920
|
"7.3": {
|
|
845
921
|
"slug": "accessibility/nav-aria-label",
|
|
846
922
|
"status": "renamed",
|
|
847
923
|
"to": "operability-safety/landmark-unique",
|
|
848
|
-
"link": "docs/evidence/audits/operability-safety/landmark-unique.md"
|
|
924
|
+
"link": "docs/evidence/audits/operability-safety/landmark-unique.md",
|
|
925
|
+
"note": "§5: nav-aria-label → landmark-unique"
|
|
849
926
|
},
|
|
850
927
|
"7.4": {
|
|
851
928
|
"slug": "accessibility/landmark-unique",
|
|
852
929
|
"status": "renamed",
|
|
853
930
|
"to": "operability-safety/landmark-unique",
|
|
854
|
-
"link": "docs/evidence/audits/operability-safety/landmark-unique.md"
|
|
931
|
+
"link": "docs/evidence/audits/operability-safety/landmark-unique.md",
|
|
932
|
+
"note": "§6: split out of `_a11y.ts` into its own file; merge target for 7.3"
|
|
855
933
|
},
|
|
856
934
|
"7.5": {
|
|
857
935
|
"slug": "accessibility/form-labels",
|
|
858
936
|
"status": "renamed",
|
|
859
937
|
"to": "operability-safety/label",
|
|
860
|
-
"link": "docs/evidence/audits/operability-safety/label.md"
|
|
938
|
+
"link": "docs/evidence/audits/operability-safety/label.md",
|
|
939
|
+
"note": "§6 file split. decided 2026-08-21: confirmed — slug `label`"
|
|
861
940
|
},
|
|
862
941
|
"7.6": {
|
|
863
942
|
"slug": "accessibility/form-error-messages",
|
|
864
943
|
"status": "renamed",
|
|
865
944
|
"to": "operability-safety/form-error-messages",
|
|
866
|
-
"link": "docs/evidence/audits/operability-safety/form-error-messages.md"
|
|
945
|
+
"link": "docs/evidence/audits/operability-safety/form-error-messages.md",
|
|
946
|
+
"note": "redemption rewrite — verify aria-describedby/aria-errormessage on invalid inputs instead of the current heuristic"
|
|
867
947
|
},
|
|
868
948
|
"7.7": {
|
|
869
949
|
"slug": "accessibility/accessible-names",
|
|
870
950
|
"status": "renamed",
|
|
871
951
|
"to": "operability-safety/accessible-names",
|
|
872
|
-
"link": "docs/evidence/audits/operability-safety/accessible-names.md"
|
|
952
|
+
"link": "docs/evidence/audits/operability-safety/accessible-names.md",
|
|
953
|
+
"note": "§6 file split; wraps `button-name` + `link-name`"
|
|
873
954
|
},
|
|
874
955
|
"7.9": {
|
|
875
956
|
"slug": "accessibility/dialog-name",
|
|
876
957
|
"status": "renamed",
|
|
877
958
|
"to": "operability-safety/dialog-name",
|
|
878
|
-
"link": "docs/evidence/audits/operability-safety/dialog-name.md"
|
|
959
|
+
"link": "docs/evidence/audits/operability-safety/dialog-name.md",
|
|
960
|
+
"note": "§6 file split; wraps `aria-dialog-name`"
|
|
879
961
|
},
|
|
880
962
|
"7.10": {
|
|
881
963
|
"slug": "accessibility/aria-hidden-body",
|
|
882
964
|
"status": "renamed",
|
|
883
965
|
"to": "operability-safety/aria-hidden-body",
|
|
884
|
-
"link": "docs/evidence/audits/operability-safety/aria-hidden-body.md"
|
|
966
|
+
"link": "docs/evidence/audits/operability-safety/aria-hidden-body.md",
|
|
967
|
+
"note": "§6 file split"
|
|
885
968
|
},
|
|
886
969
|
"7.11": {
|
|
887
970
|
"slug": "accessibility/aria-roles",
|
|
888
971
|
"status": "renamed",
|
|
889
972
|
"to": "operability-safety/aria-roles",
|
|
890
|
-
"link": "docs/evidence/audits/operability-safety/aria-roles.md"
|
|
973
|
+
"link": "docs/evidence/audits/operability-safety/aria-roles.md",
|
|
974
|
+
"note": "§6 file split; wraps `aria-roles`, `aria-deprecated-role`, `aria-allowed-role`"
|
|
891
975
|
},
|
|
892
976
|
"7.12": {
|
|
893
977
|
"slug": "accessibility/aria-attributes",
|
|
894
978
|
"status": "renamed",
|
|
895
979
|
"to": "operability-safety/aria-attributes",
|
|
896
|
-
"link": "docs/evidence/audits/operability-safety/aria-attributes.md"
|
|
980
|
+
"link": "docs/evidence/audits/operability-safety/aria-attributes.md",
|
|
981
|
+
"note": "§6 file split; wraps the four aria-attr rules"
|
|
897
982
|
},
|
|
898
983
|
"7.13": {
|
|
899
984
|
"slug": "accessibility/aria-relationships",
|
|
900
985
|
"status": "renamed",
|
|
901
986
|
"to": "operability-safety/aria-relationships",
|
|
902
|
-
"link": "docs/evidence/audits/operability-safety/aria-relationships.md"
|
|
987
|
+
"link": "docs/evidence/audits/operability-safety/aria-relationships.md",
|
|
988
|
+
"note": "§6 file split; wraps the three aria-required-* rules"
|
|
903
989
|
},
|
|
904
990
|
"7.14": {
|
|
905
991
|
"slug": "accessibility/duplicate-id",
|
|
906
992
|
"status": "renamed",
|
|
907
993
|
"to": "operability-safety/duplicate-id",
|
|
908
|
-
"link": "docs/evidence/audits/operability-safety/duplicate-id.md"
|
|
994
|
+
"link": "docs/evidence/audits/operability-safety/duplicate-id.md",
|
|
995
|
+
"note": "§6 file split; wraps `duplicate-id-aria`"
|
|
909
996
|
},
|
|
910
997
|
"7.15": {
|
|
911
998
|
"slug": "accessibility/autocomplete",
|
|
912
999
|
"status": "renamed",
|
|
913
1000
|
"to": "operability-safety/autocomplete",
|
|
914
|
-
"link": "docs/evidence/audits/operability-safety/autocomplete.md"
|
|
1001
|
+
"link": "docs/evidence/audits/operability-safety/autocomplete.md",
|
|
1002
|
+
"note": "§6 file split; pairs with the form-autofill-token-coverage proposal"
|
|
915
1003
|
},
|
|
916
1004
|
"7.16": {
|
|
917
1005
|
"slug": "accessibility/nested-interactive",
|
|
918
1006
|
"status": "renamed",
|
|
919
1007
|
"to": "operability-safety/nested-interactive",
|
|
920
|
-
"link": "docs/evidence/audits/operability-safety/nested-interactive.md"
|
|
1008
|
+
"link": "docs/evidence/audits/operability-safety/nested-interactive.md",
|
|
1009
|
+
"note": "§6 file split"
|
|
921
1010
|
},
|
|
922
1011
|
"7.17": {
|
|
923
1012
|
"slug": "accessibility/table-headers",
|
|
924
1013
|
"status": "renamed",
|
|
925
1014
|
"to": "operability-safety/table-headers",
|
|
926
|
-
"link": "docs/evidence/audits/operability-safety/table-headers.md"
|
|
1015
|
+
"link": "docs/evidence/audits/operability-safety/table-headers.md",
|
|
1016
|
+
"note": "§6 file split; wraps the four table rules"
|
|
927
1017
|
},
|
|
928
1018
|
"7.18": {
|
|
929
1019
|
"slug": "accessibility/document-title",
|
|
930
1020
|
"status": "renamed",
|
|
931
1021
|
"to": "operability-safety/document-title",
|
|
932
|
-
"link": "docs/evidence/audits/operability-safety/document-title.md"
|
|
1022
|
+
"link": "docs/evidence/audits/operability-safety/document-title.md",
|
|
1023
|
+
"note": "§6 file split"
|
|
933
1024
|
},
|
|
934
1025
|
"7.19": {
|
|
935
1026
|
"slug": "accessibility/frame-title",
|
|
936
1027
|
"status": "renamed",
|
|
937
1028
|
"to": "operability-safety/frame-title",
|
|
938
|
-
"link": "docs/evidence/audits/operability-safety/frame-title.md"
|
|
1029
|
+
"link": "docs/evidence/audits/operability-safety/frame-title.md",
|
|
1030
|
+
"note": "§6 file split; wraps `frame-title` + `frame-title-unique`"
|
|
939
1031
|
},
|
|
940
1032
|
"7.20": {
|
|
941
1033
|
"slug": "accessibility/meta-refresh",
|
|
942
1034
|
"status": "renamed",
|
|
943
1035
|
"to": "operability-safety/meta-refresh",
|
|
944
|
-
"link": "docs/evidence/audits/operability-safety/meta-refresh.md"
|
|
1036
|
+
"link": "docs/evidence/audits/operability-safety/meta-refresh.md",
|
|
1037
|
+
"note": "§6 file split"
|
|
945
1038
|
},
|
|
946
1039
|
"7.21": {
|
|
947
1040
|
"slug": "accessibility/tabindex",
|
|
948
1041
|
"status": "renamed",
|
|
949
1042
|
"to": "operability-safety/tabindex",
|
|
950
|
-
"link": "docs/evidence/audits/operability-safety/tabindex.md"
|
|
1043
|
+
"link": "docs/evidence/audits/operability-safety/tabindex.md",
|
|
1044
|
+
"note": "§6 file split"
|
|
951
1045
|
},
|
|
952
1046
|
"7.22": {
|
|
953
1047
|
"slug": "accessibility/marquee",
|
|
954
1048
|
"status": "removed",
|
|
955
1049
|
"reason": "not-a-factor",
|
|
956
|
-
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#accessibilitymarquee"
|
|
1050
|
+
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#accessibilitymarquee",
|
|
1051
|
+
"note": "decided 2026-08-21: sunset — grade D, mechanism proven false (marquee text is stable DOM text)"
|
|
957
1052
|
},
|
|
958
1053
|
"7.23": {
|
|
959
1054
|
"slug": "accessibility/presentation-conflict",
|
|
960
1055
|
"status": "renamed",
|
|
961
1056
|
"to": "operability-safety/presentation-conflict",
|
|
962
|
-
"link": "docs/evidence/audits/operability-safety/presentation-conflict.md"
|
|
1057
|
+
"link": "docs/evidence/audits/operability-safety/presentation-conflict.md",
|
|
1058
|
+
"note": "§6 file split"
|
|
963
1059
|
},
|
|
964
1060
|
"8.1": {
|
|
965
1061
|
"slug": "technical-readiness/https-enabled",
|
|
966
1062
|
"status": "renamed",
|
|
967
1063
|
"to": "access-crawl-control/https-enabled",
|
|
968
|
-
"link": "docs/evidence/audits/access-crawl-control/https-enabled.md"
|
|
1064
|
+
"link": "docs/evidence/audits/access-crawl-control/https-enabled.md",
|
|
1065
|
+
"note": "decided 2026-08-21: confirmed — access-crawl-control, scored; judge the protocol after redirects"
|
|
969
1066
|
},
|
|
970
1067
|
"8.2": {
|
|
971
1068
|
"slug": "technical-readiness/hsts-header",
|
|
972
1069
|
"status": "renamed",
|
|
973
1070
|
"to": "operability-safety/security-header-hygiene",
|
|
974
|
-
"link": "docs/evidence/audits/operability-safety/security-header-hygiene.md"
|
|
1071
|
+
"link": "docs/evidence/audits/operability-safety/security-header-hygiene.md",
|
|
1072
|
+
"note": "§5 consolidation, weight 0, never fails a site"
|
|
975
1073
|
},
|
|
976
1074
|
"8.3": {
|
|
977
1075
|
"slug": "technical-readiness/csp-header",
|
|
978
1076
|
"status": "renamed",
|
|
979
1077
|
"to": "operability-safety/security-header-hygiene",
|
|
980
|
-
"link": "docs/evidence/audits/operability-safety/security-header-hygiene.md"
|
|
1078
|
+
"link": "docs/evidence/audits/operability-safety/security-header-hygiene.md",
|
|
1079
|
+
"note": "§5 consolidation (audits 8.3–8.7)"
|
|
981
1080
|
},
|
|
982
1081
|
"8.4": {
|
|
983
1082
|
"slug": "technical-readiness/content-type-options",
|
|
984
1083
|
"status": "renamed",
|
|
985
1084
|
"to": "operability-safety/security-header-hygiene",
|
|
986
|
-
"link": "docs/evidence/audits/operability-safety/security-header-hygiene.md"
|
|
1085
|
+
"link": "docs/evidence/audits/operability-safety/security-header-hygiene.md",
|
|
1086
|
+
"note": "§5 consolidation; nosniff additionally becomes a sub-signal of machine-discovery/ai-file-delivery"
|
|
987
1087
|
},
|
|
988
1088
|
"8.5": {
|
|
989
1089
|
"slug": "technical-readiness/referrer-policy",
|
|
@@ -1001,61 +1101,71 @@
|
|
|
1001
1101
|
"slug": "technical-readiness/security-txt",
|
|
1002
1102
|
"status": "renamed",
|
|
1003
1103
|
"to": "operability-safety/security-header-hygiene",
|
|
1004
|
-
"link": "docs/evidence/audits/operability-safety/security-header-hygiene.md"
|
|
1104
|
+
"link": "docs/evidence/audits/operability-safety/security-header-hygiene.md",
|
|
1105
|
+
"note": "§5 consolidation (audits 8.3–8.7)"
|
|
1005
1106
|
},
|
|
1006
1107
|
"8.8": {
|
|
1007
1108
|
"slug": "technical-readiness/cors-ai-files",
|
|
1008
1109
|
"status": "renamed",
|
|
1009
1110
|
"to": "machine-discovery/cors-ai-files",
|
|
1010
|
-
"link": "docs/evidence/audits/machine-discovery/cors-ai-files.md"
|
|
1111
|
+
"link": "docs/evidence/audits/machine-discovery/cors-ai-files.md",
|
|
1112
|
+
"note": "§3 cat 3 \"delivery checks from technical-readiness\""
|
|
1011
1113
|
},
|
|
1012
1114
|
"8.9": {
|
|
1013
1115
|
"slug": "technical-readiness/cors-api-routes",
|
|
1014
1116
|
"status": "renamed",
|
|
1015
1117
|
"to": "agent-interfaces/cors-api-routes",
|
|
1016
|
-
"link": "docs/evidence/audits/agent-interfaces/cors-api-routes.md"
|
|
1118
|
+
"link": "docs/evidence/audits/agent-interfaces/cors-api-routes.md",
|
|
1119
|
+
"note": "redemption rewrite — stays scored but `notApplicable` unless the site exposes a public cross-origin API surface"
|
|
1017
1120
|
},
|
|
1018
1121
|
"8.10": {
|
|
1019
1122
|
"slug": "technical-readiness/correct-content-types",
|
|
1020
1123
|
"status": "renamed",
|
|
1021
1124
|
"to": "machine-discovery/ai-file-delivery",
|
|
1022
|
-
"link": "docs/evidence/audits/machine-discovery/ai-file-delivery.md"
|
|
1125
|
+
"link": "docs/evidence/audits/machine-discovery/ai-file-delivery.md",
|
|
1126
|
+
"note": "§5 rename (\"AI file delivery\"); merge target for cache-headers (8.11); gains nosniff sub-signal from 8.4"
|
|
1023
1127
|
},
|
|
1024
1128
|
"8.11": {
|
|
1025
1129
|
"slug": "technical-readiness/cache-headers",
|
|
1026
1130
|
"status": "renamed",
|
|
1027
1131
|
"to": "machine-discovery/ai-file-delivery",
|
|
1028
|
-
"link": "docs/evidence/audits/machine-discovery/ai-file-delivery.md"
|
|
1132
|
+
"link": "docs/evidence/audits/machine-discovery/ai-file-delivery.md",
|
|
1133
|
+
"note": "§5: cache-headers → correct-content-types (\"AI file delivery\")"
|
|
1029
1134
|
},
|
|
1030
1135
|
"8.12": {
|
|
1031
1136
|
"slug": "technical-readiness/fast-response-time",
|
|
1032
1137
|
"status": "renamed",
|
|
1033
1138
|
"to": "content-extraction/server-responsiveness",
|
|
1034
|
-
"link": "docs/evidence/audits/content-extraction/server-responsiveness.md"
|
|
1139
|
+
"link": "docs/evidence/audits/content-extraction/server-responsiveness.md",
|
|
1140
|
+
"note": "decided 2026-08-21: merge-away into content-extraction/server-responsiveness (1.19 is the surviving row)"
|
|
1035
1141
|
},
|
|
1036
1142
|
"8.13": {
|
|
1037
1143
|
"slug": "technical-readiness/server-rendered",
|
|
1038
1144
|
"status": "renamed",
|
|
1039
1145
|
"to": "content-extraction/server-rendered",
|
|
1040
|
-
"link": "docs/evidence/audits/content-extraction/server-rendered.md"
|
|
1146
|
+
"link": "docs/evidence/audits/content-extraction/server-rendered.md",
|
|
1147
|
+
"note": "§3 cat 2 \"rendering checks from technical-readiness\""
|
|
1041
1148
|
},
|
|
1042
1149
|
"8.14": {
|
|
1043
1150
|
"slug": "technical-readiness/no-render-blocking",
|
|
1044
1151
|
"status": "removed",
|
|
1045
1152
|
"reason": "not-a-factor",
|
|
1046
|
-
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#technical-readinessno-render-blocking"
|
|
1153
|
+
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#technical-readinessno-render-blocking",
|
|
1154
|
+
"note": "decided 2026-08-21: sunset — grade D, human-viewport performance signal, no agent consumer"
|
|
1047
1155
|
},
|
|
1048
1156
|
"8.15": {
|
|
1049
1157
|
"slug": "technical-readiness/image-dimensions",
|
|
1050
1158
|
"status": "removed",
|
|
1051
1159
|
"reason": "not-a-factor",
|
|
1052
|
-
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#technical-readinessimage-dimensions"
|
|
1160
|
+
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#technical-readinessimage-dimensions",
|
|
1161
|
+
"note": "decided 2026-08-21: sunset — grade D CLS proxy, no agent consumer"
|
|
1053
1162
|
},
|
|
1054
1163
|
"8.16": {
|
|
1055
1164
|
"slug": "technical-readiness/lcp-not-lazy",
|
|
1056
1165
|
"status": "removed",
|
|
1057
1166
|
"reason": "not-a-factor",
|
|
1058
|
-
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#technical-readinesslcp-not-lazy"
|
|
1167
|
+
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#technical-readinesslcp-not-lazy",
|
|
1168
|
+
"note": "decided 2026-08-21: sunset — grade D, `images[0]` is not an LCP proxy"
|
|
1059
1169
|
},
|
|
1060
1170
|
"8.17": {
|
|
1061
1171
|
"slug": "technical-readiness/preconnect-hints",
|
|
@@ -1067,19 +1177,22 @@
|
|
|
1067
1177
|
"slug": "technical-readiness/no-broken-ai-endpoints",
|
|
1068
1178
|
"status": "renamed",
|
|
1069
1179
|
"to": "machine-discovery/no-broken-ai-endpoints",
|
|
1070
|
-
"link": "docs/evidence/audits/machine-discovery/no-broken-ai-endpoints.md"
|
|
1180
|
+
"link": "docs/evidence/audits/machine-discovery/no-broken-ai-endpoints.md",
|
|
1181
|
+
"note": "decided 2026-08-21: confirmed — machine-discovery whole, no per-surface split; same-origin fix, drop the navigation.json source"
|
|
1071
1182
|
},
|
|
1072
1183
|
"8.19": {
|
|
1073
1184
|
"slug": "technical-readiness/privacy-policy",
|
|
1074
1185
|
"status": "removed",
|
|
1075
1186
|
"reason": "not-a-factor",
|
|
1076
|
-
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#technical-readinessprivacy-policy"
|
|
1187
|
+
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#technical-readinessprivacy-policy",
|
|
1188
|
+
"note": "decided 2026-08-21: sunset — grade D generic trust claim; the ACP link-surface proposal covers the evidenced commerce case"
|
|
1077
1189
|
},
|
|
1078
1190
|
"8.20": {
|
|
1079
1191
|
"slug": "technical-readiness/terms-of-service",
|
|
1080
1192
|
"status": "removed",
|
|
1081
1193
|
"reason": "not-a-factor",
|
|
1082
|
-
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#technical-readinessterms-of-service"
|
|
1194
|
+
"link": "https://github.com/ForkPoint/agent-lighthouse/blob/main/docs/evidence/sunset/not-a-factor.md#technical-readinessterms-of-service",
|
|
1195
|
+
"note": "decided 2026-08-21: sunset — grade D, no documented consumer, English-only detector"
|
|
1083
1196
|
},
|
|
1084
1197
|
"8.21": {
|
|
1085
1198
|
"slug": "technical-readiness/framework-detection",
|
|
@@ -1091,7 +1204,8 @@
|
|
|
1091
1204
|
"slug": "answer-engine/faq-sections",
|
|
1092
1205
|
"status": "renamed",
|
|
1093
1206
|
"to": "answer-readiness/faq-sections",
|
|
1094
|
-
"link": "docs/evidence/audits/answer-readiness/faq-sections.md"
|
|
1207
|
+
"link": "docs/evidence/audits/answer-readiness/faq-sections.md",
|
|
1208
|
+
"note": "answer-engine + generative-engine fuse (§3)"
|
|
1095
1209
|
},
|
|
1096
1210
|
"9.2": {
|
|
1097
1211
|
"slug": "answer-engine/question-headings",
|
|
@@ -1109,7 +1223,8 @@
|
|
|
1109
1223
|
"slug": "answer-engine/direct-definitions",
|
|
1110
1224
|
"status": "renamed",
|
|
1111
1225
|
"to": "answer-readiness/direct-definitions",
|
|
1112
|
-
"link": "docs/evidence/audits/answer-readiness/direct-definitions.md"
|
|
1226
|
+
"link": "docs/evidence/audits/answer-readiness/direct-definitions.md",
|
|
1227
|
+
"note": "redemption rewrite — language-neutral structural detector, `notApplicable` without definitional intent"
|
|
1113
1228
|
},
|
|
1114
1229
|
"9.5": {
|
|
1115
1230
|
"slug": "answer-engine/comparison-tables",
|
|
@@ -1122,7 +1237,7 @@
|
|
|
1122
1237
|
"status": "renamed",
|
|
1123
1238
|
"to": "content-extraction/semantic-lists",
|
|
1124
1239
|
"link": "docs/evidence/audits/content-extraction/semantic-lists.md",
|
|
1125
|
-
"note": "
|
|
1240
|
+
"note": "grading pass: evidence duplicates semantic-lists (B) — candidate to fold during Plan 4 rewrites"
|
|
1126
1241
|
},
|
|
1127
1242
|
"9.7": {
|
|
1128
1243
|
"slug": "answer-engine/specific-numbers",
|
|
@@ -1134,7 +1249,8 @@
|
|
|
1134
1249
|
"slug": "answer-engine/dates-on-content",
|
|
1135
1250
|
"status": "renamed",
|
|
1136
1251
|
"to": "answer-readiness/dates-on-content",
|
|
1137
|
-
"link": "docs/evidence/audits/answer-readiness/dates-on-content.md"
|
|
1252
|
+
"link": "docs/evidence/audits/answer-readiness/dates-on-content.md",
|
|
1253
|
+
"note": "merge target for last-updated-indicator (9.10); C1/C16 clusters resolve via shared gatherer"
|
|
1138
1254
|
},
|
|
1139
1255
|
"9.9": {
|
|
1140
1256
|
"slug": "answer-engine/content-without-clickthrough",
|
|
@@ -1146,19 +1262,22 @@
|
|
|
1146
1262
|
"slug": "answer-engine/last-updated-indicator",
|
|
1147
1263
|
"status": "renamed",
|
|
1148
1264
|
"to": "answer-readiness/dates-on-content",
|
|
1149
|
-
"link": "docs/evidence/audits/answer-readiness/dates-on-content.md"
|
|
1265
|
+
"link": "docs/evidence/audits/answer-readiness/dates-on-content.md",
|
|
1266
|
+
"note": "§5: last-updated-indicator → dates-on-content"
|
|
1150
1267
|
},
|
|
1151
1268
|
"9.11": {
|
|
1152
1269
|
"slug": "answer-engine/meta-description-aeo",
|
|
1153
1270
|
"status": "renamed",
|
|
1154
1271
|
"to": "answer-readiness/meta-description",
|
|
1155
|
-
"link": "docs/evidence/audits/answer-readiness/meta-description.md"
|
|
1272
|
+
"link": "docs/evidence/audits/answer-readiness/meta-description.md",
|
|
1273
|
+
"note": "TODO(redeem) resolves as a merge into meta-description (4.1); the invented \"AEO formula\" is dropped"
|
|
1156
1274
|
},
|
|
1157
1275
|
"10.1": {
|
|
1158
1276
|
"slug": "generative-engine/named-author",
|
|
1159
1277
|
"status": "renamed",
|
|
1160
1278
|
"to": "answer-readiness/named-author",
|
|
1161
|
-
"link": "docs/evidence/audits/answer-readiness/named-author.md"
|
|
1279
|
+
"link": "docs/evidence/audits/answer-readiness/named-author.md",
|
|
1280
|
+
"note": "C4 authors cluster via shared gatherer"
|
|
1162
1281
|
},
|
|
1163
1282
|
"10.2": {
|
|
1164
1283
|
"slug": "generative-engine/author-same-as",
|
|
@@ -1194,31 +1313,36 @@
|
|
|
1194
1313
|
"slug": "generative-engine/trust-signals",
|
|
1195
1314
|
"status": "renamed",
|
|
1196
1315
|
"to": "answer-readiness/trust-signals",
|
|
1197
|
-
"link": "docs/evidence/audits/answer-readiness/trust-signals.md"
|
|
1316
|
+
"link": "docs/evidence/audits/answer-readiness/trust-signals.md",
|
|
1317
|
+
"note": "redemption rewrite — grade B (252k-trial citation study, KDD'24 \"Authoritative\" effect)"
|
|
1198
1318
|
},
|
|
1199
1319
|
"10.8": {
|
|
1200
1320
|
"slug": "generative-engine/review-signals",
|
|
1201
1321
|
"status": "renamed",
|
|
1202
1322
|
"to": "answer-readiness/review-signals",
|
|
1203
|
-
"link": "docs/evidence/audits/answer-readiness/review-signals.md"
|
|
1323
|
+
"link": "docs/evidence/audits/answer-readiness/review-signals.md",
|
|
1324
|
+
"note": "merge target for blockquote-usage (10.14); C8 reviews cluster via shared gatherer"
|
|
1204
1325
|
},
|
|
1205
1326
|
"10.9": {
|
|
1206
1327
|
"slug": "generative-engine/publication-date",
|
|
1207
1328
|
"status": "renamed",
|
|
1208
1329
|
"to": "answer-readiness/publication-date",
|
|
1209
|
-
"link": "docs/evidence/audits/answer-readiness/publication-date.md"
|
|
1330
|
+
"link": "docs/evidence/audits/answer-readiness/publication-date.md",
|
|
1331
|
+
"note": "C1 dates cluster via shared gatherer"
|
|
1210
1332
|
},
|
|
1211
1333
|
"10.10": {
|
|
1212
1334
|
"slug": "generative-engine/last-modified-schema",
|
|
1213
1335
|
"status": "renamed",
|
|
1214
1336
|
"to": "answer-readiness/last-modified-schema",
|
|
1215
|
-
"link": "docs/evidence/audits/answer-readiness/last-modified-schema.md"
|
|
1337
|
+
"link": "docs/evidence/audits/answer-readiness/last-modified-schema.md",
|
|
1338
|
+
"note": "C16 freshness cluster resolves via shared gatherer, not a merge"
|
|
1216
1339
|
},
|
|
1217
1340
|
"10.11": {
|
|
1218
1341
|
"slug": "generative-engine/internal-cross-linking",
|
|
1219
1342
|
"status": "renamed",
|
|
1220
1343
|
"to": "machine-discovery/in-content-links",
|
|
1221
|
-
"link": "docs/evidence/audits/machine-discovery/in-content-links.md"
|
|
1344
|
+
"link": "docs/evidence/audits/machine-discovery/in-content-links.md",
|
|
1345
|
+
"note": "decided 2026-08-21: merge-away into machine-discovery/in-content-links (1.15 is the surviving row)"
|
|
1222
1346
|
},
|
|
1223
1347
|
"10.12": {
|
|
1224
1348
|
"slug": "generative-engine/pagination-links",
|
|
@@ -1236,12 +1360,14 @@
|
|
|
1236
1360
|
"slug": "generative-engine/blockquote-usage",
|
|
1237
1361
|
"status": "renamed",
|
|
1238
1362
|
"to": "answer-readiness/review-signals",
|
|
1239
|
-
"link": "docs/evidence/audits/answer-readiness/review-signals.md"
|
|
1363
|
+
"link": "docs/evidence/audits/answer-readiness/review-signals.md",
|
|
1364
|
+
"note": "§5: blockquote-usage → review-signals"
|
|
1240
1365
|
},
|
|
1241
1366
|
"10.15": {
|
|
1242
1367
|
"slug": "generative-engine/descriptive-urls",
|
|
1243
1368
|
"status": "renamed",
|
|
1244
1369
|
"to": "answer-readiness/descriptive-urls",
|
|
1245
|
-
"link": "docs/evidence/audits/answer-readiness/descriptive-urls.md"
|
|
1370
|
+
"link": "docs/evidence/audits/answer-readiness/descriptive-urls.md",
|
|
1371
|
+
"note": "decided 2026-08-21: confirmed — answer-readiness, informative tier"
|
|
1246
1372
|
}
|
|
1247
1373
|
}
|