spec-to-ui 0.1.0 → 0.2.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/LICENSE +2 -0
- package/README.ko.md +129 -0
- package/README.md +96 -29
- package/RELEASE.md +26 -0
- package/THIRD-PARTY.md +14 -0
- package/bin/cli.mjs +70 -91
- package/bundle-manifest.json +140 -0
- package/package.json +40 -8
- package/plugin.json +16 -0
- package/skills/design-taste-frontend/LICENSE +21 -0
- package/skills/design-taste-frontend/README.md +81 -0
- package/skills/design-taste-frontend/SKILL.md +546 -0
- package/skills/design-taste-frontend/assets/app.css +216 -0
- package/skills/design-taste-frontend/assets/base.css +105 -0
- package/skills/design-taste-frontend/assets/base.js +37 -0
- package/skills/design-taste-frontend/assets/charts.js +619 -0
- package/skills/design-taste-frontend/assets/scenes/stage.css +28 -0
- package/skills/design-taste-frontend/assets/scenes/stage.js +134 -0
- package/skills/design-taste-frontend/evals/evals.json +76 -0
- package/skills/design-taste-frontend/library/app.json +1327 -0
- package/skills/design-taste-frontend/library/directions.json +1078 -0
- package/skills/design-taste-frontend/library/heroes.json +1086 -0
- package/skills/design-taste-frontend/library/motions.json +92 -0
- package/skills/design-taste-frontend/library/palettes.json +1485 -0
- package/skills/design-taste-frontend/library/photos.json +7240 -0
- package/skills/design-taste-frontend/library/sections.json +4429 -0
- package/skills/design-taste-frontend/library/sites.json +8350 -0
- package/skills/design-taste-frontend/library/type.json +2024 -0
- package/skills/design-taste-frontend/references/app-screens.md +1199 -0
- package/skills/design-taste-frontend/references/colour.md +141 -0
- package/skills/design-taste-frontend/references/copy.md +177 -0
- package/skills/design-taste-frontend/references/critique.md +182 -0
- package/skills/design-taste-frontend/references/imagery.md +791 -0
- package/skills/design-taste-frontend/references/layout.md +292 -0
- package/skills/design-taste-frontend/references/motion.md +980 -0
- package/skills/design-taste-frontend/references/research.md +356 -0
- package/skills/design-taste-frontend/references/scenes.md +174 -0
- package/skills/design-taste-frontend/references/tells.md +115 -0
- package/skills/design-taste-frontend/references/type.md +170 -0
- package/skills/design-taste-frontend/scripts/assets.mjs +865 -0
- package/skills/design-taste-frontend/scripts/draw.mjs +584 -0
- package/skills/design-taste-frontend/scripts/inspect.mjs +308 -0
- package/skills/design-taste-frontend/scripts/lib/app-draw.mjs +203 -0
- package/skills/design-taste-frontend/scripts/lib/cdp.mjs +248 -0
- package/skills/design-taste-frontend/scripts/lib/inspection-files.mjs +9 -0
- package/skills/design-taste-frontend/scripts/lib/probe.mjs +929 -0
- package/skills/design-taste-frontend/scripts/lib/rules.mjs +243 -0
- package/skills/design-taste-frontend/scripts/lint.mjs +119 -0
- package/skills/design-taste-frontend/scripts/scenes.mjs +124 -0
- package/skills/spec-to-ui/SKILL.md +61 -0
- package/{skill → skills/spec-to-ui}/references/composition-and-validation.md +6 -0
- package/{skill → skills/spec-to-ui}/references/drafts-and-feedback.md +10 -0
- package/skills/spec-to-ui/references/requirements-supplement.md +21 -0
- package/{skill → skills/spec-to-ui}/references/review-and-handoff.md +9 -0
- package/skills/spec-to-ui/references/skill-composition.md +21 -0
- package/{skill → skills/spec-to-ui}/references/structure-and-decisions.md +4 -0
- package/skills/specframe/NOTICE.md +7 -0
- package/skills/specframe/SKILL.md +58 -0
- package/skills/specframe/agents/openai.yaml +3 -0
- package/skills/specframe/references/operating-contract.md +137 -0
- package/skills/specframe/references/visual.md +3 -0
- package/skills/specframe/references/web.md +15 -0
- package/skills/specframe/scripts/state.py +182 -0
- package/skills/ui-ux-pro-max/LICENSE +21 -0
- package/skills/ui-ux-pro-max/SKILL.md +218 -0
- package/skills/ui-ux-pro-max/data/app-interface.csv +33 -0
- package/skills/ui-ux-pro-max/data/catalog-summary.json +78 -0
- package/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/data/colors.csv +193 -0
- package/skills/ui-ux-pro-max/data/data-provenance.json +1348 -0
- package/skills/ui-ux-pro-max/data/google-font-licenses.json +20185 -0
- package/skills/ui-ux-pro-max/data/google-fonts.csv +1935 -0
- package/skills/ui-ux-pro-max/data/icons.csv +106 -0
- package/skills/ui-ux-pro-max/data/landing.csv +35 -0
- package/skills/ui-ux-pro-max/data/motion.csv +18 -0
- package/skills/ui-ux-pro-max/data/phosphor-icons-upstream.json +32582 -0
- package/skills/ui-ux-pro-max/data/products.csv +193 -0
- package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/avalonia.csv +57 -0
- package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +60 -0
- package/skills/ui-ux-pro-max/data/stacks/javafx.csv +76 -0
- package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +62 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +84 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +68 -0
- package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/data/stacks/react.csv +67 -0
- package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +69 -0
- package/skills/ui-ux-pro-max/data/stacks/svelte.csv +56 -0
- package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/uno.csv +60 -0
- package/skills/ui-ux-pro-max/data/stacks/uwp.csv +56 -0
- package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/data/stacks/winui.csv +60 -0
- package/skills/ui-ux-pro-max/data/stacks/wpf.csv +57 -0
- package/skills/ui-ux-pro-max/data/styles.csv +89 -0
- package/skills/ui-ux-pro-max/data/typography.csv +75 -0
- package/skills/ui-ux-pro-max/data/ui-reasoning.csv +193 -0
- package/skills/ui-ux-pro-max/data/ux-guidelines.csv +120 -0
- package/skills/ui-ux-pro-max/references/pro-rules.md +117 -0
- package/skills/ui-ux-pro-max/references/quick-reference.md +256 -0
- package/skills/ui-ux-pro-max/scripts/core.py +993 -0
- package/skills/ui-ux-pro-max/scripts/design_system.py +1668 -0
- package/skills/ui-ux-pro-max/scripts/reasoning_contract.py +123 -0
- package/skills/ui-ux-pro-max/scripts/search.py +184 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/google-api.json +36 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/google-catalog.json +33 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/google-existing.csv +3 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/google-metadata.json +17 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/google-overrides.json +7 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/icons-curated.csv +4 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/phosphor-core.json +23 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/phosphor-package.json +13 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/phosphor-react-exports.json +4 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/phosphor-react-package.json +5 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/relevance-baseline.json +3366 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/relevance-cases.json +111 -0
- package/skills/ui-ux-pro-max/scripts/tests/fixtures/relevance-thresholds.json +100 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_catalog_refresh.py +354 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_catalog_summary_line_endings.py +78 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_core.py +343 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_core_data_quality.py +198 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_data_contracts.py +421 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_design_system_mode.py +233 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_design_system_stack.py +61 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_native_desktop_stack_freshness.py +179 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_relevance_evaluator.py +182 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_skill_script_paths.py +82 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_style_taxonomy.py +175 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_text_layout_resilience.py +120 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_web_stack_freshness.py +191 -0
- package/skills/ui-ux-pro-max/scripts/validate_data.py +1095 -0
- package/sources.json +58 -0
- package/skill/SKILL.md +0 -68
- package/skill-manifest.json +0 -10
- /package/{skill → skills/spec-to-ui}/LICENSE +0 -0
- /package/{skill → skills/spec-to-ui}/agents/openai.yaml +0 -0
- /package/{skill → skills/spec-to-ui}/references/reference-selection.md +0 -0
|
@@ -0,0 +1,3366 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cases": [
|
|
3
|
+
{
|
|
4
|
+
"actual": [
|
|
5
|
+
{
|
|
6
|
+
"Style Category": "Glassmorphism"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"Style Category": "Spatial UI (VisionOS)"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"Style Category": "Liquid Glass"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"diagnostics": {
|
|
16
|
+
"abstained": false,
|
|
17
|
+
"calibration_version": "2026-08-12-v1",
|
|
18
|
+
"margin": 10.180590466442855,
|
|
19
|
+
"normalized_query": "frosted glass transparent blurred layered UI",
|
|
20
|
+
"query_rewrites": [],
|
|
21
|
+
"reason": "matched",
|
|
22
|
+
"runner_up_score": 9.240573829729811,
|
|
23
|
+
"search_query": "frosted glass transparent blurred layered UI",
|
|
24
|
+
"token_coverage": 1.0,
|
|
25
|
+
"top_score": 19.421164296172666
|
|
26
|
+
},
|
|
27
|
+
"expectedRoute": null,
|
|
28
|
+
"grades": [
|
|
29
|
+
2,
|
|
30
|
+
0,
|
|
31
|
+
0
|
|
32
|
+
],
|
|
33
|
+
"id": "domain-style-glassmorphism",
|
|
34
|
+
"route": "style",
|
|
35
|
+
"scores": {
|
|
36
|
+
"mrr3": 1.0,
|
|
37
|
+
"ndcg3": 1.0,
|
|
38
|
+
"p1": 1.0,
|
|
39
|
+
"p3": 0.3333333333333333
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"actual": [
|
|
44
|
+
{
|
|
45
|
+
"Style Category": "Accessible & Ethical"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"Style Category": "Inclusive Design"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"Style Category": "Vibrant & Block-based"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"diagnostics": {
|
|
55
|
+
"abstained": false,
|
|
56
|
+
"calibration_version": "2026-08-12-v1",
|
|
57
|
+
"margin": 0.2007607310218411,
|
|
58
|
+
"normalized_query": "inclusive high contrast interface with keyboard navigation and screen readers",
|
|
59
|
+
"query_rewrites": [],
|
|
60
|
+
"reason": "matched",
|
|
61
|
+
"runner_up_score": 18.40140231643771,
|
|
62
|
+
"search_query": "inclusive high contrast interface with keyboard nav and screen readers",
|
|
63
|
+
"token_coverage": 0.8888888888888888,
|
|
64
|
+
"top_score": 18.602163047459552
|
|
65
|
+
},
|
|
66
|
+
"expectedRoute": null,
|
|
67
|
+
"grades": [
|
|
68
|
+
2,
|
|
69
|
+
1,
|
|
70
|
+
0
|
|
71
|
+
],
|
|
72
|
+
"id": "domain-style-accessible-paraphrase",
|
|
73
|
+
"route": "style",
|
|
74
|
+
"scores": {
|
|
75
|
+
"mrr3": 1.0,
|
|
76
|
+
"ndcg3": 1.0,
|
|
77
|
+
"p1": 1.0,
|
|
78
|
+
"p3": 0.6666666666666666
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"actual": [
|
|
83
|
+
{
|
|
84
|
+
"Product Type": "Beauty/Spa/Wellness Service"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"Product Type": "Mental Health App"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"Product Type": "Parenting & Baby Tracker"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"diagnostics": {
|
|
94
|
+
"abstained": false,
|
|
95
|
+
"calibration_version": "2026-08-12-v1",
|
|
96
|
+
"margin": 17.678305652755625,
|
|
97
|
+
"normalized_query": "beauty spa wellness soft pink lavender palette",
|
|
98
|
+
"query_rewrites": [],
|
|
99
|
+
"reason": "matched",
|
|
100
|
+
"runner_up_score": 7.159928053272678,
|
|
101
|
+
"search_query": "beauty spa wellness soft pink lavender palette",
|
|
102
|
+
"token_coverage": 0.8571428571428571,
|
|
103
|
+
"top_score": 24.838233706028305
|
|
104
|
+
},
|
|
105
|
+
"expectedRoute": null,
|
|
106
|
+
"grades": [
|
|
107
|
+
2,
|
|
108
|
+
0,
|
|
109
|
+
0
|
|
110
|
+
],
|
|
111
|
+
"id": "domain-color-spa",
|
|
112
|
+
"route": "color",
|
|
113
|
+
"scores": {
|
|
114
|
+
"mrr3": 1.0,
|
|
115
|
+
"ndcg3": 1.0,
|
|
116
|
+
"p1": 1.0,
|
|
117
|
+
"p3": 0.3333333333333333
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"actual": [
|
|
122
|
+
{
|
|
123
|
+
"Product Type": "Financial Dashboard"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"Product Type": "Cybersecurity Platform"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"Product Type": "Smart Home/IoT Dashboard"
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
"diagnostics": {
|
|
133
|
+
"abstained": false,
|
|
134
|
+
"calibration_version": "2026-08-12-v1",
|
|
135
|
+
"margin": 0.29636583933813654,
|
|
136
|
+
"normalized_query": "cybersecurty threat dashboard matrix green dark pallete",
|
|
137
|
+
"query_rewrites": [],
|
|
138
|
+
"reason": "matched",
|
|
139
|
+
"runner_up_score": 6.62187033218134,
|
|
140
|
+
"search_query": "cybersecurty threat dashboard matrix green dark pallete",
|
|
141
|
+
"token_coverage": 0.5714285714285714,
|
|
142
|
+
"top_score": 6.918236171519476
|
|
143
|
+
},
|
|
144
|
+
"expectedRoute": null,
|
|
145
|
+
"grades": [
|
|
146
|
+
0,
|
|
147
|
+
2,
|
|
148
|
+
0
|
|
149
|
+
],
|
|
150
|
+
"id": "domain-color-cyber-typo",
|
|
151
|
+
"route": "color",
|
|
152
|
+
"scores": {
|
|
153
|
+
"mrr3": 0.5,
|
|
154
|
+
"ndcg3": 0.6309297535714574,
|
|
155
|
+
"p1": 0.0,
|
|
156
|
+
"p3": 0.3333333333333333
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"actual": [
|
|
161
|
+
{
|
|
162
|
+
"Data Type": "Trend Over Time"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"Data Type": "Real-Time Streaming"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"Data Type": "Anomaly Detection"
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
"diagnostics": {
|
|
172
|
+
"abstained": false,
|
|
173
|
+
"calibration_version": "2026-08-12-v1",
|
|
174
|
+
"margin": 12.637395123197123,
|
|
175
|
+
"normalized_query": "trend over time growth timeline line chart",
|
|
176
|
+
"query_rewrites": [],
|
|
177
|
+
"reason": "matched",
|
|
178
|
+
"runner_up_score": 3.1856244638240696,
|
|
179
|
+
"search_query": "trend over time growth timeline line chart",
|
|
180
|
+
"token_coverage": 1.0,
|
|
181
|
+
"top_score": 15.823019587021193
|
|
182
|
+
},
|
|
183
|
+
"expectedRoute": null,
|
|
184
|
+
"grades": [
|
|
185
|
+
2,
|
|
186
|
+
0,
|
|
187
|
+
0
|
|
188
|
+
],
|
|
189
|
+
"id": "domain-chart-time-series",
|
|
190
|
+
"route": "chart",
|
|
191
|
+
"scores": {
|
|
192
|
+
"mrr3": 1.0,
|
|
193
|
+
"ndcg3": 0.8262346571285599,
|
|
194
|
+
"p1": 1.0,
|
|
195
|
+
"p3": 0.3333333333333333
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"actual": [
|
|
200
|
+
{
|
|
201
|
+
"Data Type": "Correlation / Distribution"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"Data Type": "Real-Time Streaming"
|
|
205
|
+
}
|
|
206
|
+
],
|
|
207
|
+
"diagnostics": {
|
|
208
|
+
"abstained": false,
|
|
209
|
+
"calibration_version": "2026-08-12-v1",
|
|
210
|
+
"margin": 0.08727362229790625,
|
|
211
|
+
"normalized_query": "show whether two measures move together using dots and bubbles",
|
|
212
|
+
"query_rewrites": [],
|
|
213
|
+
"reason": "matched",
|
|
214
|
+
"runner_up_score": 2.7743314821590044,
|
|
215
|
+
"search_query": "show whether two measures move together using dots and bubbles",
|
|
216
|
+
"token_coverage": 0.2222222222222222,
|
|
217
|
+
"top_score": 2.8616051044569106
|
|
218
|
+
},
|
|
219
|
+
"expectedRoute": null,
|
|
220
|
+
"grades": [
|
|
221
|
+
2,
|
|
222
|
+
0
|
|
223
|
+
],
|
|
224
|
+
"id": "domain-chart-correlation-paraphrase",
|
|
225
|
+
"route": "chart",
|
|
226
|
+
"scores": {
|
|
227
|
+
"mrr3": 1.0,
|
|
228
|
+
"ndcg3": 1.0,
|
|
229
|
+
"p1": 1.0,
|
|
230
|
+
"p3": 0.3333333333333333
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"actual": [
|
|
235
|
+
{
|
|
236
|
+
"Pattern Name": "Pricing-Focused Landing"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"Pattern Name": "Pricing Page + CTA"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"Pattern Name": "Comparison Table + CTA"
|
|
243
|
+
}
|
|
244
|
+
],
|
|
245
|
+
"diagnostics": {
|
|
246
|
+
"abstained": false,
|
|
247
|
+
"calibration_version": "2026-08-12-v1",
|
|
248
|
+
"margin": 1.4239185572152468,
|
|
249
|
+
"normalized_query": "pricing plans tiers comparison landing CTA",
|
|
250
|
+
"query_rewrites": [],
|
|
251
|
+
"reason": "matched",
|
|
252
|
+
"runner_up_score": 13.508045243232234,
|
|
253
|
+
"search_query": "pricing plans tiers comparison landing CTA",
|
|
254
|
+
"token_coverage": 1.0,
|
|
255
|
+
"top_score": 14.93196380044748
|
|
256
|
+
},
|
|
257
|
+
"expectedRoute": null,
|
|
258
|
+
"grades": [
|
|
259
|
+
2,
|
|
260
|
+
2,
|
|
261
|
+
1
|
|
262
|
+
],
|
|
263
|
+
"id": "domain-landing-pricing",
|
|
264
|
+
"route": "landing",
|
|
265
|
+
"scores": {
|
|
266
|
+
"mrr3": 1.0,
|
|
267
|
+
"ndcg3": 1.0,
|
|
268
|
+
"p1": 1.0,
|
|
269
|
+
"p3": 1.0
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"actual": [
|
|
274
|
+
{
|
|
275
|
+
"Pattern Name": "Trust & Authority + Conversion"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"Pattern Name": "Enterprise Gateway"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"Pattern Name": "Pricing Page + CTA"
|
|
282
|
+
}
|
|
283
|
+
],
|
|
284
|
+
"diagnostics": {
|
|
285
|
+
"abstained": false,
|
|
286
|
+
"calibration_version": "2026-08-12-v1",
|
|
287
|
+
"margin": 4.337981479641247,
|
|
288
|
+
"normalized_query": "enterprise credibilty trust authority conversion page",
|
|
289
|
+
"query_rewrites": [],
|
|
290
|
+
"reason": "matched",
|
|
291
|
+
"runner_up_score": 9.751278486627811,
|
|
292
|
+
"search_query": "enterprise credibilty trust authority conversion page",
|
|
293
|
+
"token_coverage": 0.8333333333333334,
|
|
294
|
+
"top_score": 14.089259966269058
|
|
295
|
+
},
|
|
296
|
+
"expectedRoute": null,
|
|
297
|
+
"grades": [
|
|
298
|
+
2,
|
|
299
|
+
1,
|
|
300
|
+
0
|
|
301
|
+
],
|
|
302
|
+
"id": "domain-landing-enterprise-typo",
|
|
303
|
+
"route": "landing",
|
|
304
|
+
"scores": {
|
|
305
|
+
"mrr3": 1.0,
|
|
306
|
+
"ndcg3": 1.0,
|
|
307
|
+
"p1": 1.0,
|
|
308
|
+
"p3": 0.6666666666666666
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"actual": [
|
|
313
|
+
{
|
|
314
|
+
"Product Type": "Beauty/Spa/Wellness Service"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"Product Type": "Booking & Appointment App"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"Product Type": "Photography Studio"
|
|
321
|
+
}
|
|
322
|
+
],
|
|
323
|
+
"diagnostics": {
|
|
324
|
+
"abstained": false,
|
|
325
|
+
"calibration_version": "2026-08-12-v1",
|
|
326
|
+
"margin": 18.297270037662248,
|
|
327
|
+
"normalized_query": "salon massage skincare booking and wellness service",
|
|
328
|
+
"query_rewrites": [],
|
|
329
|
+
"reason": "matched",
|
|
330
|
+
"runner_up_score": 7.065266409246995,
|
|
331
|
+
"search_query": "salon massage skincare booking and wellness service",
|
|
332
|
+
"token_coverage": 1.0,
|
|
333
|
+
"top_score": 25.362536446909242
|
|
334
|
+
},
|
|
335
|
+
"expectedRoute": null,
|
|
336
|
+
"grades": [
|
|
337
|
+
2,
|
|
338
|
+
1,
|
|
339
|
+
0
|
|
340
|
+
],
|
|
341
|
+
"id": "domain-product-spa",
|
|
342
|
+
"route": "product",
|
|
343
|
+
"scores": {
|
|
344
|
+
"mrr3": 1.0,
|
|
345
|
+
"ndcg3": 1.0,
|
|
346
|
+
"p1": 1.0,
|
|
347
|
+
"p3": 0.6666666666666666
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"actual": [],
|
|
352
|
+
"diagnostics": {
|
|
353
|
+
"abstained": true,
|
|
354
|
+
"calibration_version": "2026-08-12-v1",
|
|
355
|
+
"margin": 0.6408757429869336,
|
|
356
|
+
"normalized_query": "platform for monitoring digital threats and protecting systems",
|
|
357
|
+
"query_rewrites": [],
|
|
358
|
+
"reason": "low-confidence",
|
|
359
|
+
"runner_up_score": 5.294892947558106,
|
|
360
|
+
"search_query": "platform for monitoring digital threats and protecting systems",
|
|
361
|
+
"token_coverage": 0.5,
|
|
362
|
+
"top_score": 5.935768690545039
|
|
363
|
+
},
|
|
364
|
+
"expectedRoute": null,
|
|
365
|
+
"grades": [],
|
|
366
|
+
"id": "domain-product-security-paraphrase",
|
|
367
|
+
"route": "product",
|
|
368
|
+
"scores": {
|
|
369
|
+
"mrr3": 0.0,
|
|
370
|
+
"ndcg3": 0.0,
|
|
371
|
+
"p1": 0.0,
|
|
372
|
+
"p3": 0.0
|
|
373
|
+
}
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"actual": [
|
|
377
|
+
{
|
|
378
|
+
"Category": "Accessibility",
|
|
379
|
+
"Issue": "Keyboard Navigation"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"Category": "Accessibility",
|
|
383
|
+
"Issue": "Focus Not Obscured (Enhanced)"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"Category": "Accessibility",
|
|
387
|
+
"Issue": "Focus Not Obscured (Minimum)"
|
|
388
|
+
}
|
|
389
|
+
],
|
|
390
|
+
"diagnostics": {
|
|
391
|
+
"abstained": false,
|
|
392
|
+
"calibration_version": "2026-08-12-v1",
|
|
393
|
+
"margin": 7.712612997594313,
|
|
394
|
+
"normalized_query": "visible focus and complete keyboard navigation for web users",
|
|
395
|
+
"query_rewrites": [],
|
|
396
|
+
"reason": "matched",
|
|
397
|
+
"runner_up_score": 9.166328360401398,
|
|
398
|
+
"search_query": "visible focus and complete keyboard navigation for web users",
|
|
399
|
+
"token_coverage": 1.0,
|
|
400
|
+
"top_score": 16.87894135799571
|
|
401
|
+
},
|
|
402
|
+
"expectedRoute": null,
|
|
403
|
+
"grades": [
|
|
404
|
+
2,
|
|
405
|
+
0,
|
|
406
|
+
0
|
|
407
|
+
],
|
|
408
|
+
"id": "domain-ux-keyboard-focus",
|
|
409
|
+
"route": "ux",
|
|
410
|
+
"scores": {
|
|
411
|
+
"mrr3": 1.0,
|
|
412
|
+
"ndcg3": 0.6131471927654584,
|
|
413
|
+
"p1": 1.0,
|
|
414
|
+
"p3": 0.3333333333333333
|
|
415
|
+
}
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"actual": [
|
|
419
|
+
{
|
|
420
|
+
"Category": "Animation",
|
|
421
|
+
"Issue": "Excessive Motion"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"Category": "Animation",
|
|
425
|
+
"Issue": "Reduced Motion"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"Category": "Animation",
|
|
429
|
+
"Issue": "Continuous Animation"
|
|
430
|
+
}
|
|
431
|
+
],
|
|
432
|
+
"diagnostics": {
|
|
433
|
+
"abstained": false,
|
|
434
|
+
"calibration_version": "2026-08-12-v1",
|
|
435
|
+
"margin": 3.342400772580876,
|
|
436
|
+
"normalized_query": "stop animations making people sick and honor their motion preference",
|
|
437
|
+
"query_rewrites": [],
|
|
438
|
+
"reason": "matched",
|
|
439
|
+
"runner_up_score": 4.7581916385107546,
|
|
440
|
+
"search_query": "stop animations making people sick and honor their motion preference",
|
|
441
|
+
"token_coverage": 0.2222222222222222,
|
|
442
|
+
"top_score": 8.10059241109163
|
|
443
|
+
},
|
|
444
|
+
"expectedRoute": null,
|
|
445
|
+
"grades": [
|
|
446
|
+
1,
|
|
447
|
+
2,
|
|
448
|
+
0
|
|
449
|
+
],
|
|
450
|
+
"id": "domain-ux-motion-paraphrase",
|
|
451
|
+
"route": "ux",
|
|
452
|
+
"scores": {
|
|
453
|
+
"mrr3": 1.0,
|
|
454
|
+
"ndcg3": 0.7967075809905066,
|
|
455
|
+
"p1": 1.0,
|
|
456
|
+
"p3": 0.6666666666666666
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"actual": [
|
|
461
|
+
{
|
|
462
|
+
"Category": "Serif + Sans",
|
|
463
|
+
"Font Pairing Name": "Luxury Serif"
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"Category": "Serif + Sans",
|
|
467
|
+
"Font Pairing Name": "Classic Elegant"
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"Category": "Serif + Sans",
|
|
471
|
+
"Font Pairing Name": "Real Estate Luxury"
|
|
472
|
+
}
|
|
473
|
+
],
|
|
474
|
+
"diagnostics": {
|
|
475
|
+
"abstained": false,
|
|
476
|
+
"calibration_version": "2026-08-12-v1",
|
|
477
|
+
"margin": 0.4054912435846667,
|
|
478
|
+
"normalized_query": "elegant luxury serif heading with clean readable body font",
|
|
479
|
+
"query_rewrites": [],
|
|
480
|
+
"reason": "matched",
|
|
481
|
+
"runner_up_score": 7.678808998514057,
|
|
482
|
+
"search_query": "elegant luxury serif heading with clean readable body font",
|
|
483
|
+
"token_coverage": 0.6666666666666666,
|
|
484
|
+
"top_score": 8.084300242098724
|
|
485
|
+
},
|
|
486
|
+
"expectedRoute": null,
|
|
487
|
+
"grades": [
|
|
488
|
+
2,
|
|
489
|
+
2,
|
|
490
|
+
0
|
|
491
|
+
],
|
|
492
|
+
"id": "domain-typography-luxury",
|
|
493
|
+
"route": "typography",
|
|
494
|
+
"scores": {
|
|
495
|
+
"mrr3": 1.0,
|
|
496
|
+
"ndcg3": 0.9072836011519267,
|
|
497
|
+
"p1": 1.0,
|
|
498
|
+
"p3": 0.6666666666666666
|
|
499
|
+
}
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"actual": [
|
|
503
|
+
{
|
|
504
|
+
"Category": "Sans + Sans",
|
|
505
|
+
"Font Pairing Name": "Accessibility First"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"Category": "Serif + Sans",
|
|
509
|
+
"Font Pairing Name": "Academic/Research"
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"Category": "Sans + Serif (Display) + Mono",
|
|
513
|
+
"Font Pairing Name": "Bold Typography Mobile (Inter Poster)"
|
|
514
|
+
}
|
|
515
|
+
],
|
|
516
|
+
"diagnostics": {
|
|
517
|
+
"abstained": false,
|
|
518
|
+
"calibration_version": "2026-08-12-v1",
|
|
519
|
+
"margin": 11.232450027626605,
|
|
520
|
+
"normalized_query": "dyslexia frendly hyperlegible inclusive type pairing",
|
|
521
|
+
"query_rewrites": [],
|
|
522
|
+
"reason": "matched",
|
|
523
|
+
"runner_up_score": 3.7239164952881945,
|
|
524
|
+
"search_query": "dyslexia frendly hyperlegible inclusive type pairing",
|
|
525
|
+
"token_coverage": 0.6666666666666666,
|
|
526
|
+
"top_score": 14.956366522914799
|
|
527
|
+
},
|
|
528
|
+
"expectedRoute": null,
|
|
529
|
+
"grades": [
|
|
530
|
+
2,
|
|
531
|
+
1,
|
|
532
|
+
0
|
|
533
|
+
],
|
|
534
|
+
"id": "domain-typography-accessible-typo",
|
|
535
|
+
"route": "typography",
|
|
536
|
+
"scores": {
|
|
537
|
+
"mrr3": 1.0,
|
|
538
|
+
"ndcg3": 1.0,
|
|
539
|
+
"p1": 1.0,
|
|
540
|
+
"p3": 0.6666666666666666
|
|
541
|
+
}
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"actual": [
|
|
545
|
+
{
|
|
546
|
+
"Category": "Action",
|
|
547
|
+
"Icon Name": "magnifying-glass"
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
"Category": "Guideline",
|
|
551
|
+
"Icon Name": "icon-context-accessibility"
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"Category": "Style Config",
|
|
555
|
+
"Icon Name": "cyberpunk-icon-system"
|
|
556
|
+
}
|
|
557
|
+
],
|
|
558
|
+
"diagnostics": {
|
|
559
|
+
"abstained": false,
|
|
560
|
+
"calibration_version": "2026-08-12-v1",
|
|
561
|
+
"margin": 13.46638832339189,
|
|
562
|
+
"normalized_query": "find lookup search icon for a query field",
|
|
563
|
+
"query_rewrites": [],
|
|
564
|
+
"reason": "matched",
|
|
565
|
+
"runner_up_score": 4.529111017843179,
|
|
566
|
+
"search_query": "find lookup search icon for a query field",
|
|
567
|
+
"token_coverage": 0.8333333333333334,
|
|
568
|
+
"top_score": 17.995499341235067
|
|
569
|
+
},
|
|
570
|
+
"expectedRoute": null,
|
|
571
|
+
"grades": [
|
|
572
|
+
2,
|
|
573
|
+
0,
|
|
574
|
+
0
|
|
575
|
+
],
|
|
576
|
+
"id": "domain-icons-search",
|
|
577
|
+
"route": "icons",
|
|
578
|
+
"scores": {
|
|
579
|
+
"mrr3": 1.0,
|
|
580
|
+
"ndcg3": 0.8262346571285599,
|
|
581
|
+
"p1": 1.0,
|
|
582
|
+
"p3": 0.3333333333333333
|
|
583
|
+
}
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
"actual": [
|
|
587
|
+
{
|
|
588
|
+
"Category": "Status",
|
|
589
|
+
"Icon Name": "warning"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"Category": "Status",
|
|
593
|
+
"Icon Name": "check"
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"Category": "Status",
|
|
597
|
+
"Icon Name": "x-circle"
|
|
598
|
+
}
|
|
599
|
+
],
|
|
600
|
+
"diagnostics": {
|
|
601
|
+
"abstained": false,
|
|
602
|
+
"calibration_version": "2026-08-12-v1",
|
|
603
|
+
"margin": 11.175655604554517,
|
|
604
|
+
"normalized_query": "warnng caution danger status symbol",
|
|
605
|
+
"query_rewrites": [],
|
|
606
|
+
"reason": "matched",
|
|
607
|
+
"runner_up_score": 2.771682721324879,
|
|
608
|
+
"search_query": "warnng caution danger status symbol",
|
|
609
|
+
"token_coverage": 0.6,
|
|
610
|
+
"top_score": 13.947338325879397
|
|
611
|
+
},
|
|
612
|
+
"expectedRoute": null,
|
|
613
|
+
"grades": [
|
|
614
|
+
2,
|
|
615
|
+
0,
|
|
616
|
+
0
|
|
617
|
+
],
|
|
618
|
+
"id": "domain-icons-warning-typo",
|
|
619
|
+
"route": "icons",
|
|
620
|
+
"scores": {
|
|
621
|
+
"mrr3": 1.0,
|
|
622
|
+
"ndcg3": 0.8262346571285599,
|
|
623
|
+
"p1": 1.0,
|
|
624
|
+
"p3": 0.3333333333333333
|
|
625
|
+
}
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"actual": [
|
|
629
|
+
{
|
|
630
|
+
"Category": "Scroll Reveal",
|
|
631
|
+
"Intensity Tier": "Subtle",
|
|
632
|
+
"Trigger": "scroll (viewport enter)"
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"Category": "Scroll Reveal",
|
|
636
|
+
"Intensity Tier": "Standard",
|
|
637
|
+
"Trigger": "scroll (viewport enter)"
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"Category": "Scroll Reveal",
|
|
641
|
+
"Intensity Tier": "Complex",
|
|
642
|
+
"Trigger": "scroll (continuous scrub)"
|
|
643
|
+
}
|
|
644
|
+
],
|
|
645
|
+
"diagnostics": {
|
|
646
|
+
"abstained": false,
|
|
647
|
+
"calibration_version": "2026-08-12-v1",
|
|
648
|
+
"margin": 0.47825840830284605,
|
|
649
|
+
"normalized_query": "GSAP reveal elements when they enter the viewport on scroll",
|
|
650
|
+
"query_rewrites": [
|
|
651
|
+
"gsap->animation"
|
|
652
|
+
],
|
|
653
|
+
"reason": "matched",
|
|
654
|
+
"runner_up_score": 7.3587320792912365,
|
|
655
|
+
"search_query": "GSAP reveal elements when they enter the viewport on scroll animation",
|
|
656
|
+
"token_coverage": 0.5555555555555556,
|
|
657
|
+
"top_score": 7.836990487594083
|
|
658
|
+
},
|
|
659
|
+
"expectedRoute": null,
|
|
660
|
+
"grades": [
|
|
661
|
+
2,
|
|
662
|
+
2,
|
|
663
|
+
1
|
|
664
|
+
],
|
|
665
|
+
"id": "domain-gsap-scroll-reveal",
|
|
666
|
+
"route": "gsap",
|
|
667
|
+
"scores": {
|
|
668
|
+
"mrr3": 1.0,
|
|
669
|
+
"ndcg3": 1.0,
|
|
670
|
+
"p1": 1.0,
|
|
671
|
+
"p3": 1.0
|
|
672
|
+
}
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"actual": [
|
|
676
|
+
{
|
|
677
|
+
"Category": "Loading / Skeleton",
|
|
678
|
+
"Intensity Tier": "Subtle",
|
|
679
|
+
"Trigger": "on mount / async wait"
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
"Category": "Loading / Skeleton",
|
|
683
|
+
"Intensity Tier": "Standard",
|
|
684
|
+
"Trigger": "on mount / async wait"
|
|
685
|
+
}
|
|
686
|
+
],
|
|
687
|
+
"diagnostics": {
|
|
688
|
+
"abstained": false,
|
|
689
|
+
"calibration_version": "2026-08-12-v1",
|
|
690
|
+
"margin": 0.19985661655781062,
|
|
691
|
+
"normalized_query": "skeletn shimmer loader while async content waits",
|
|
692
|
+
"query_rewrites": [],
|
|
693
|
+
"reason": "matched",
|
|
694
|
+
"runner_up_score": 3.464834479866627,
|
|
695
|
+
"search_query": "skeletn shimmer loader while async content waits",
|
|
696
|
+
"token_coverage": 0.42857142857142855,
|
|
697
|
+
"top_score": 3.6646910964244377
|
|
698
|
+
},
|
|
699
|
+
"expectedRoute": null,
|
|
700
|
+
"grades": [
|
|
701
|
+
2,
|
|
702
|
+
1
|
|
703
|
+
],
|
|
704
|
+
"id": "domain-gsap-skeleton-typo",
|
|
705
|
+
"route": "gsap",
|
|
706
|
+
"scores": {
|
|
707
|
+
"mrr3": 1.0,
|
|
708
|
+
"ndcg3": 1.0,
|
|
709
|
+
"p1": 1.0,
|
|
710
|
+
"p3": 0.6666666666666666
|
|
711
|
+
}
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
"actual": [
|
|
715
|
+
{
|
|
716
|
+
"Category": "Async Waterfall",
|
|
717
|
+
"Issue": "Promise.all Parallel"
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"Category": "Async Waterfall",
|
|
721
|
+
"Issue": "Dependency Parallelization"
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
"Category": "Server",
|
|
725
|
+
"Issue": "React.cache Dedup"
|
|
726
|
+
}
|
|
727
|
+
],
|
|
728
|
+
"diagnostics": {
|
|
729
|
+
"abstained": false,
|
|
730
|
+
"calibration_version": "2026-08-12-v1",
|
|
731
|
+
"margin": 9.800420361659564,
|
|
732
|
+
"normalized_query": "React Promise.all parallel concurrent requests instead of waterfall",
|
|
733
|
+
"query_rewrites": [],
|
|
734
|
+
"reason": "matched",
|
|
735
|
+
"runner_up_score": 8.52666055496694,
|
|
736
|
+
"search_query": "React Promise.all parallel concurrent requests instead of waterfall",
|
|
737
|
+
"token_coverage": 1.0,
|
|
738
|
+
"top_score": 18.327080916626503
|
|
739
|
+
},
|
|
740
|
+
"expectedRoute": null,
|
|
741
|
+
"grades": [
|
|
742
|
+
2,
|
|
743
|
+
1,
|
|
744
|
+
0
|
|
745
|
+
],
|
|
746
|
+
"id": "domain-react-parallel-promises",
|
|
747
|
+
"route": "react",
|
|
748
|
+
"scores": {
|
|
749
|
+
"mrr3": 1.0,
|
|
750
|
+
"ndcg3": 1.0,
|
|
751
|
+
"p1": 1.0,
|
|
752
|
+
"p3": 0.6666666666666666
|
|
753
|
+
}
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
"actual": [
|
|
757
|
+
{
|
|
758
|
+
"Category": "Bundle Size",
|
|
759
|
+
"Issue": "Conditional Loading"
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
"Category": "Bundle Size",
|
|
763
|
+
"Issue": "Preload Intent"
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
"Category": "Bundle Size",
|
|
767
|
+
"Issue": "Dynamic Imports"
|
|
768
|
+
}
|
|
769
|
+
],
|
|
770
|
+
"diagnostics": {
|
|
771
|
+
"abstained": false,
|
|
772
|
+
"calibration_version": "2026-08-12-v1",
|
|
773
|
+
"margin": 1.0365367412508002,
|
|
774
|
+
"normalized_query": "load a heavy JavaScript chunk only when the component is needed",
|
|
775
|
+
"query_rewrites": [],
|
|
776
|
+
"reason": "matched",
|
|
777
|
+
"runner_up_score": 6.078726135115516,
|
|
778
|
+
"search_query": "load a heavy JavaScript chunk only when the component is needed",
|
|
779
|
+
"token_coverage": 0.75,
|
|
780
|
+
"top_score": 7.115262876366316
|
|
781
|
+
},
|
|
782
|
+
"expectedRoute": null,
|
|
783
|
+
"grades": [
|
|
784
|
+
1,
|
|
785
|
+
0,
|
|
786
|
+
2
|
|
787
|
+
],
|
|
788
|
+
"id": "domain-react-dynamic-import-paraphrase",
|
|
789
|
+
"route": "react",
|
|
790
|
+
"scores": {
|
|
791
|
+
"mrr3": 1.0,
|
|
792
|
+
"ndcg3": 0.6885288809404666,
|
|
793
|
+
"p1": 1.0,
|
|
794
|
+
"p3": 0.6666666666666666
|
|
795
|
+
}
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"actual": [
|
|
799
|
+
{
|
|
800
|
+
"Category": "Accessibility",
|
|
801
|
+
"Issue": "Icon Button Labels"
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"Category": "Anti-Pattern",
|
|
805
|
+
"Issue": "No Gesture-Only Actions"
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"Category": "Accessibility",
|
|
809
|
+
"Issue": "Decorative Icons"
|
|
810
|
+
}
|
|
811
|
+
],
|
|
812
|
+
"diagnostics": {
|
|
813
|
+
"abstained": false,
|
|
814
|
+
"calibration_version": "2026-08-12-v1",
|
|
815
|
+
"margin": 11.167539124802396,
|
|
816
|
+
"normalized_query": "accessible name for an icon-only mobile button",
|
|
817
|
+
"query_rewrites": [],
|
|
818
|
+
"reason": "matched",
|
|
819
|
+
"runner_up_score": 3.626190306648762,
|
|
820
|
+
"search_query": "accessible name for an icon-only mobile button",
|
|
821
|
+
"token_coverage": 0.6666666666666666,
|
|
822
|
+
"top_score": 14.793729431451158
|
|
823
|
+
},
|
|
824
|
+
"expectedRoute": null,
|
|
825
|
+
"grades": [
|
|
826
|
+
2,
|
|
827
|
+
0,
|
|
828
|
+
0
|
|
829
|
+
],
|
|
830
|
+
"id": "domain-web-icon-label",
|
|
831
|
+
"route": "web",
|
|
832
|
+
"scores": {
|
|
833
|
+
"mrr3": 1.0,
|
|
834
|
+
"ndcg3": 1.0,
|
|
835
|
+
"p1": 1.0,
|
|
836
|
+
"p3": 0.3333333333333333
|
|
837
|
+
}
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
"actual": [
|
|
841
|
+
{
|
|
842
|
+
"Category": "Typography",
|
|
843
|
+
"Issue": "Dynamic Type Support"
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
"Category": "Performance",
|
|
847
|
+
"Issue": "Virtualize Long Lists"
|
|
848
|
+
}
|
|
849
|
+
],
|
|
850
|
+
"diagnostics": {
|
|
851
|
+
"abstained": false,
|
|
852
|
+
"calibration_version": "2026-08-12-v1",
|
|
853
|
+
"margin": 0.10147240671323177,
|
|
854
|
+
"normalized_query": "keep a very long mobile list smooth without rendering every row",
|
|
855
|
+
"query_rewrites": [],
|
|
856
|
+
"reason": "matched",
|
|
857
|
+
"runner_up_score": 3.2065985190872297,
|
|
858
|
+
"search_query": "keep a very long mobile list smooth without rendering every row",
|
|
859
|
+
"token_coverage": 0.2,
|
|
860
|
+
"top_score": 3.3080709258004615
|
|
861
|
+
},
|
|
862
|
+
"expectedRoute": null,
|
|
863
|
+
"grades": [
|
|
864
|
+
0,
|
|
865
|
+
2
|
|
866
|
+
],
|
|
867
|
+
"id": "domain-web-virtual-list-paraphrase",
|
|
868
|
+
"route": "web",
|
|
869
|
+
"scores": {
|
|
870
|
+
"mrr3": 0.5,
|
|
871
|
+
"ndcg3": 0.6309297535714574,
|
|
872
|
+
"p1": 0.0,
|
|
873
|
+
"p3": 0.3333333333333333
|
|
874
|
+
}
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
"actual": [
|
|
878
|
+
{
|
|
879
|
+
"Category": "Sans Serif",
|
|
880
|
+
"Family": "Inter"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"Category": "Sans Serif",
|
|
884
|
+
"Family": "Noto Emoji"
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"Category": "Sans Serif",
|
|
888
|
+
"Family": "Inter Tight"
|
|
889
|
+
}
|
|
890
|
+
],
|
|
891
|
+
"diagnostics": {
|
|
892
|
+
"abstained": false,
|
|
893
|
+
"calibration_version": "2026-08-12-v1",
|
|
894
|
+
"margin": 0.37747529757203324,
|
|
895
|
+
"normalized_query": "Inter variable sans serif Google font family",
|
|
896
|
+
"query_rewrites": [],
|
|
897
|
+
"reason": "matched",
|
|
898
|
+
"runner_up_score": 8.721342653469991,
|
|
899
|
+
"search_query": "Inter variable sans serif Google font family",
|
|
900
|
+
"token_coverage": 0.8571428571428571,
|
|
901
|
+
"top_score": 9.098817951042024
|
|
902
|
+
},
|
|
903
|
+
"expectedRoute": null,
|
|
904
|
+
"grades": [
|
|
905
|
+
2,
|
|
906
|
+
0,
|
|
907
|
+
1
|
|
908
|
+
],
|
|
909
|
+
"id": "domain-google-fonts-inter",
|
|
910
|
+
"route": "google-fonts",
|
|
911
|
+
"scores": {
|
|
912
|
+
"mrr3": 1.0,
|
|
913
|
+
"ndcg3": 0.9639404333166532,
|
|
914
|
+
"p1": 1.0,
|
|
915
|
+
"p3": 0.6666666666666666
|
|
916
|
+
}
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"actual": [
|
|
920
|
+
{
|
|
921
|
+
"Category": "Sans Serif",
|
|
922
|
+
"Family": "Atkinson Hyperlegible"
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
"Category": "Sans Serif",
|
|
926
|
+
"Family": "Atkinson Hyperlegible Mono"
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"Category": "Sans Serif",
|
|
930
|
+
"Family": "Atkinson Hyperlegible Next"
|
|
931
|
+
}
|
|
932
|
+
],
|
|
933
|
+
"diagnostics": {
|
|
934
|
+
"abstained": false,
|
|
935
|
+
"calibration_version": "2026-08-12-v1",
|
|
936
|
+
"margin": 0.5106003172771905,
|
|
937
|
+
"normalized_query": "hyperlegible accessible sans typeface for easier reading",
|
|
938
|
+
"query_rewrites": [],
|
|
939
|
+
"reason": "matched",
|
|
940
|
+
"runner_up_score": 6.32804090990704,
|
|
941
|
+
"search_query": "hyperlegible accessible sans typeface for easier reading",
|
|
942
|
+
"token_coverage": 0.3333333333333333,
|
|
943
|
+
"top_score": 6.8386412271842305
|
|
944
|
+
},
|
|
945
|
+
"expectedRoute": null,
|
|
946
|
+
"grades": [
|
|
947
|
+
2,
|
|
948
|
+
0,
|
|
949
|
+
1
|
|
950
|
+
],
|
|
951
|
+
"id": "domain-google-fonts-atkinson-paraphrase",
|
|
952
|
+
"route": "google-fonts",
|
|
953
|
+
"scores": {
|
|
954
|
+
"mrr3": 1.0,
|
|
955
|
+
"ndcg3": 0.9639404333166532,
|
|
956
|
+
"p1": 1.0,
|
|
957
|
+
"p3": 0.6666666666666666
|
|
958
|
+
}
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
"actual": [
|
|
962
|
+
{
|
|
963
|
+
"Category": "Components",
|
|
964
|
+
"Guideline": "Use standalone components"
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"Category": "Performance",
|
|
968
|
+
"Guideline": "Minimize bundle with standalone APIs"
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
"Category": "Testing",
|
|
972
|
+
"Guideline": "Use TestBed for component tests"
|
|
973
|
+
}
|
|
974
|
+
],
|
|
975
|
+
"diagnostics": {
|
|
976
|
+
"abstained": false,
|
|
977
|
+
"calibration_version": "2026-08-12-v1",
|
|
978
|
+
"margin": 6.566552335592893,
|
|
979
|
+
"normalized_query": "standalone Angular components for a new project",
|
|
980
|
+
"query_rewrites": [],
|
|
981
|
+
"reason": "matched",
|
|
982
|
+
"runner_up_score": 5.449976492762441,
|
|
983
|
+
"search_query": "standalone Angular components for a new project",
|
|
984
|
+
"token_coverage": 0.8,
|
|
985
|
+
"top_score": 12.016528828355334
|
|
986
|
+
},
|
|
987
|
+
"expectedRoute": null,
|
|
988
|
+
"grades": [
|
|
989
|
+
2,
|
|
990
|
+
0,
|
|
991
|
+
0
|
|
992
|
+
],
|
|
993
|
+
"id": "stack-angular-standalone",
|
|
994
|
+
"route": "stack",
|
|
995
|
+
"scores": {
|
|
996
|
+
"mrr3": 1.0,
|
|
997
|
+
"ndcg3": 1.0,
|
|
998
|
+
"p1": 1.0,
|
|
999
|
+
"p3": 0.3333333333333333
|
|
1000
|
+
}
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
"actual": [
|
|
1004
|
+
{
|
|
1005
|
+
"Category": "State",
|
|
1006
|
+
"Guideline": "Use signals for local state"
|
|
1007
|
+
},
|
|
1008
|
+
{
|
|
1009
|
+
"Category": "Components",
|
|
1010
|
+
"Guideline": "Use signals for state"
|
|
1011
|
+
},
|
|
1012
|
+
{
|
|
1013
|
+
"Category": "State",
|
|
1014
|
+
"Guideline": "Use NgRx Signal Store for complex state"
|
|
1015
|
+
}
|
|
1016
|
+
],
|
|
1017
|
+
"diagnostics": {
|
|
1018
|
+
"abstained": false,
|
|
1019
|
+
"calibration_version": "2026-08-12-v1",
|
|
1020
|
+
"margin": 6.6483199763736955,
|
|
1021
|
+
"normalized_query": "reactive local state with Angular signal primitives",
|
|
1022
|
+
"query_rewrites": [],
|
|
1023
|
+
"reason": "matched",
|
|
1024
|
+
"runner_up_score": 8.487784788196057,
|
|
1025
|
+
"search_query": "reactive local state with Angular signal primitives",
|
|
1026
|
+
"token_coverage": 0.8571428571428571,
|
|
1027
|
+
"top_score": 15.136104764569753
|
|
1028
|
+
},
|
|
1029
|
+
"expectedRoute": null,
|
|
1030
|
+
"grades": [
|
|
1031
|
+
0,
|
|
1032
|
+
2,
|
|
1033
|
+
0
|
|
1034
|
+
],
|
|
1035
|
+
"id": "stack-angular-signals-paraphrase",
|
|
1036
|
+
"route": "stack",
|
|
1037
|
+
"scores": {
|
|
1038
|
+
"mrr3": 0.5,
|
|
1039
|
+
"ndcg3": 0.6309297535714574,
|
|
1040
|
+
"p1": 0.0,
|
|
1041
|
+
"p3": 0.3333333333333333
|
|
1042
|
+
}
|
|
1043
|
+
},
|
|
1044
|
+
{
|
|
1045
|
+
"actual": [
|
|
1046
|
+
{
|
|
1047
|
+
"Category": "Architecture",
|
|
1048
|
+
"Guideline": "Use Islands Architecture"
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
"Category": "Markdown",
|
|
1052
|
+
"Guideline": "Use MDX for components"
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
"Category": "Architecture",
|
|
1056
|
+
"Guideline": "Default to zero JS"
|
|
1057
|
+
}
|
|
1058
|
+
],
|
|
1059
|
+
"diagnostics": {
|
|
1060
|
+
"abstained": false,
|
|
1061
|
+
"calibration_version": "2026-08-12-v1",
|
|
1062
|
+
"margin": 7.6348295879388655,
|
|
1063
|
+
"normalized_query": "Astro islands architecture interactive components",
|
|
1064
|
+
"query_rewrites": [],
|
|
1065
|
+
"reason": "matched",
|
|
1066
|
+
"runner_up_score": 5.447744961773134,
|
|
1067
|
+
"search_query": "Astro islands architecture interactive components",
|
|
1068
|
+
"token_coverage": 1.0,
|
|
1069
|
+
"top_score": 13.082574549712
|
|
1070
|
+
},
|
|
1071
|
+
"expectedRoute": null,
|
|
1072
|
+
"grades": [
|
|
1073
|
+
2,
|
|
1074
|
+
0,
|
|
1075
|
+
0
|
|
1076
|
+
],
|
|
1077
|
+
"id": "stack-astro-islands",
|
|
1078
|
+
"route": "stack",
|
|
1079
|
+
"scores": {
|
|
1080
|
+
"mrr3": 1.0,
|
|
1081
|
+
"ndcg3": 1.0,
|
|
1082
|
+
"p1": 1.0,
|
|
1083
|
+
"p3": 0.3333333333333333
|
|
1084
|
+
}
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"actual": [],
|
|
1088
|
+
"diagnostics": {
|
|
1089
|
+
"abstained": true,
|
|
1090
|
+
"calibration_version": "2026-08-12-v1",
|
|
1091
|
+
"margin": 4.052169367659749,
|
|
1092
|
+
"normalized_query": "ship no browser JavaScript unless interaction requires it",
|
|
1093
|
+
"query_rewrites": [],
|
|
1094
|
+
"reason": "low-confidence",
|
|
1095
|
+
"runner_up_score": 0.0,
|
|
1096
|
+
"search_query": "ship no browser JavaScript unless interaction requires it",
|
|
1097
|
+
"token_coverage": 0.16666666666666666,
|
|
1098
|
+
"top_score": 4.052169367659749
|
|
1099
|
+
},
|
|
1100
|
+
"expectedRoute": null,
|
|
1101
|
+
"grades": [],
|
|
1102
|
+
"id": "stack-astro-zero-js-paraphrase",
|
|
1103
|
+
"route": "stack",
|
|
1104
|
+
"scores": {
|
|
1105
|
+
"mrr3": 0.0,
|
|
1106
|
+
"ndcg3": 0.0,
|
|
1107
|
+
"p1": 0.0,
|
|
1108
|
+
"p3": 0.0
|
|
1109
|
+
}
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
"actual": [
|
|
1113
|
+
{
|
|
1114
|
+
"Category": "XAML",
|
|
1115
|
+
"Guideline": "Use Avalonia XAML namespace"
|
|
1116
|
+
},
|
|
1117
|
+
{
|
|
1118
|
+
"Category": "XAML",
|
|
1119
|
+
"Guideline": "Enable compiled bindings globally"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"Category": "Animation",
|
|
1123
|
+
"Guideline": "Use CSS-like keyframe animations"
|
|
1124
|
+
}
|
|
1125
|
+
],
|
|
1126
|
+
"diagnostics": {
|
|
1127
|
+
"abstained": false,
|
|
1128
|
+
"calibration_version": "2026-08-12-v1",
|
|
1129
|
+
"margin": 8.24735172482831,
|
|
1130
|
+
"normalized_query": "Avalonia XAML namespace declaration",
|
|
1131
|
+
"query_rewrites": [],
|
|
1132
|
+
"reason": "matched",
|
|
1133
|
+
"runner_up_score": 3.6580251097976015,
|
|
1134
|
+
"search_query": "Avalonia XAML namespace declaration",
|
|
1135
|
+
"token_coverage": 0.75,
|
|
1136
|
+
"top_score": 11.905376834625912
|
|
1137
|
+
},
|
|
1138
|
+
"expectedRoute": null,
|
|
1139
|
+
"grades": [
|
|
1140
|
+
2,
|
|
1141
|
+
0,
|
|
1142
|
+
0
|
|
1143
|
+
],
|
|
1144
|
+
"id": "stack-avalonia-namespace",
|
|
1145
|
+
"route": "stack",
|
|
1146
|
+
"scores": {
|
|
1147
|
+
"mrr3": 1.0,
|
|
1148
|
+
"ndcg3": 1.0,
|
|
1149
|
+
"p1": 1.0,
|
|
1150
|
+
"p3": 0.3333333333333333
|
|
1151
|
+
}
|
|
1152
|
+
},
|
|
1153
|
+
{
|
|
1154
|
+
"actual": [
|
|
1155
|
+
{
|
|
1156
|
+
"Category": "XAML",
|
|
1157
|
+
"Guideline": "Use compiled bindings with x:DataType"
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"Category": "XAML",
|
|
1161
|
+
"Guideline": "Enable compiled bindings globally"
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
"Category": "Performance",
|
|
1165
|
+
"Guideline": "Use compiled bindings and TrimmerRoots.xml for PublishAot"
|
|
1166
|
+
}
|
|
1167
|
+
],
|
|
1168
|
+
"diagnostics": {
|
|
1169
|
+
"abstained": false,
|
|
1170
|
+
"calibration_version": "2026-08-12-v1",
|
|
1171
|
+
"margin": 3.6606165467089795,
|
|
1172
|
+
"normalized_query": "type checked compiled binding with x DataType",
|
|
1173
|
+
"query_rewrites": [],
|
|
1174
|
+
"reason": "matched",
|
|
1175
|
+
"runner_up_score": 7.811951298927232,
|
|
1176
|
+
"search_query": "type checked compiled binding with x DataType",
|
|
1177
|
+
"token_coverage": 0.8333333333333334,
|
|
1178
|
+
"top_score": 11.472567845636211
|
|
1179
|
+
},
|
|
1180
|
+
"expectedRoute": null,
|
|
1181
|
+
"grades": [
|
|
1182
|
+
2,
|
|
1183
|
+
0,
|
|
1184
|
+
0
|
|
1185
|
+
],
|
|
1186
|
+
"id": "stack-avalonia-compiled-binding",
|
|
1187
|
+
"route": "stack",
|
|
1188
|
+
"scores": {
|
|
1189
|
+
"mrr3": 1.0,
|
|
1190
|
+
"ndcg3": 1.0,
|
|
1191
|
+
"p1": 1.0,
|
|
1192
|
+
"p3": 0.3333333333333333
|
|
1193
|
+
}
|
|
1194
|
+
},
|
|
1195
|
+
{
|
|
1196
|
+
"actual": [
|
|
1197
|
+
{
|
|
1198
|
+
"Category": "Widgets",
|
|
1199
|
+
"Guideline": "Use StatelessWidget when possible"
|
|
1200
|
+
},
|
|
1201
|
+
{
|
|
1202
|
+
"Category": "State",
|
|
1203
|
+
"Guideline": "Prefer Riverpod or Provider"
|
|
1204
|
+
},
|
|
1205
|
+
{
|
|
1206
|
+
"Category": "State",
|
|
1207
|
+
"Guideline": "Use setState correctly"
|
|
1208
|
+
}
|
|
1209
|
+
],
|
|
1210
|
+
"diagnostics": {
|
|
1211
|
+
"abstained": false,
|
|
1212
|
+
"calibration_version": "2026-08-12-v1",
|
|
1213
|
+
"margin": 3.902365771945936,
|
|
1214
|
+
"normalized_query": "prefer StatelessWidget when Flutter UI has no mutable state",
|
|
1215
|
+
"query_rewrites": [],
|
|
1216
|
+
"reason": "matched",
|
|
1217
|
+
"runner_up_score": 6.130414879101661,
|
|
1218
|
+
"search_query": "prefer StatelessWidget when Flutter UI has no mutable state",
|
|
1219
|
+
"token_coverage": 0.75,
|
|
1220
|
+
"top_score": 10.032780651047597
|
|
1221
|
+
},
|
|
1222
|
+
"expectedRoute": null,
|
|
1223
|
+
"grades": [
|
|
1224
|
+
2,
|
|
1225
|
+
0,
|
|
1226
|
+
0
|
|
1227
|
+
],
|
|
1228
|
+
"id": "stack-flutter-stateless",
|
|
1229
|
+
"route": "stack",
|
|
1230
|
+
"scores": {
|
|
1231
|
+
"mrr3": 1.0,
|
|
1232
|
+
"ndcg3": 1.0,
|
|
1233
|
+
"p1": 1.0,
|
|
1234
|
+
"p3": 0.3333333333333333
|
|
1235
|
+
}
|
|
1236
|
+
},
|
|
1237
|
+
{
|
|
1238
|
+
"actual": [
|
|
1239
|
+
{
|
|
1240
|
+
"Category": "Widgets",
|
|
1241
|
+
"Guideline": "Use const constructors"
|
|
1242
|
+
},
|
|
1243
|
+
{
|
|
1244
|
+
"Category": "Performance",
|
|
1245
|
+
"Guideline": "Use const widgets"
|
|
1246
|
+
},
|
|
1247
|
+
{
|
|
1248
|
+
"Category": "Widgets",
|
|
1249
|
+
"Guideline": "Use StatelessWidget when possible"
|
|
1250
|
+
}
|
|
1251
|
+
],
|
|
1252
|
+
"diagnostics": {
|
|
1253
|
+
"abstained": false,
|
|
1254
|
+
"calibration_version": "2026-08-12-v1",
|
|
1255
|
+
"margin": 2.859752022203951,
|
|
1256
|
+
"normalized_query": "reduce Flutter rebuild cost with immutable compile-time widgets",
|
|
1257
|
+
"query_rewrites": [],
|
|
1258
|
+
"reason": "matched",
|
|
1259
|
+
"runner_up_score": 6.347284919209351,
|
|
1260
|
+
"search_query": "reduce Flutter rebuild cost with immutable compile-time widgets",
|
|
1261
|
+
"token_coverage": 0.8888888888888888,
|
|
1262
|
+
"top_score": 9.207036941413302
|
|
1263
|
+
},
|
|
1264
|
+
"expectedRoute": null,
|
|
1265
|
+
"grades": [
|
|
1266
|
+
2,
|
|
1267
|
+
0,
|
|
1268
|
+
0
|
|
1269
|
+
],
|
|
1270
|
+
"id": "stack-flutter-const-paraphrase",
|
|
1271
|
+
"route": "stack",
|
|
1272
|
+
"scores": {
|
|
1273
|
+
"mrr3": 1.0,
|
|
1274
|
+
"ndcg3": 1.0,
|
|
1275
|
+
"p1": 1.0,
|
|
1276
|
+
"p3": 0.3333333333333333
|
|
1277
|
+
}
|
|
1278
|
+
},
|
|
1279
|
+
{
|
|
1280
|
+
"actual": [
|
|
1281
|
+
{
|
|
1282
|
+
"Category": "Z-Index",
|
|
1283
|
+
"Guideline": "Use Tailwind z-* scale"
|
|
1284
|
+
},
|
|
1285
|
+
{
|
|
1286
|
+
"Category": "Spacing",
|
|
1287
|
+
"Guideline": "Consistent spacing scale"
|
|
1288
|
+
},
|
|
1289
|
+
{
|
|
1290
|
+
"Category": "Performance",
|
|
1291
|
+
"Guideline": "Declare non-detected sources"
|
|
1292
|
+
}
|
|
1293
|
+
],
|
|
1294
|
+
"diagnostics": {
|
|
1295
|
+
"abstained": false,
|
|
1296
|
+
"calibration_version": "2026-08-12-v1",
|
|
1297
|
+
"margin": 3.634601707496982,
|
|
1298
|
+
"normalized_query": "Tailwind z-index utility scale for layered UI",
|
|
1299
|
+
"query_rewrites": [],
|
|
1300
|
+
"reason": "matched",
|
|
1301
|
+
"runner_up_score": 7.208515535060073,
|
|
1302
|
+
"search_query": "Tailwind z-index utility scale for layered UI",
|
|
1303
|
+
"token_coverage": 0.8333333333333334,
|
|
1304
|
+
"top_score": 10.843117242557055
|
|
1305
|
+
},
|
|
1306
|
+
"expectedRoute": null,
|
|
1307
|
+
"grades": [
|
|
1308
|
+
2,
|
|
1309
|
+
0,
|
|
1310
|
+
0
|
|
1311
|
+
],
|
|
1312
|
+
"id": "stack-html-tailwind-z-index",
|
|
1313
|
+
"route": "stack",
|
|
1314
|
+
"scores": {
|
|
1315
|
+
"mrr3": 1.0,
|
|
1316
|
+
"ndcg3": 1.0,
|
|
1317
|
+
"p1": 1.0,
|
|
1318
|
+
"p3": 0.3333333333333333
|
|
1319
|
+
}
|
|
1320
|
+
},
|
|
1321
|
+
{
|
|
1322
|
+
"actual": [
|
|
1323
|
+
{
|
|
1324
|
+
"Category": "Animation",
|
|
1325
|
+
"Guideline": "Hover transitions"
|
|
1326
|
+
},
|
|
1327
|
+
{
|
|
1328
|
+
"Category": "Layout",
|
|
1329
|
+
"Guideline": "Container queries"
|
|
1330
|
+
},
|
|
1331
|
+
{
|
|
1332
|
+
"Category": "Animation",
|
|
1333
|
+
"Guideline": "Transition duration"
|
|
1334
|
+
}
|
|
1335
|
+
],
|
|
1336
|
+
"diagnostics": {
|
|
1337
|
+
"abstained": false,
|
|
1338
|
+
"calibration_version": "2026-08-12-v1",
|
|
1339
|
+
"margin": 2.919055718924226,
|
|
1340
|
+
"normalized_query": "smooth transition when a Tailwind element is hovered",
|
|
1341
|
+
"query_rewrites": [],
|
|
1342
|
+
"reason": "matched",
|
|
1343
|
+
"runner_up_score": 4.947978221881804,
|
|
1344
|
+
"search_query": "smooth transition when a Tailwind element is hovered",
|
|
1345
|
+
"token_coverage": 0.6666666666666666,
|
|
1346
|
+
"top_score": 7.86703394080603
|
|
1347
|
+
},
|
|
1348
|
+
"expectedRoute": null,
|
|
1349
|
+
"grades": [
|
|
1350
|
+
2,
|
|
1351
|
+
0,
|
|
1352
|
+
0
|
|
1353
|
+
],
|
|
1354
|
+
"id": "stack-html-tailwind-hover",
|
|
1355
|
+
"route": "stack",
|
|
1356
|
+
"scores": {
|
|
1357
|
+
"mrr3": 1.0,
|
|
1358
|
+
"ndcg3": 1.0,
|
|
1359
|
+
"p1": 1.0,
|
|
1360
|
+
"p3": 0.3333333333333333
|
|
1361
|
+
}
|
|
1362
|
+
},
|
|
1363
|
+
{
|
|
1364
|
+
"actual": [
|
|
1365
|
+
{
|
|
1366
|
+
"Category": "Application",
|
|
1367
|
+
"Guideline": "Start UI from Application subclass"
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"Category": "Threading",
|
|
1371
|
+
"Guideline": "Update UI only on FX thread"
|
|
1372
|
+
},
|
|
1373
|
+
{
|
|
1374
|
+
"Category": "Theme",
|
|
1375
|
+
"Guideline": "Use AtlantaFX as the enterprise theme baseline"
|
|
1376
|
+
}
|
|
1377
|
+
],
|
|
1378
|
+
"diagnostics": {
|
|
1379
|
+
"abstained": false,
|
|
1380
|
+
"calibration_version": "2026-08-12-v1",
|
|
1381
|
+
"margin": 6.1251861498568685,
|
|
1382
|
+
"normalized_query": "launch JavaFX UI from an Application subclass",
|
|
1383
|
+
"query_rewrites": [],
|
|
1384
|
+
"reason": "matched",
|
|
1385
|
+
"runner_up_score": 6.8361655485691815,
|
|
1386
|
+
"search_query": "launch JavaFX UI from an Application subclass",
|
|
1387
|
+
"token_coverage": 0.8333333333333334,
|
|
1388
|
+
"top_score": 12.96135169842605
|
|
1389
|
+
},
|
|
1390
|
+
"expectedRoute": null,
|
|
1391
|
+
"grades": [
|
|
1392
|
+
2,
|
|
1393
|
+
0,
|
|
1394
|
+
0
|
|
1395
|
+
],
|
|
1396
|
+
"id": "stack-javafx-application",
|
|
1397
|
+
"route": "stack",
|
|
1398
|
+
"scores": {
|
|
1399
|
+
"mrr3": 1.0,
|
|
1400
|
+
"ndcg3": 1.0,
|
|
1401
|
+
"p1": 1.0,
|
|
1402
|
+
"p3": 0.3333333333333333
|
|
1403
|
+
}
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
"actual": [
|
|
1407
|
+
{
|
|
1408
|
+
"Category": "Threading",
|
|
1409
|
+
"Guideline": "Keep work off the FX Application Thread"
|
|
1410
|
+
},
|
|
1411
|
+
{
|
|
1412
|
+
"Category": "Threading",
|
|
1413
|
+
"Guideline": "Update UI only on FX thread"
|
|
1414
|
+
},
|
|
1415
|
+
{
|
|
1416
|
+
"Category": "CSS",
|
|
1417
|
+
"Guideline": "Use design tokens through looked-up colors"
|
|
1418
|
+
}
|
|
1419
|
+
],
|
|
1420
|
+
"diagnostics": {
|
|
1421
|
+
"abstained": false,
|
|
1422
|
+
"calibration_version": "2026-08-12-v1",
|
|
1423
|
+
"margin": 2.555947932900576,
|
|
1424
|
+
"normalized_query": "prevent slow background work from freezing the FX application thread",
|
|
1425
|
+
"query_rewrites": [],
|
|
1426
|
+
"reason": "matched",
|
|
1427
|
+
"runner_up_score": 12.976523086530914,
|
|
1428
|
+
"search_query": "prevent slow background work from freezing the FX application thread",
|
|
1429
|
+
"token_coverage": 0.6666666666666666,
|
|
1430
|
+
"top_score": 15.53247101943149
|
|
1431
|
+
},
|
|
1432
|
+
"expectedRoute": null,
|
|
1433
|
+
"grades": [
|
|
1434
|
+
2,
|
|
1435
|
+
0,
|
|
1436
|
+
0
|
|
1437
|
+
],
|
|
1438
|
+
"id": "stack-javafx-threading-paraphrase",
|
|
1439
|
+
"route": "stack",
|
|
1440
|
+
"scores": {
|
|
1441
|
+
"mrr3": 1.0,
|
|
1442
|
+
"ndcg3": 1.0,
|
|
1443
|
+
"p1": 1.0,
|
|
1444
|
+
"p3": 0.3333333333333333
|
|
1445
|
+
}
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
"actual": [
|
|
1449
|
+
{
|
|
1450
|
+
"Category": "Composable",
|
|
1451
|
+
"Guideline": "Pure UI composables"
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"Category": "State",
|
|
1455
|
+
"Guideline": "Snapshot state only"
|
|
1456
|
+
},
|
|
1457
|
+
{
|
|
1458
|
+
"Category": "Composable",
|
|
1459
|
+
"Guideline": "Small composables"
|
|
1460
|
+
}
|
|
1461
|
+
],
|
|
1462
|
+
"diagnostics": {
|
|
1463
|
+
"abstained": false,
|
|
1464
|
+
"calibration_version": "2026-08-12-v1",
|
|
1465
|
+
"margin": 2.5467806853020214,
|
|
1466
|
+
"normalized_query": "pure Jetpack Compose UI composables",
|
|
1467
|
+
"query_rewrites": [],
|
|
1468
|
+
"reason": "matched",
|
|
1469
|
+
"runner_up_score": 5.311775987059262,
|
|
1470
|
+
"search_query": "pure Jetpack Compose UI composables",
|
|
1471
|
+
"token_coverage": 0.8,
|
|
1472
|
+
"top_score": 7.858556672361283
|
|
1473
|
+
},
|
|
1474
|
+
"expectedRoute": null,
|
|
1475
|
+
"grades": [
|
|
1476
|
+
2,
|
|
1477
|
+
0,
|
|
1478
|
+
0
|
|
1479
|
+
],
|
|
1480
|
+
"id": "stack-compose-pure-ui",
|
|
1481
|
+
"route": "stack",
|
|
1482
|
+
"scores": {
|
|
1483
|
+
"mrr3": 1.0,
|
|
1484
|
+
"ndcg3": 1.0,
|
|
1485
|
+
"p1": 1.0,
|
|
1486
|
+
"p3": 0.3333333333333333
|
|
1487
|
+
}
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
"actual": [
|
|
1491
|
+
{
|
|
1492
|
+
"Category": "State",
|
|
1493
|
+
"Guideline": "Snapshot state only"
|
|
1494
|
+
},
|
|
1495
|
+
{
|
|
1496
|
+
"Category": "Layout",
|
|
1497
|
+
"Guideline": "Avoid nested scroll containers"
|
|
1498
|
+
},
|
|
1499
|
+
{
|
|
1500
|
+
"Category": "State",
|
|
1501
|
+
"Guideline": "Single source of truth"
|
|
1502
|
+
}
|
|
1503
|
+
],
|
|
1504
|
+
"diagnostics": {
|
|
1505
|
+
"abstained": false,
|
|
1506
|
+
"calibration_version": "2026-08-12-v1",
|
|
1507
|
+
"margin": 1.1660673240932597,
|
|
1508
|
+
"normalized_query": "one authoritative owner for Compose screen state",
|
|
1509
|
+
"query_rewrites": [],
|
|
1510
|
+
"reason": "matched",
|
|
1511
|
+
"runner_up_score": 5.439024678588048,
|
|
1512
|
+
"search_query": "one authoritative owner for Compose screen state",
|
|
1513
|
+
"token_coverage": 0.6666666666666666,
|
|
1514
|
+
"top_score": 6.605092002681308
|
|
1515
|
+
},
|
|
1516
|
+
"expectedRoute": null,
|
|
1517
|
+
"grades": [
|
|
1518
|
+
0,
|
|
1519
|
+
0,
|
|
1520
|
+
2
|
|
1521
|
+
],
|
|
1522
|
+
"id": "stack-compose-single-source",
|
|
1523
|
+
"route": "stack",
|
|
1524
|
+
"scores": {
|
|
1525
|
+
"mrr3": 0.3333333333333333,
|
|
1526
|
+
"ndcg3": 0.5,
|
|
1527
|
+
"p1": 0.0,
|
|
1528
|
+
"p3": 0.3333333333333333
|
|
1529
|
+
}
|
|
1530
|
+
},
|
|
1531
|
+
{
|
|
1532
|
+
"actual": [
|
|
1533
|
+
{
|
|
1534
|
+
"Category": "Blade Templates",
|
|
1535
|
+
"Guideline": "Use Blade components for reusable UI"
|
|
1536
|
+
},
|
|
1537
|
+
{
|
|
1538
|
+
"Category": "Components",
|
|
1539
|
+
"Guideline": "Use anonymous Blade components for UI primitives"
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
"Category": "Styling",
|
|
1543
|
+
"Guideline": "Set up Tailwind CSS via Vite"
|
|
1544
|
+
}
|
|
1545
|
+
],
|
|
1546
|
+
"diagnostics": {
|
|
1547
|
+
"abstained": false,
|
|
1548
|
+
"calibration_version": "2026-08-12-v1",
|
|
1549
|
+
"margin": 1.8287280502716037,
|
|
1550
|
+
"normalized_query": "reusable Laravel Blade UI components",
|
|
1551
|
+
"query_rewrites": [],
|
|
1552
|
+
"reason": "matched",
|
|
1553
|
+
"runner_up_score": 9.707535053949467,
|
|
1554
|
+
"search_query": "reusable Laravel Blade UI components",
|
|
1555
|
+
"token_coverage": 1.0,
|
|
1556
|
+
"top_score": 11.53626310422107
|
|
1557
|
+
},
|
|
1558
|
+
"expectedRoute": null,
|
|
1559
|
+
"grades": [
|
|
1560
|
+
2,
|
|
1561
|
+
0,
|
|
1562
|
+
0
|
|
1563
|
+
],
|
|
1564
|
+
"id": "stack-laravel-blade-component",
|
|
1565
|
+
"route": "stack",
|
|
1566
|
+
"scores": {
|
|
1567
|
+
"mrr3": 1.0,
|
|
1568
|
+
"ndcg3": 1.0,
|
|
1569
|
+
"p1": 1.0,
|
|
1570
|
+
"p3": 0.3333333333333333
|
|
1571
|
+
}
|
|
1572
|
+
},
|
|
1573
|
+
{
|
|
1574
|
+
"actual": [
|
|
1575
|
+
{
|
|
1576
|
+
"Category": "Blade Templates",
|
|
1577
|
+
"Guideline": "Use @props for component type-safety"
|
|
1578
|
+
},
|
|
1579
|
+
{
|
|
1580
|
+
"Category": "Livewire",
|
|
1581
|
+
"Guideline": "Bind inputs with wire:model"
|
|
1582
|
+
},
|
|
1583
|
+
{
|
|
1584
|
+
"Category": "Blade Templates",
|
|
1585
|
+
"Guideline": "Use Blade components for reusable UI"
|
|
1586
|
+
}
|
|
1587
|
+
],
|
|
1588
|
+
"diagnostics": {
|
|
1589
|
+
"abstained": false,
|
|
1590
|
+
"calibration_version": "2026-08-12-v1",
|
|
1591
|
+
"margin": 7.6191267013724495,
|
|
1592
|
+
"normalized_query": "declare typed inputs for a Blade component using props",
|
|
1593
|
+
"query_rewrites": [],
|
|
1594
|
+
"reason": "matched",
|
|
1595
|
+
"runner_up_score": 6.048108478173402,
|
|
1596
|
+
"search_query": "declare typed inputs for a Blade component using props",
|
|
1597
|
+
"token_coverage": 0.7142857142857143,
|
|
1598
|
+
"top_score": 13.667235179545852
|
|
1599
|
+
},
|
|
1600
|
+
"expectedRoute": null,
|
|
1601
|
+
"grades": [
|
|
1602
|
+
2,
|
|
1603
|
+
0,
|
|
1604
|
+
0
|
|
1605
|
+
],
|
|
1606
|
+
"id": "stack-laravel-props",
|
|
1607
|
+
"route": "stack",
|
|
1608
|
+
"scores": {
|
|
1609
|
+
"mrr3": 1.0,
|
|
1610
|
+
"ndcg3": 1.0,
|
|
1611
|
+
"p1": 1.0,
|
|
1612
|
+
"p3": 0.3333333333333333
|
|
1613
|
+
}
|
|
1614
|
+
},
|
|
1615
|
+
{
|
|
1616
|
+
"actual": [
|
|
1617
|
+
{
|
|
1618
|
+
"Category": "Routing",
|
|
1619
|
+
"Guideline": "Use App Router for new projects"
|
|
1620
|
+
},
|
|
1621
|
+
{
|
|
1622
|
+
"Category": "Routing",
|
|
1623
|
+
"Guideline": "Use file-based routing"
|
|
1624
|
+
},
|
|
1625
|
+
{
|
|
1626
|
+
"Category": "Deployment",
|
|
1627
|
+
"Guideline": "Use Vercel for easiest deploy"
|
|
1628
|
+
}
|
|
1629
|
+
],
|
|
1630
|
+
"diagnostics": {
|
|
1631
|
+
"abstained": false,
|
|
1632
|
+
"calibration_version": "2026-08-12-v1",
|
|
1633
|
+
"margin": 8.675077924446402,
|
|
1634
|
+
"normalized_query": "Next.js App Router for a new project",
|
|
1635
|
+
"query_rewrites": [],
|
|
1636
|
+
"reason": "matched",
|
|
1637
|
+
"runner_up_score": 5.757326980617933,
|
|
1638
|
+
"search_query": "Next.js App Router for a new project",
|
|
1639
|
+
"token_coverage": 0.8333333333333334,
|
|
1640
|
+
"top_score": 14.432404905064335
|
|
1641
|
+
},
|
|
1642
|
+
"expectedRoute": null,
|
|
1643
|
+
"grades": [
|
|
1644
|
+
2,
|
|
1645
|
+
0,
|
|
1646
|
+
0
|
|
1647
|
+
],
|
|
1648
|
+
"id": "stack-nextjs-app-router",
|
|
1649
|
+
"route": "stack",
|
|
1650
|
+
"scores": {
|
|
1651
|
+
"mrr3": 1.0,
|
|
1652
|
+
"ndcg3": 1.0,
|
|
1653
|
+
"p1": 1.0,
|
|
1654
|
+
"p3": 0.3333333333333333
|
|
1655
|
+
}
|
|
1656
|
+
},
|
|
1657
|
+
{
|
|
1658
|
+
"actual": [
|
|
1659
|
+
{
|
|
1660
|
+
"Category": "Rendering",
|
|
1661
|
+
"Guideline": "Use Server Components by default"
|
|
1662
|
+
},
|
|
1663
|
+
{
|
|
1664
|
+
"Category": "Rendering",
|
|
1665
|
+
"Guideline": "Use streaming for better UX"
|
|
1666
|
+
},
|
|
1667
|
+
{
|
|
1668
|
+
"Category": "Environment",
|
|
1669
|
+
"Guideline": "Use NEXT_PUBLIC prefix"
|
|
1670
|
+
}
|
|
1671
|
+
],
|
|
1672
|
+
"diagnostics": {
|
|
1673
|
+
"abstained": false,
|
|
1674
|
+
"calibration_version": "2026-08-12-v1",
|
|
1675
|
+
"margin": 1.3338457057594848,
|
|
1676
|
+
"normalized_query": "render on the server by default and opt into client boundaries",
|
|
1677
|
+
"query_rewrites": [],
|
|
1678
|
+
"reason": "matched",
|
|
1679
|
+
"runner_up_score": 9.1240740008518,
|
|
1680
|
+
"search_query": "render on the server by default and opt into client boundaries",
|
|
1681
|
+
"token_coverage": 0.7142857142857143,
|
|
1682
|
+
"top_score": 10.457919706611285
|
|
1683
|
+
},
|
|
1684
|
+
"expectedRoute": null,
|
|
1685
|
+
"grades": [
|
|
1686
|
+
2,
|
|
1687
|
+
0,
|
|
1688
|
+
0
|
|
1689
|
+
],
|
|
1690
|
+
"id": "stack-nextjs-server-components",
|
|
1691
|
+
"route": "stack",
|
|
1692
|
+
"scores": {
|
|
1693
|
+
"mrr3": 1.0,
|
|
1694
|
+
"ndcg3": 1.0,
|
|
1695
|
+
"p1": 1.0,
|
|
1696
|
+
"p3": 0.3333333333333333
|
|
1697
|
+
}
|
|
1698
|
+
},
|
|
1699
|
+
{
|
|
1700
|
+
"actual": [
|
|
1701
|
+
{
|
|
1702
|
+
"Category": "Installation",
|
|
1703
|
+
"Guideline": "Add Nuxt UI module"
|
|
1704
|
+
},
|
|
1705
|
+
{
|
|
1706
|
+
"Category": "Installation",
|
|
1707
|
+
"Guideline": "Let Nuxt UI declare module dependencies"
|
|
1708
|
+
},
|
|
1709
|
+
{
|
|
1710
|
+
"Category": "Theming",
|
|
1711
|
+
"Guideline": "Read generated theme file to find slot names"
|
|
1712
|
+
}
|
|
1713
|
+
],
|
|
1714
|
+
"diagnostics": {
|
|
1715
|
+
"abstained": false,
|
|
1716
|
+
"calibration_version": "2026-08-12-v1",
|
|
1717
|
+
"margin": 3.838208672372261,
|
|
1718
|
+
"normalized_query": "install the Nuxt UI module",
|
|
1719
|
+
"query_rewrites": [],
|
|
1720
|
+
"reason": "matched",
|
|
1721
|
+
"runner_up_score": 9.354004973008944,
|
|
1722
|
+
"search_query": "install the Nuxt UI module",
|
|
1723
|
+
"token_coverage": 1.0,
|
|
1724
|
+
"top_score": 13.192213645381205
|
|
1725
|
+
},
|
|
1726
|
+
"expectedRoute": null,
|
|
1727
|
+
"grades": [
|
|
1728
|
+
2,
|
|
1729
|
+
0,
|
|
1730
|
+
0
|
|
1731
|
+
],
|
|
1732
|
+
"id": "stack-nuxt-ui-module",
|
|
1733
|
+
"route": "stack",
|
|
1734
|
+
"scores": {
|
|
1735
|
+
"mrr3": 1.0,
|
|
1736
|
+
"ndcg3": 1.0,
|
|
1737
|
+
"p1": 1.0,
|
|
1738
|
+
"p3": 0.3333333333333333
|
|
1739
|
+
}
|
|
1740
|
+
},
|
|
1741
|
+
{
|
|
1742
|
+
"actual": [
|
|
1743
|
+
{
|
|
1744
|
+
"Category": "Components",
|
|
1745
|
+
"Guideline": "Use semantic color props"
|
|
1746
|
+
},
|
|
1747
|
+
{
|
|
1748
|
+
"Category": "Performance",
|
|
1749
|
+
"Guideline": "Enable component detection for Nuxt"
|
|
1750
|
+
},
|
|
1751
|
+
{
|
|
1752
|
+
"Category": "Theming",
|
|
1753
|
+
"Guideline": "Define complete custom palettes with @theme static"
|
|
1754
|
+
}
|
|
1755
|
+
],
|
|
1756
|
+
"diagnostics": {
|
|
1757
|
+
"abstained": false,
|
|
1758
|
+
"calibration_version": "2026-08-12-v1",
|
|
1759
|
+
"margin": 13.200313041581737,
|
|
1760
|
+
"normalized_query": "style Nuxt UI components through meaning-based color props",
|
|
1761
|
+
"query_rewrites": [],
|
|
1762
|
+
"reason": "matched",
|
|
1763
|
+
"runner_up_score": 9.334552712447977,
|
|
1764
|
+
"search_query": "style Nuxt UI components through meaning-based color props",
|
|
1765
|
+
"token_coverage": 1.0,
|
|
1766
|
+
"top_score": 22.534865754029713
|
|
1767
|
+
},
|
|
1768
|
+
"expectedRoute": null,
|
|
1769
|
+
"grades": [
|
|
1770
|
+
2,
|
|
1771
|
+
0,
|
|
1772
|
+
0
|
|
1773
|
+
],
|
|
1774
|
+
"id": "stack-nuxt-ui-semantic-color",
|
|
1775
|
+
"route": "stack",
|
|
1776
|
+
"scores": {
|
|
1777
|
+
"mrr3": 1.0,
|
|
1778
|
+
"ndcg3": 1.0,
|
|
1779
|
+
"p1": 1.0,
|
|
1780
|
+
"p3": 0.3333333333333333
|
|
1781
|
+
}
|
|
1782
|
+
},
|
|
1783
|
+
{
|
|
1784
|
+
"actual": [
|
|
1785
|
+
{
|
|
1786
|
+
"Category": "Routing",
|
|
1787
|
+
"Guideline": "Use file-based routing"
|
|
1788
|
+
},
|
|
1789
|
+
{
|
|
1790
|
+
"Category": "Routing",
|
|
1791
|
+
"Guideline": "Define page metadata with definePageMeta"
|
|
1792
|
+
},
|
|
1793
|
+
{
|
|
1794
|
+
"Category": "Lifecycle",
|
|
1795
|
+
"Guideline": "Use onPrehydrate for pre-hydration logic"
|
|
1796
|
+
}
|
|
1797
|
+
],
|
|
1798
|
+
"diagnostics": {
|
|
1799
|
+
"abstained": false,
|
|
1800
|
+
"calibration_version": "2026-08-12-v1",
|
|
1801
|
+
"margin": 5.567033399578623,
|
|
1802
|
+
"normalized_query": "Nuxt file-based page routing",
|
|
1803
|
+
"query_rewrites": [],
|
|
1804
|
+
"reason": "matched",
|
|
1805
|
+
"runner_up_score": 7.104908839950289,
|
|
1806
|
+
"search_query": "Nuxt file-based page routing",
|
|
1807
|
+
"token_coverage": 1.0,
|
|
1808
|
+
"top_score": 12.671942239528912
|
|
1809
|
+
},
|
|
1810
|
+
"expectedRoute": null,
|
|
1811
|
+
"grades": [
|
|
1812
|
+
2,
|
|
1813
|
+
0,
|
|
1814
|
+
0
|
|
1815
|
+
],
|
|
1816
|
+
"id": "stack-nuxtjs-file-routing",
|
|
1817
|
+
"route": "stack",
|
|
1818
|
+
"scores": {
|
|
1819
|
+
"mrr3": 1.0,
|
|
1820
|
+
"ndcg3": 1.0,
|
|
1821
|
+
"p1": 1.0,
|
|
1822
|
+
"p3": 0.3333333333333333
|
|
1823
|
+
}
|
|
1824
|
+
},
|
|
1825
|
+
{
|
|
1826
|
+
"actual": [
|
|
1827
|
+
{
|
|
1828
|
+
"Category": "Rendering",
|
|
1829
|
+
"Guideline": "Use .client suffix for client-only components"
|
|
1830
|
+
},
|
|
1831
|
+
{
|
|
1832
|
+
"Category": "Rendering",
|
|
1833
|
+
"Guideline": "Use .server suffix for server-only components"
|
|
1834
|
+
},
|
|
1835
|
+
{
|
|
1836
|
+
"Category": "Plugins",
|
|
1837
|
+
"Guideline": "Use .client or .server suffix"
|
|
1838
|
+
}
|
|
1839
|
+
],
|
|
1840
|
+
"diagnostics": {
|
|
1841
|
+
"abstained": false,
|
|
1842
|
+
"calibration_version": "2026-08-12-v1",
|
|
1843
|
+
"margin": 1.143178773862184,
|
|
1844
|
+
"normalized_query": "server render Nuxt pages unless a client-only boundary is necessary",
|
|
1845
|
+
"query_rewrites": [],
|
|
1846
|
+
"reason": "matched",
|
|
1847
|
+
"runner_up_score": 9.132761728060801,
|
|
1848
|
+
"search_query": "server render Nuxt pages unless a client-only boundary is necessary",
|
|
1849
|
+
"token_coverage": 0.6666666666666666,
|
|
1850
|
+
"top_score": 10.275940501922985
|
|
1851
|
+
},
|
|
1852
|
+
"expectedRoute": null,
|
|
1853
|
+
"grades": [
|
|
1854
|
+
0,
|
|
1855
|
+
0,
|
|
1856
|
+
0
|
|
1857
|
+
],
|
|
1858
|
+
"id": "stack-nuxtjs-ssr",
|
|
1859
|
+
"route": "stack",
|
|
1860
|
+
"scores": {
|
|
1861
|
+
"mrr3": 0.0,
|
|
1862
|
+
"ndcg3": 0.0,
|
|
1863
|
+
"p1": 0.0,
|
|
1864
|
+
"p3": 0.0
|
|
1865
|
+
}
|
|
1866
|
+
},
|
|
1867
|
+
{
|
|
1868
|
+
"actual": [
|
|
1869
|
+
{
|
|
1870
|
+
"Category": "Components",
|
|
1871
|
+
"Guideline": "Use functional components"
|
|
1872
|
+
},
|
|
1873
|
+
{
|
|
1874
|
+
"Category": "Animation",
|
|
1875
|
+
"Guideline": "Use gesture handler"
|
|
1876
|
+
},
|
|
1877
|
+
{
|
|
1878
|
+
"Category": "Native",
|
|
1879
|
+
"Guideline": "Use Expo when possible"
|
|
1880
|
+
}
|
|
1881
|
+
],
|
|
1882
|
+
"diagnostics": {
|
|
1883
|
+
"abstained": false,
|
|
1884
|
+
"calibration_version": "2026-08-12-v1",
|
|
1885
|
+
"margin": 4.989968098406658,
|
|
1886
|
+
"normalized_query": "functional React Native components",
|
|
1887
|
+
"query_rewrites": [],
|
|
1888
|
+
"reason": "matched",
|
|
1889
|
+
"runner_up_score": 4.1125670990542265,
|
|
1890
|
+
"search_query": "functional React Native components",
|
|
1891
|
+
"token_coverage": 1.0,
|
|
1892
|
+
"top_score": 9.102535197460885
|
|
1893
|
+
},
|
|
1894
|
+
"expectedRoute": null,
|
|
1895
|
+
"grades": [
|
|
1896
|
+
2,
|
|
1897
|
+
0,
|
|
1898
|
+
0
|
|
1899
|
+
],
|
|
1900
|
+
"id": "stack-react-native-functional",
|
|
1901
|
+
"route": "stack",
|
|
1902
|
+
"scores": {
|
|
1903
|
+
"mrr3": 1.0,
|
|
1904
|
+
"ndcg3": 1.0,
|
|
1905
|
+
"p1": 1.0,
|
|
1906
|
+
"p3": 0.3333333333333333
|
|
1907
|
+
}
|
|
1908
|
+
},
|
|
1909
|
+
{
|
|
1910
|
+
"actual": [
|
|
1911
|
+
{
|
|
1912
|
+
"Category": "Styling",
|
|
1913
|
+
"Guideline": "Avoid inline styles"
|
|
1914
|
+
},
|
|
1915
|
+
{
|
|
1916
|
+
"Category": "Styling",
|
|
1917
|
+
"Guideline": "Use StyleSheet.create"
|
|
1918
|
+
},
|
|
1919
|
+
{
|
|
1920
|
+
"Category": "Testing",
|
|
1921
|
+
"Guideline": "Use React Native Testing Library"
|
|
1922
|
+
}
|
|
1923
|
+
],
|
|
1924
|
+
"diagnostics": {
|
|
1925
|
+
"abstained": false,
|
|
1926
|
+
"calibration_version": "2026-08-12-v1",
|
|
1927
|
+
"margin": 3.145960230049914,
|
|
1928
|
+
"normalized_query": "define reusable native styles outside render instead of inline objects",
|
|
1929
|
+
"query_rewrites": [],
|
|
1930
|
+
"reason": "matched",
|
|
1931
|
+
"runner_up_score": 9.472145189558896,
|
|
1932
|
+
"search_query": "define reusable native styles outside render instead of inline objects",
|
|
1933
|
+
"token_coverage": 0.5555555555555556,
|
|
1934
|
+
"top_score": 12.61810541960881
|
|
1935
|
+
},
|
|
1936
|
+
"expectedRoute": null,
|
|
1937
|
+
"grades": [
|
|
1938
|
+
0,
|
|
1939
|
+
2,
|
|
1940
|
+
0
|
|
1941
|
+
],
|
|
1942
|
+
"id": "stack-react-native-stylesheet",
|
|
1943
|
+
"route": "stack",
|
|
1944
|
+
"scores": {
|
|
1945
|
+
"mrr3": 0.5,
|
|
1946
|
+
"ndcg3": 0.6309297535714574,
|
|
1947
|
+
"p1": 0.0,
|
|
1948
|
+
"p3": 0.3333333333333333
|
|
1949
|
+
}
|
|
1950
|
+
},
|
|
1951
|
+
{
|
|
1952
|
+
"actual": [
|
|
1953
|
+
{
|
|
1954
|
+
"Category": "State",
|
|
1955
|
+
"Guideline": "Use useState for local state"
|
|
1956
|
+
},
|
|
1957
|
+
{
|
|
1958
|
+
"Category": "Hooks",
|
|
1959
|
+
"Guideline": "Follow rules of hooks"
|
|
1960
|
+
},
|
|
1961
|
+
{
|
|
1962
|
+
"Category": "State",
|
|
1963
|
+
"Guideline": "Initialize state lazily"
|
|
1964
|
+
}
|
|
1965
|
+
],
|
|
1966
|
+
"diagnostics": {
|
|
1967
|
+
"abstained": false,
|
|
1968
|
+
"calibration_version": "2026-08-12-v1",
|
|
1969
|
+
"margin": 6.620812025571922,
|
|
1970
|
+
"normalized_query": "React useState for component local state",
|
|
1971
|
+
"query_rewrites": [],
|
|
1972
|
+
"reason": "matched",
|
|
1973
|
+
"runner_up_score": 6.214454784565012,
|
|
1974
|
+
"search_query": "React useState for component local state",
|
|
1975
|
+
"token_coverage": 1.0,
|
|
1976
|
+
"top_score": 12.835266810136934
|
|
1977
|
+
},
|
|
1978
|
+
"expectedRoute": null,
|
|
1979
|
+
"grades": [
|
|
1980
|
+
2,
|
|
1981
|
+
0,
|
|
1982
|
+
0
|
|
1983
|
+
],
|
|
1984
|
+
"id": "stack-react-usestate",
|
|
1985
|
+
"route": "stack",
|
|
1986
|
+
"scores": {
|
|
1987
|
+
"mrr3": 1.0,
|
|
1988
|
+
"ndcg3": 1.0,
|
|
1989
|
+
"p1": 1.0,
|
|
1990
|
+
"p3": 0.3333333333333333
|
|
1991
|
+
}
|
|
1992
|
+
},
|
|
1993
|
+
{
|
|
1994
|
+
"actual": [
|
|
1995
|
+
{
|
|
1996
|
+
"Category": "Effects",
|
|
1997
|
+
"Guideline": "Clean up effects"
|
|
1998
|
+
},
|
|
1999
|
+
{
|
|
2000
|
+
"Category": "Effects",
|
|
2001
|
+
"Guideline": "Specify dependencies correctly"
|
|
2002
|
+
},
|
|
2003
|
+
{
|
|
2004
|
+
"Category": "Hooks",
|
|
2005
|
+
"Guideline": "Use an Effect Event for non-reactive effect logic"
|
|
2006
|
+
}
|
|
2007
|
+
],
|
|
2008
|
+
"diagnostics": {
|
|
2009
|
+
"abstained": false,
|
|
2010
|
+
"calibration_version": "2026-08-12-v1",
|
|
2011
|
+
"margin": 1.858850894384167,
|
|
2012
|
+
"normalized_query": "remove subscriptions and timers when a React effect unmounts",
|
|
2013
|
+
"query_rewrites": [],
|
|
2014
|
+
"reason": "matched",
|
|
2015
|
+
"runner_up_score": 7.931414442853006,
|
|
2016
|
+
"search_query": "remove subscriptions and timers when a React effect unmounts",
|
|
2017
|
+
"token_coverage": 0.7142857142857143,
|
|
2018
|
+
"top_score": 9.790265337237173
|
|
2019
|
+
},
|
|
2020
|
+
"expectedRoute": null,
|
|
2021
|
+
"grades": [
|
|
2022
|
+
2,
|
|
2023
|
+
0,
|
|
2024
|
+
0
|
|
2025
|
+
],
|
|
2026
|
+
"id": "stack-react-effect-cleanup",
|
|
2027
|
+
"route": "stack",
|
|
2028
|
+
"scores": {
|
|
2029
|
+
"mrr3": 1.0,
|
|
2030
|
+
"ndcg3": 1.0,
|
|
2031
|
+
"p1": 1.0,
|
|
2032
|
+
"p3": 0.3333333333333333
|
|
2033
|
+
}
|
|
2034
|
+
},
|
|
2035
|
+
{
|
|
2036
|
+
"actual": [
|
|
2037
|
+
{
|
|
2038
|
+
"Category": "Setup",
|
|
2039
|
+
"Guideline": "Use CLI for installation"
|
|
2040
|
+
},
|
|
2041
|
+
{
|
|
2042
|
+
"Category": "Registry",
|
|
2043
|
+
"Guideline": "Inspect CLI changes before writing"
|
|
2044
|
+
},
|
|
2045
|
+
{
|
|
2046
|
+
"Category": "Registry",
|
|
2047
|
+
"Guideline": "Install public GitHub registries directly"
|
|
2048
|
+
}
|
|
2049
|
+
],
|
|
2050
|
+
"diagnostics": {
|
|
2051
|
+
"abstained": false,
|
|
2052
|
+
"calibration_version": "2026-08-12-v1",
|
|
2053
|
+
"margin": 0.5128477752968479,
|
|
2054
|
+
"normalized_query": "install shadcn components with the CLI",
|
|
2055
|
+
"query_rewrites": [],
|
|
2056
|
+
"reason": "matched",
|
|
2057
|
+
"runner_up_score": 6.736161519655241,
|
|
2058
|
+
"search_query": "install shadcn components with the CLI",
|
|
2059
|
+
"token_coverage": 1.0,
|
|
2060
|
+
"top_score": 7.249009294952089
|
|
2061
|
+
},
|
|
2062
|
+
"expectedRoute": null,
|
|
2063
|
+
"grades": [
|
|
2064
|
+
2,
|
|
2065
|
+
0,
|
|
2066
|
+
0
|
|
2067
|
+
],
|
|
2068
|
+
"id": "stack-shadcn-cli",
|
|
2069
|
+
"route": "stack",
|
|
2070
|
+
"scores": {
|
|
2071
|
+
"mrr3": 1.0,
|
|
2072
|
+
"ndcg3": 1.0,
|
|
2073
|
+
"p1": 1.0,
|
|
2074
|
+
"p3": 0.3333333333333333
|
|
2075
|
+
}
|
|
2076
|
+
},
|
|
2077
|
+
{
|
|
2078
|
+
"actual": [
|
|
2079
|
+
{
|
|
2080
|
+
"Category": "Theming",
|
|
2081
|
+
"Guideline": "Use CSS variables for colors"
|
|
2082
|
+
},
|
|
2083
|
+
{
|
|
2084
|
+
"Category": "Theming",
|
|
2085
|
+
"Guideline": "Support dark mode"
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
"Category": "Customization",
|
|
2089
|
+
"Guideline": "Create custom components"
|
|
2090
|
+
}
|
|
2091
|
+
],
|
|
2092
|
+
"diagnostics": {
|
|
2093
|
+
"abstained": false,
|
|
2094
|
+
"calibration_version": "2026-08-12-v1",
|
|
2095
|
+
"margin": 3.986634966226747,
|
|
2096
|
+
"normalized_query": "theme shadcn semantic colors through custom properties",
|
|
2097
|
+
"query_rewrites": [],
|
|
2098
|
+
"reason": "matched",
|
|
2099
|
+
"runner_up_score": 6.805101440815466,
|
|
2100
|
+
"search_query": "theme shadcn semantic colors through custom properties",
|
|
2101
|
+
"token_coverage": 0.8571428571428571,
|
|
2102
|
+
"top_score": 10.791736407042213
|
|
2103
|
+
},
|
|
2104
|
+
"expectedRoute": null,
|
|
2105
|
+
"grades": [
|
|
2106
|
+
2,
|
|
2107
|
+
0,
|
|
2108
|
+
0
|
|
2109
|
+
],
|
|
2110
|
+
"id": "stack-shadcn-css-vars",
|
|
2111
|
+
"route": "stack",
|
|
2112
|
+
"scores": {
|
|
2113
|
+
"mrr3": 1.0,
|
|
2114
|
+
"ndcg3": 1.0,
|
|
2115
|
+
"p1": 1.0,
|
|
2116
|
+
"p3": 0.3333333333333333
|
|
2117
|
+
}
|
|
2118
|
+
},
|
|
2119
|
+
{
|
|
2120
|
+
"actual": [
|
|
2121
|
+
{
|
|
2122
|
+
"Category": "Reactivity",
|
|
2123
|
+
"Guideline": "Use $state in Svelte 5"
|
|
2124
|
+
},
|
|
2125
|
+
{
|
|
2126
|
+
"Category": "Stores",
|
|
2127
|
+
"Guideline": "Use writable for mutable state"
|
|
2128
|
+
},
|
|
2129
|
+
{
|
|
2130
|
+
"Category": "SvelteKit",
|
|
2131
|
+
"Guideline": "Use $app/state for current app state"
|
|
2132
|
+
}
|
|
2133
|
+
],
|
|
2134
|
+
"diagnostics": {
|
|
2135
|
+
"abstained": false,
|
|
2136
|
+
"calibration_version": "2026-08-12-v1",
|
|
2137
|
+
"margin": 0.7256931731283558,
|
|
2138
|
+
"normalized_query": "Svelte 5 $state rune for reactive state",
|
|
2139
|
+
"query_rewrites": [],
|
|
2140
|
+
"reason": "matched",
|
|
2141
|
+
"runner_up_score": 7.628254489631688,
|
|
2142
|
+
"search_query": "Svelte 5 $state rune for reactive state",
|
|
2143
|
+
"token_coverage": 1.0,
|
|
2144
|
+
"top_score": 8.353947662760044
|
|
2145
|
+
},
|
|
2146
|
+
"expectedRoute": null,
|
|
2147
|
+
"grades": [
|
|
2148
|
+
2,
|
|
2149
|
+
0,
|
|
2150
|
+
0
|
|
2151
|
+
],
|
|
2152
|
+
"id": "stack-svelte-state",
|
|
2153
|
+
"route": "stack",
|
|
2154
|
+
"scores": {
|
|
2155
|
+
"mrr3": 1.0,
|
|
2156
|
+
"ndcg3": 1.0,
|
|
2157
|
+
"p1": 1.0,
|
|
2158
|
+
"p3": 0.3333333333333333
|
|
2159
|
+
}
|
|
2160
|
+
},
|
|
2161
|
+
{
|
|
2162
|
+
"actual": [
|
|
2163
|
+
{
|
|
2164
|
+
"Category": "Reactivity",
|
|
2165
|
+
"Guideline": "Use $effect for side effects"
|
|
2166
|
+
},
|
|
2167
|
+
{
|
|
2168
|
+
"Category": "Lifecycle",
|
|
2169
|
+
"Guideline": "Avoid beforeUpdate and afterUpdate"
|
|
2170
|
+
},
|
|
2171
|
+
{
|
|
2172
|
+
"Category": "Lifecycle",
|
|
2173
|
+
"Guideline": "Use onMount for initialization"
|
|
2174
|
+
}
|
|
2175
|
+
],
|
|
2176
|
+
"diagnostics": {
|
|
2177
|
+
"abstained": false,
|
|
2178
|
+
"calibration_version": "2026-08-12-v1",
|
|
2179
|
+
"margin": 3.023618467174618,
|
|
2180
|
+
"normalized_query": "run a Svelte 5 side effect when reactive dependencies change",
|
|
2181
|
+
"query_rewrites": [],
|
|
2182
|
+
"reason": "matched",
|
|
2183
|
+
"runner_up_score": 7.882700190739712,
|
|
2184
|
+
"search_query": "run a Svelte 5 side effect when reactive dependencies change",
|
|
2185
|
+
"token_coverage": 0.875,
|
|
2186
|
+
"top_score": 10.90631865791433
|
|
2187
|
+
},
|
|
2188
|
+
"expectedRoute": null,
|
|
2189
|
+
"grades": [
|
|
2190
|
+
2,
|
|
2191
|
+
0,
|
|
2192
|
+
0
|
|
2193
|
+
],
|
|
2194
|
+
"id": "stack-svelte-effect",
|
|
2195
|
+
"route": "stack",
|
|
2196
|
+
"scores": {
|
|
2197
|
+
"mrr3": 1.0,
|
|
2198
|
+
"ndcg3": 1.0,
|
|
2199
|
+
"p1": 1.0,
|
|
2200
|
+
"p3": 0.3333333333333333
|
|
2201
|
+
}
|
|
2202
|
+
},
|
|
2203
|
+
{
|
|
2204
|
+
"actual": [
|
|
2205
|
+
{
|
|
2206
|
+
"Category": "State",
|
|
2207
|
+
"Guideline": "Use @State for local state"
|
|
2208
|
+
},
|
|
2209
|
+
{
|
|
2210
|
+
"Category": "Views",
|
|
2211
|
+
"Guideline": "Use struct for views"
|
|
2212
|
+
},
|
|
2213
|
+
{
|
|
2214
|
+
"Category": "State",
|
|
2215
|
+
"Guideline": "Use @EnvironmentObject for shared state"
|
|
2216
|
+
}
|
|
2217
|
+
],
|
|
2218
|
+
"diagnostics": {
|
|
2219
|
+
"abstained": false,
|
|
2220
|
+
"calibration_version": "2026-08-12-v1",
|
|
2221
|
+
"margin": 7.6971805007386305,
|
|
2222
|
+
"normalized_query": "SwiftUI @State for view-local value state",
|
|
2223
|
+
"query_rewrites": [],
|
|
2224
|
+
"reason": "matched",
|
|
2225
|
+
"runner_up_score": 7.6341573731484615,
|
|
2226
|
+
"search_query": "SwiftUI @State for view-local value state",
|
|
2227
|
+
"token_coverage": 1.0,
|
|
2228
|
+
"top_score": 15.331337873887092
|
|
2229
|
+
},
|
|
2230
|
+
"expectedRoute": null,
|
|
2231
|
+
"grades": [
|
|
2232
|
+
2,
|
|
2233
|
+
0,
|
|
2234
|
+
0
|
|
2235
|
+
],
|
|
2236
|
+
"id": "stack-swiftui-state",
|
|
2237
|
+
"route": "stack",
|
|
2238
|
+
"scores": {
|
|
2239
|
+
"mrr3": 1.0,
|
|
2240
|
+
"ndcg3": 1.0,
|
|
2241
|
+
"p1": 1.0,
|
|
2242
|
+
"p3": 0.3333333333333333
|
|
2243
|
+
}
|
|
2244
|
+
},
|
|
2245
|
+
{
|
|
2246
|
+
"actual": [
|
|
2247
|
+
{
|
|
2248
|
+
"Category": "Navigation",
|
|
2249
|
+
"Guideline": "Use NavigationStack or NavigationSplitView (iOS 16+)"
|
|
2250
|
+
},
|
|
2251
|
+
{
|
|
2252
|
+
"Category": "Observable",
|
|
2253
|
+
"Guideline": "Use @Observable macro (iOS 17+)"
|
|
2254
|
+
},
|
|
2255
|
+
{
|
|
2256
|
+
"Category": "Navigation",
|
|
2257
|
+
"Guideline": "Use navigationDestination"
|
|
2258
|
+
}
|
|
2259
|
+
],
|
|
2260
|
+
"diagnostics": {
|
|
2261
|
+
"abstained": false,
|
|
2262
|
+
"calibration_version": "2026-08-12-v1",
|
|
2263
|
+
"margin": 5.209907857758237,
|
|
2264
|
+
"normalized_query": "modern value-driven iOS navigation container replacing NavigationView",
|
|
2265
|
+
"query_rewrites": [],
|
|
2266
|
+
"reason": "matched",
|
|
2267
|
+
"runner_up_score": 5.839858032176647,
|
|
2268
|
+
"search_query": "modern value-driven iOS navigation container replacing NavigationView",
|
|
2269
|
+
"token_coverage": 0.625,
|
|
2270
|
+
"top_score": 11.049765889934884
|
|
2271
|
+
},
|
|
2272
|
+
"expectedRoute": null,
|
|
2273
|
+
"grades": [
|
|
2274
|
+
2,
|
|
2275
|
+
0,
|
|
2276
|
+
0
|
|
2277
|
+
],
|
|
2278
|
+
"id": "stack-swiftui-navigation",
|
|
2279
|
+
"route": "stack",
|
|
2280
|
+
"scores": {
|
|
2281
|
+
"mrr3": 1.0,
|
|
2282
|
+
"ndcg3": 1.0,
|
|
2283
|
+
"p1": 1.0,
|
|
2284
|
+
"p3": 0.3333333333333333
|
|
2285
|
+
}
|
|
2286
|
+
},
|
|
2287
|
+
{
|
|
2288
|
+
"actual": [
|
|
2289
|
+
{
|
|
2290
|
+
"Category": "Setup",
|
|
2291
|
+
"Guideline": "Import OrbitControls from Three.js Addons"
|
|
2292
|
+
},
|
|
2293
|
+
{
|
|
2294
|
+
"Category": "Camera",
|
|
2295
|
+
"Guideline": "OrbitControls vs GSAP Camera Rig"
|
|
2296
|
+
},
|
|
2297
|
+
{
|
|
2298
|
+
"Category": "Production",
|
|
2299
|
+
"Guideline": "Bundler Stack for Production"
|
|
2300
|
+
}
|
|
2301
|
+
],
|
|
2302
|
+
"diagnostics": {
|
|
2303
|
+
"abstained": false,
|
|
2304
|
+
"calibration_version": "2026-08-12-v1",
|
|
2305
|
+
"margin": 7.080993541615083,
|
|
2306
|
+
"normalized_query": "Three.js OrbitControls must be imported separately",
|
|
2307
|
+
"query_rewrites": [],
|
|
2308
|
+
"reason": "matched",
|
|
2309
|
+
"runner_up_score": 8.686482541063965,
|
|
2310
|
+
"search_query": "Three.js OrbitControls must be imported separately",
|
|
2311
|
+
"token_coverage": 1.0,
|
|
2312
|
+
"top_score": 15.767476082679048
|
|
2313
|
+
},
|
|
2314
|
+
"expectedRoute": null,
|
|
2315
|
+
"grades": [
|
|
2316
|
+
2,
|
|
2317
|
+
0,
|
|
2318
|
+
0
|
|
2319
|
+
],
|
|
2320
|
+
"id": "stack-threejs-orbitcontrols",
|
|
2321
|
+
"route": "stack",
|
|
2322
|
+
"scores": {
|
|
2323
|
+
"mrr3": 1.0,
|
|
2324
|
+
"ndcg3": 1.0,
|
|
2325
|
+
"p1": 1.0,
|
|
2326
|
+
"p3": 0.3333333333333333
|
|
2327
|
+
}
|
|
2328
|
+
},
|
|
2329
|
+
{
|
|
2330
|
+
"actual": [
|
|
2331
|
+
{
|
|
2332
|
+
"Category": "Setup",
|
|
2333
|
+
"Guideline": "Pixel Ratio Cap at 2"
|
|
2334
|
+
},
|
|
2335
|
+
{
|
|
2336
|
+
"Category": "Setup",
|
|
2337
|
+
"Guideline": "Single Renderer Per Page"
|
|
2338
|
+
},
|
|
2339
|
+
{
|
|
2340
|
+
"Category": "Raycasting",
|
|
2341
|
+
"Guideline": "NDC Mouse Coordinates"
|
|
2342
|
+
}
|
|
2343
|
+
],
|
|
2344
|
+
"diagnostics": {
|
|
2345
|
+
"abstained": false,
|
|
2346
|
+
"calibration_version": "2026-08-12-v1",
|
|
2347
|
+
"margin": 3.131031647168797,
|
|
2348
|
+
"normalized_query": "avoid excessive GPU work on retina screens by limiting renderer DPR",
|
|
2349
|
+
"query_rewrites": [],
|
|
2350
|
+
"reason": "matched",
|
|
2351
|
+
"runner_up_score": 4.455624545484412,
|
|
2352
|
+
"search_query": "avoid excessive GPU work on retina screens by limiting renderer DPR",
|
|
2353
|
+
"token_coverage": 0.4444444444444444,
|
|
2354
|
+
"top_score": 7.586656192653209
|
|
2355
|
+
},
|
|
2356
|
+
"expectedRoute": null,
|
|
2357
|
+
"grades": [
|
|
2358
|
+
2,
|
|
2359
|
+
0,
|
|
2360
|
+
0
|
|
2361
|
+
],
|
|
2362
|
+
"id": "stack-threejs-pixel-ratio",
|
|
2363
|
+
"route": "stack",
|
|
2364
|
+
"scores": {
|
|
2365
|
+
"mrr3": 1.0,
|
|
2366
|
+
"ndcg3": 1.0,
|
|
2367
|
+
"p1": 1.0,
|
|
2368
|
+
"p3": 0.3333333333333333
|
|
2369
|
+
}
|
|
2370
|
+
},
|
|
2371
|
+
{
|
|
2372
|
+
"actual": [
|
|
2373
|
+
{
|
|
2374
|
+
"Category": "XAML",
|
|
2375
|
+
"Guideline": "Use Uno.WinUI not Uno.UI for new projects"
|
|
2376
|
+
},
|
|
2377
|
+
{
|
|
2378
|
+
"Category": "XAML",
|
|
2379
|
+
"Guideline": "Use WinUI XAML API surface"
|
|
2380
|
+
},
|
|
2381
|
+
{
|
|
2382
|
+
"Category": "XAML",
|
|
2383
|
+
"Guideline": "Check API implementation status"
|
|
2384
|
+
}
|
|
2385
|
+
],
|
|
2386
|
+
"diagnostics": {
|
|
2387
|
+
"abstained": false,
|
|
2388
|
+
"calibration_version": "2026-08-12-v1",
|
|
2389
|
+
"margin": 2.18446684719442,
|
|
2390
|
+
"normalized_query": "Uno Platform WinUI XAML API surface",
|
|
2391
|
+
"query_rewrites": [],
|
|
2392
|
+
"reason": "matched",
|
|
2393
|
+
"runner_up_score": 13.621042404831824,
|
|
2394
|
+
"search_query": "Uno Platform WinUI XAML API surface",
|
|
2395
|
+
"token_coverage": 1.0,
|
|
2396
|
+
"top_score": 15.805509252026244
|
|
2397
|
+
},
|
|
2398
|
+
"expectedRoute": null,
|
|
2399
|
+
"grades": [
|
|
2400
|
+
0,
|
|
2401
|
+
2,
|
|
2402
|
+
0
|
|
2403
|
+
],
|
|
2404
|
+
"id": "stack-uno-winui-xaml",
|
|
2405
|
+
"route": "stack",
|
|
2406
|
+
"scores": {
|
|
2407
|
+
"mrr3": 0.5,
|
|
2408
|
+
"ndcg3": 0.6309297535714574,
|
|
2409
|
+
"p1": 0.0,
|
|
2410
|
+
"p3": 0.3333333333333333
|
|
2411
|
+
}
|
|
2412
|
+
},
|
|
2413
|
+
{
|
|
2414
|
+
"actual": [
|
|
2415
|
+
{
|
|
2416
|
+
"Category": "XAML",
|
|
2417
|
+
"Guideline": "Use Uno.WinUI not Uno.UI for new projects"
|
|
2418
|
+
},
|
|
2419
|
+
{
|
|
2420
|
+
"Category": "Architecture",
|
|
2421
|
+
"Guideline": "Use Uno.Sdk with UnoFeatures"
|
|
2422
|
+
},
|
|
2423
|
+
{
|
|
2424
|
+
"Category": "XAML",
|
|
2425
|
+
"Guideline": "Use WinUI XAML API surface"
|
|
2426
|
+
}
|
|
2427
|
+
],
|
|
2428
|
+
"diagnostics": {
|
|
2429
|
+
"abstained": false,
|
|
2430
|
+
"calibration_version": "2026-08-12-v1",
|
|
2431
|
+
"margin": 2.474983201534247,
|
|
2432
|
+
"normalized_query": "choose the modern Uno WinUI package instead of the legacy Uno UI package",
|
|
2433
|
+
"query_rewrites": [],
|
|
2434
|
+
"reason": "matched",
|
|
2435
|
+
"runner_up_score": 11.430679226720533,
|
|
2436
|
+
"search_query": "choose the modern Uno WinUI package instead of the legacy Uno UI package",
|
|
2437
|
+
"token_coverage": 0.75,
|
|
2438
|
+
"top_score": 13.90566242825478
|
|
2439
|
+
},
|
|
2440
|
+
"expectedRoute": null,
|
|
2441
|
+
"grades": [
|
|
2442
|
+
2,
|
|
2443
|
+
0,
|
|
2444
|
+
0
|
|
2445
|
+
],
|
|
2446
|
+
"id": "stack-uno-package-paraphrase",
|
|
2447
|
+
"route": "stack",
|
|
2448
|
+
"scores": {
|
|
2449
|
+
"mrr3": 1.0,
|
|
2450
|
+
"ndcg3": 1.0,
|
|
2451
|
+
"p1": 1.0,
|
|
2452
|
+
"p3": 0.3333333333333333
|
|
2453
|
+
}
|
|
2454
|
+
},
|
|
2455
|
+
{
|
|
2456
|
+
"actual": [
|
|
2457
|
+
{
|
|
2458
|
+
"Category": "Performance",
|
|
2459
|
+
"Guideline": "Use compiled bindings in DataTemplates"
|
|
2460
|
+
},
|
|
2461
|
+
{
|
|
2462
|
+
"Category": "XAML",
|
|
2463
|
+
"Guideline": "Use x:Bind for compiled bindings"
|
|
2464
|
+
},
|
|
2465
|
+
{
|
|
2466
|
+
"Category": "Data Binding",
|
|
2467
|
+
"Guideline": "Specify Mode on x:Bind"
|
|
2468
|
+
}
|
|
2469
|
+
],
|
|
2470
|
+
"diagnostics": {
|
|
2471
|
+
"abstained": false,
|
|
2472
|
+
"calibration_version": "2026-08-12-v1",
|
|
2473
|
+
"margin": 0.6373481771241885,
|
|
2474
|
+
"normalized_query": "UWP compiled x:Bind data binding",
|
|
2475
|
+
"query_rewrites": [],
|
|
2476
|
+
"reason": "matched",
|
|
2477
|
+
"runner_up_score": 8.905312026216578,
|
|
2478
|
+
"search_query": "UWP compiled x:Bind data binding",
|
|
2479
|
+
"token_coverage": 1.0,
|
|
2480
|
+
"top_score": 9.542660203340766
|
|
2481
|
+
},
|
|
2482
|
+
"expectedRoute": null,
|
|
2483
|
+
"grades": [
|
|
2484
|
+
0,
|
|
2485
|
+
2,
|
|
2486
|
+
0
|
|
2487
|
+
],
|
|
2488
|
+
"id": "stack-uwp-xbind",
|
|
2489
|
+
"route": "stack",
|
|
2490
|
+
"scores": {
|
|
2491
|
+
"mrr3": 0.5,
|
|
2492
|
+
"ndcg3": 0.6309297535714574,
|
|
2493
|
+
"p1": 0.0,
|
|
2494
|
+
"p3": 0.3333333333333333
|
|
2495
|
+
}
|
|
2496
|
+
},
|
|
2497
|
+
{
|
|
2498
|
+
"actual": [
|
|
2499
|
+
{
|
|
2500
|
+
"Category": "Architecture",
|
|
2501
|
+
"Guideline": "Prefer WinUI 3 for new projects"
|
|
2502
|
+
}
|
|
2503
|
+
],
|
|
2504
|
+
"diagnostics": {
|
|
2505
|
+
"abstained": false,
|
|
2506
|
+
"calibration_version": "2026-08-12-v1",
|
|
2507
|
+
"margin": 0.0,
|
|
2508
|
+
"normalized_query": "which Windows UI framework should a brand new app choose instead of legacy UWP",
|
|
2509
|
+
"query_rewrites": [],
|
|
2510
|
+
"reason": "exact-identifier",
|
|
2511
|
+
"runner_up_score": 0.0,
|
|
2512
|
+
"search_query": "which Windows UI framework should a brand new app choose instead of legacy UWP",
|
|
2513
|
+
"token_coverage": 1.0,
|
|
2514
|
+
"top_score": 0.0
|
|
2515
|
+
},
|
|
2516
|
+
"expectedRoute": null,
|
|
2517
|
+
"grades": [
|
|
2518
|
+
2
|
|
2519
|
+
],
|
|
2520
|
+
"id": "stack-uwp-migration",
|
|
2521
|
+
"route": "stack",
|
|
2522
|
+
"scores": {
|
|
2523
|
+
"mrr3": 1.0,
|
|
2524
|
+
"ndcg3": 1.0,
|
|
2525
|
+
"p1": 1.0,
|
|
2526
|
+
"p3": 0.3333333333333333
|
|
2527
|
+
}
|
|
2528
|
+
},
|
|
2529
|
+
{
|
|
2530
|
+
"actual": [
|
|
2531
|
+
{
|
|
2532
|
+
"Category": "Composition",
|
|
2533
|
+
"Guideline": "Use Composition API for new projects"
|
|
2534
|
+
},
|
|
2535
|
+
{
|
|
2536
|
+
"Category": "State",
|
|
2537
|
+
"Guideline": "Use Pinia for global state"
|
|
2538
|
+
},
|
|
2539
|
+
{
|
|
2540
|
+
"Category": "Routing",
|
|
2541
|
+
"Guideline": "Use useRouter and useRoute"
|
|
2542
|
+
}
|
|
2543
|
+
],
|
|
2544
|
+
"diagnostics": {
|
|
2545
|
+
"abstained": false,
|
|
2546
|
+
"calibration_version": "2026-08-12-v1",
|
|
2547
|
+
"margin": 6.4068166691600625,
|
|
2548
|
+
"normalized_query": "Vue Composition API for a new project",
|
|
2549
|
+
"query_rewrites": [],
|
|
2550
|
+
"reason": "matched",
|
|
2551
|
+
"runner_up_score": 5.421650203321847,
|
|
2552
|
+
"search_query": "Vue Composition API for a new project",
|
|
2553
|
+
"token_coverage": 0.8,
|
|
2554
|
+
"top_score": 11.82846687248191
|
|
2555
|
+
},
|
|
2556
|
+
"expectedRoute": null,
|
|
2557
|
+
"grades": [
|
|
2558
|
+
2,
|
|
2559
|
+
0,
|
|
2560
|
+
0
|
|
2561
|
+
],
|
|
2562
|
+
"id": "stack-vue-composition",
|
|
2563
|
+
"route": "stack",
|
|
2564
|
+
"scores": {
|
|
2565
|
+
"mrr3": 1.0,
|
|
2566
|
+
"ndcg3": 1.0,
|
|
2567
|
+
"p1": 1.0,
|
|
2568
|
+
"p3": 0.3333333333333333
|
|
2569
|
+
}
|
|
2570
|
+
},
|
|
2571
|
+
{
|
|
2572
|
+
"actual": [
|
|
2573
|
+
{
|
|
2574
|
+
"Category": "State",
|
|
2575
|
+
"Guideline": "Use Pinia for global state"
|
|
2576
|
+
},
|
|
2577
|
+
{
|
|
2578
|
+
"Category": "State",
|
|
2579
|
+
"Guideline": "Use storeToRefs for destructuring"
|
|
2580
|
+
},
|
|
2581
|
+
{
|
|
2582
|
+
"Category": "Testing",
|
|
2583
|
+
"Guideline": "Use Vue Test Utils"
|
|
2584
|
+
}
|
|
2585
|
+
],
|
|
2586
|
+
"diagnostics": {
|
|
2587
|
+
"abstained": false,
|
|
2588
|
+
"calibration_version": "2026-08-12-v1",
|
|
2589
|
+
"margin": 4.676899858440489,
|
|
2590
|
+
"normalized_query": "central shared Vue application state store",
|
|
2591
|
+
"query_rewrites": [],
|
|
2592
|
+
"reason": "matched",
|
|
2593
|
+
"runner_up_score": 7.2049605094668205,
|
|
2594
|
+
"search_query": "central shared Vue application state store",
|
|
2595
|
+
"token_coverage": 0.6666666666666666,
|
|
2596
|
+
"top_score": 11.88186036790731
|
|
2597
|
+
},
|
|
2598
|
+
"expectedRoute": null,
|
|
2599
|
+
"grades": [
|
|
2600
|
+
2,
|
|
2601
|
+
0,
|
|
2602
|
+
0
|
|
2603
|
+
],
|
|
2604
|
+
"id": "stack-vue-pinia",
|
|
2605
|
+
"route": "stack",
|
|
2606
|
+
"scores": {
|
|
2607
|
+
"mrr3": 1.0,
|
|
2608
|
+
"ndcg3": 1.0,
|
|
2609
|
+
"p1": 1.0,
|
|
2610
|
+
"p3": 0.3333333333333333
|
|
2611
|
+
}
|
|
2612
|
+
},
|
|
2613
|
+
{
|
|
2614
|
+
"actual": [
|
|
2615
|
+
{
|
|
2616
|
+
"Category": "Controls",
|
|
2617
|
+
"Guideline": "Use InfoBar for status messages"
|
|
2618
|
+
},
|
|
2619
|
+
{
|
|
2620
|
+
"Category": "Threading",
|
|
2621
|
+
"Guideline": "Use DispatcherQueue not Dispatcher"
|
|
2622
|
+
},
|
|
2623
|
+
{
|
|
2624
|
+
"Category": "Styling",
|
|
2625
|
+
"Guideline": "Use WinUI theme resources"
|
|
2626
|
+
}
|
|
2627
|
+
],
|
|
2628
|
+
"diagnostics": {
|
|
2629
|
+
"abstained": false,
|
|
2630
|
+
"calibration_version": "2026-08-12-v1",
|
|
2631
|
+
"margin": 12.161783844325017,
|
|
2632
|
+
"normalized_query": "WinUI InfoBar for status messages",
|
|
2633
|
+
"query_rewrites": [],
|
|
2634
|
+
"reason": "matched",
|
|
2635
|
+
"runner_up_score": 4.9098159337083285,
|
|
2636
|
+
"search_query": "WinUI InfoBar for status messages",
|
|
2637
|
+
"token_coverage": 1.0,
|
|
2638
|
+
"top_score": 17.071599778033345
|
|
2639
|
+
},
|
|
2640
|
+
"expectedRoute": null,
|
|
2641
|
+
"grades": [
|
|
2642
|
+
2,
|
|
2643
|
+
0,
|
|
2644
|
+
0
|
|
2645
|
+
],
|
|
2646
|
+
"id": "stack-winui-infobar",
|
|
2647
|
+
"route": "stack",
|
|
2648
|
+
"scores": {
|
|
2649
|
+
"mrr3": 1.0,
|
|
2650
|
+
"ndcg3": 1.0,
|
|
2651
|
+
"p1": 1.0,
|
|
2652
|
+
"p3": 0.3333333333333333
|
|
2653
|
+
}
|
|
2654
|
+
},
|
|
2655
|
+
{
|
|
2656
|
+
"actual": [
|
|
2657
|
+
{
|
|
2658
|
+
"Category": "Threading",
|
|
2659
|
+
"Guideline": "Use DispatcherQueue not Dispatcher"
|
|
2660
|
+
},
|
|
2661
|
+
{
|
|
2662
|
+
"Category": "Navigation",
|
|
2663
|
+
"Guideline": "Handle back navigation"
|
|
2664
|
+
},
|
|
2665
|
+
{
|
|
2666
|
+
"Category": "Threading",
|
|
2667
|
+
"Guideline": "Use async/await for IO operations"
|
|
2668
|
+
}
|
|
2669
|
+
],
|
|
2670
|
+
"diagnostics": {
|
|
2671
|
+
"abstained": false,
|
|
2672
|
+
"calibration_version": "2026-08-12-v1",
|
|
2673
|
+
"margin": 4.012547394878277,
|
|
2674
|
+
"normalized_query": "marshal a WinUI update back onto the UI thread with the modern dispatcher",
|
|
2675
|
+
"query_rewrites": [],
|
|
2676
|
+
"reason": "matched",
|
|
2677
|
+
"runner_up_score": 8.687245749390007,
|
|
2678
|
+
"search_query": "marshal a WinUI update back onto the UI thread with the modern dispatcher",
|
|
2679
|
+
"token_coverage": 0.7,
|
|
2680
|
+
"top_score": 12.699793144268284
|
|
2681
|
+
},
|
|
2682
|
+
"expectedRoute": null,
|
|
2683
|
+
"grades": [
|
|
2684
|
+
2,
|
|
2685
|
+
0,
|
|
2686
|
+
0
|
|
2687
|
+
],
|
|
2688
|
+
"id": "stack-winui-dispatcherqueue",
|
|
2689
|
+
"route": "stack",
|
|
2690
|
+
"scores": {
|
|
2691
|
+
"mrr3": 1.0,
|
|
2692
|
+
"ndcg3": 1.0,
|
|
2693
|
+
"p1": 1.0,
|
|
2694
|
+
"p3": 0.3333333333333333
|
|
2695
|
+
}
|
|
2696
|
+
},
|
|
2697
|
+
{
|
|
2698
|
+
"actual": [
|
|
2699
|
+
{
|
|
2700
|
+
"Category": "Data Binding",
|
|
2701
|
+
"Guideline": "Implement INotifyPropertyChanged"
|
|
2702
|
+
},
|
|
2703
|
+
{
|
|
2704
|
+
"Category": "Data Binding",
|
|
2705
|
+
"Guideline": "Use UpdateSourceTrigger appropriately"
|
|
2706
|
+
},
|
|
2707
|
+
{
|
|
2708
|
+
"Category": "Architecture",
|
|
2709
|
+
"Guideline": "Use MVVM pattern"
|
|
2710
|
+
}
|
|
2711
|
+
],
|
|
2712
|
+
"diagnostics": {
|
|
2713
|
+
"abstained": false,
|
|
2714
|
+
"calibration_version": "2026-08-12-v1",
|
|
2715
|
+
"margin": 2.942132689217268,
|
|
2716
|
+
"normalized_query": "WPF INotifyPropertyChanged data binding updates",
|
|
2717
|
+
"query_rewrites": [],
|
|
2718
|
+
"reason": "matched",
|
|
2719
|
+
"runner_up_score": 6.693068956030353,
|
|
2720
|
+
"search_query": "WPF INotifyPropertyChanged data binding updates",
|
|
2721
|
+
"token_coverage": 1.0,
|
|
2722
|
+
"top_score": 9.635201645247621
|
|
2723
|
+
},
|
|
2724
|
+
"expectedRoute": null,
|
|
2725
|
+
"grades": [
|
|
2726
|
+
2,
|
|
2727
|
+
0,
|
|
2728
|
+
0
|
|
2729
|
+
],
|
|
2730
|
+
"id": "stack-wpf-property-change",
|
|
2731
|
+
"route": "stack",
|
|
2732
|
+
"scores": {
|
|
2733
|
+
"mrr3": 1.0,
|
|
2734
|
+
"ndcg3": 1.0,
|
|
2735
|
+
"p1": 1.0,
|
|
2736
|
+
"p3": 0.3333333333333333
|
|
2737
|
+
}
|
|
2738
|
+
},
|
|
2739
|
+
{
|
|
2740
|
+
"actual": [
|
|
2741
|
+
{
|
|
2742
|
+
"Category": "Data Binding",
|
|
2743
|
+
"Guideline": "Use ObservableCollection for lists"
|
|
2744
|
+
},
|
|
2745
|
+
{
|
|
2746
|
+
"Category": "Performance",
|
|
2747
|
+
"Guideline": "Use async for long operations"
|
|
2748
|
+
},
|
|
2749
|
+
{
|
|
2750
|
+
"Category": "Performance",
|
|
2751
|
+
"Guideline": "Use VirtualizingStackPanel for large lists"
|
|
2752
|
+
}
|
|
2753
|
+
],
|
|
2754
|
+
"diagnostics": {
|
|
2755
|
+
"abstained": false,
|
|
2756
|
+
"calibration_version": "2026-08-12-v1",
|
|
2757
|
+
"margin": 2.3840109708535895,
|
|
2758
|
+
"normalized_query": "keep a huge WPF list responsive by only creating visible item containers",
|
|
2759
|
+
"query_rewrites": [],
|
|
2760
|
+
"reason": "matched",
|
|
2761
|
+
"runner_up_score": 7.386388596971386,
|
|
2762
|
+
"search_query": "keep a huge WPF list responsive by only creating visible item containers",
|
|
2763
|
+
"token_coverage": 0.7,
|
|
2764
|
+
"top_score": 9.770399567824976
|
|
2765
|
+
},
|
|
2766
|
+
"expectedRoute": null,
|
|
2767
|
+
"grades": [
|
|
2768
|
+
0,
|
|
2769
|
+
0,
|
|
2770
|
+
2
|
|
2771
|
+
],
|
|
2772
|
+
"id": "stack-wpf-virtualization",
|
|
2773
|
+
"route": "stack",
|
|
2774
|
+
"scores": {
|
|
2775
|
+
"mrr3": 0.3333333333333333,
|
|
2776
|
+
"ndcg3": 0.5,
|
|
2777
|
+
"p1": 0.0,
|
|
2778
|
+
"p3": 0.3333333333333333
|
|
2779
|
+
}
|
|
2780
|
+
},
|
|
2781
|
+
{
|
|
2782
|
+
"actual": [
|
|
2783
|
+
{
|
|
2784
|
+
"Category": "Accessibility",
|
|
2785
|
+
"Issue": "Focus Not Obscured (Enhanced)"
|
|
2786
|
+
},
|
|
2787
|
+
{
|
|
2788
|
+
"Category": "Accessibility",
|
|
2789
|
+
"Issue": "Focus Not Obscured (Minimum)"
|
|
2790
|
+
},
|
|
2791
|
+
{
|
|
2792
|
+
"Category": "Accessibility",
|
|
2793
|
+
"Issue": "Keyboard Navigation"
|
|
2794
|
+
}
|
|
2795
|
+
],
|
|
2796
|
+
"diagnostics": {
|
|
2797
|
+
"abstained": false,
|
|
2798
|
+
"calibration_version": "2026-08-12-v1",
|
|
2799
|
+
"margin": 0.40507227614749475,
|
|
2800
|
+
"normalized_query": "WCAG keyboard accessibility and visible focus",
|
|
2801
|
+
"query_rewrites": [],
|
|
2802
|
+
"reason": "matched",
|
|
2803
|
+
"runner_up_score": 11.718159532722154,
|
|
2804
|
+
"search_query": "WCAG keyboard accessibility and visible focus",
|
|
2805
|
+
"token_coverage": 1.0,
|
|
2806
|
+
"top_score": 12.12323180886965
|
|
2807
|
+
},
|
|
2808
|
+
"expectedRoute": "ux",
|
|
2809
|
+
"grades": [
|
|
2810
|
+
0,
|
|
2811
|
+
0,
|
|
2812
|
+
2
|
|
2813
|
+
],
|
|
2814
|
+
"id": "auto-route-accessibility",
|
|
2815
|
+
"route": "ux",
|
|
2816
|
+
"scores": {
|
|
2817
|
+
"mrr3": 0.3333333333333333,
|
|
2818
|
+
"ndcg3": 0.41311732856427996,
|
|
2819
|
+
"p1": 0.0,
|
|
2820
|
+
"p3": 0.3333333333333333
|
|
2821
|
+
}
|
|
2822
|
+
},
|
|
2823
|
+
{
|
|
2824
|
+
"actual": [
|
|
2825
|
+
{
|
|
2826
|
+
"Product Type": "E-commerce Luxury"
|
|
2827
|
+
},
|
|
2828
|
+
{
|
|
2829
|
+
"Product Type": "Creative Agency"
|
|
2830
|
+
},
|
|
2831
|
+
{
|
|
2832
|
+
"Product Type": "Architecture / Interior"
|
|
2833
|
+
}
|
|
2834
|
+
],
|
|
2835
|
+
"diagnostics": {
|
|
2836
|
+
"abstained": false,
|
|
2837
|
+
"calibration_version": "2026-08-12-v1",
|
|
2838
|
+
"margin": 0.0,
|
|
2839
|
+
"normalized_query": "hex color palette accent foreground destructive tokens",
|
|
2840
|
+
"query_rewrites": [],
|
|
2841
|
+
"reason": "matched",
|
|
2842
|
+
"runner_up_score": 1.3810723013506525,
|
|
2843
|
+
"search_query": "hex color palette accent foreground destructive tokens",
|
|
2844
|
+
"token_coverage": 0.14285714285714285,
|
|
2845
|
+
"top_score": 1.3810723013506525
|
|
2846
|
+
},
|
|
2847
|
+
"expectedRoute": "color",
|
|
2848
|
+
"grades": [
|
|
2849
|
+
0,
|
|
2850
|
+
0,
|
|
2851
|
+
0
|
|
2852
|
+
],
|
|
2853
|
+
"id": "auto-route-color",
|
|
2854
|
+
"route": "color",
|
|
2855
|
+
"scores": {
|
|
2856
|
+
"mrr3": 0.0,
|
|
2857
|
+
"ndcg3": 0.0,
|
|
2858
|
+
"p1": 0.0,
|
|
2859
|
+
"p3": 0.0
|
|
2860
|
+
}
|
|
2861
|
+
},
|
|
2862
|
+
{
|
|
2863
|
+
"actual": [
|
|
2864
|
+
{
|
|
2865
|
+
"Data Type": "Correlation / Distribution"
|
|
2866
|
+
},
|
|
2867
|
+
{
|
|
2868
|
+
"Data Type": "Distribution / Statistical"
|
|
2869
|
+
},
|
|
2870
|
+
{
|
|
2871
|
+
"Data Type": "Flow / Process Data"
|
|
2872
|
+
}
|
|
2873
|
+
],
|
|
2874
|
+
"diagnostics": {
|
|
2875
|
+
"abstained": false,
|
|
2876
|
+
"calibration_version": "2026-08-12-v1",
|
|
2877
|
+
"margin": 6.972147018311762,
|
|
2878
|
+
"normalized_query": "scatter chart for correlation distribution",
|
|
2879
|
+
"query_rewrites": [],
|
|
2880
|
+
"reason": "matched",
|
|
2881
|
+
"runner_up_score": 3.0089233768269104,
|
|
2882
|
+
"search_query": "scatter chart for correlation distribution",
|
|
2883
|
+
"token_coverage": 1.0,
|
|
2884
|
+
"top_score": 9.981070395138673
|
|
2885
|
+
},
|
|
2886
|
+
"expectedRoute": "chart",
|
|
2887
|
+
"grades": [
|
|
2888
|
+
2,
|
|
2889
|
+
0,
|
|
2890
|
+
0
|
|
2891
|
+
],
|
|
2892
|
+
"id": "auto-route-chart",
|
|
2893
|
+
"route": "chart",
|
|
2894
|
+
"scores": {
|
|
2895
|
+
"mrr3": 1.0,
|
|
2896
|
+
"ndcg3": 1.0,
|
|
2897
|
+
"p1": 1.0,
|
|
2898
|
+
"p3": 0.3333333333333333
|
|
2899
|
+
}
|
|
2900
|
+
},
|
|
2901
|
+
{
|
|
2902
|
+
"actual": [
|
|
2903
|
+
{
|
|
2904
|
+
"Pattern Name": "Hero + Testimonials + CTA"
|
|
2905
|
+
},
|
|
2906
|
+
{
|
|
2907
|
+
"Pattern Name": "Pricing Page + CTA"
|
|
2908
|
+
},
|
|
2909
|
+
{
|
|
2910
|
+
"Pattern Name": "AI Personalization Landing"
|
|
2911
|
+
}
|
|
2912
|
+
],
|
|
2913
|
+
"diagnostics": {
|
|
2914
|
+
"abstained": false,
|
|
2915
|
+
"calibration_version": "2026-08-12-v1",
|
|
2916
|
+
"margin": 1.3351764977325598,
|
|
2917
|
+
"normalized_query": "hero testimonials CTA conversion landing page",
|
|
2918
|
+
"query_rewrites": [],
|
|
2919
|
+
"reason": "matched",
|
|
2920
|
+
"runner_up_score": 5.878339153207031,
|
|
2921
|
+
"search_query": "hero testimonials CTA conversion landing page",
|
|
2922
|
+
"token_coverage": 1.0,
|
|
2923
|
+
"top_score": 7.21351565093959
|
|
2924
|
+
},
|
|
2925
|
+
"expectedRoute": "landing",
|
|
2926
|
+
"grades": [
|
|
2927
|
+
2,
|
|
2928
|
+
0,
|
|
2929
|
+
0
|
|
2930
|
+
],
|
|
2931
|
+
"id": "auto-route-landing",
|
|
2932
|
+
"route": "landing",
|
|
2933
|
+
"scores": {
|
|
2934
|
+
"mrr3": 1.0,
|
|
2935
|
+
"ndcg3": 0.8262346571285599,
|
|
2936
|
+
"p1": 1.0,
|
|
2937
|
+
"p3": 0.3333333333333333
|
|
2938
|
+
}
|
|
2939
|
+
},
|
|
2940
|
+
{
|
|
2941
|
+
"actual": [
|
|
2942
|
+
{
|
|
2943
|
+
"Category": "Monospace",
|
|
2944
|
+
"Family": "JetBrains Mono"
|
|
2945
|
+
},
|
|
2946
|
+
{
|
|
2947
|
+
"Category": "Sans Serif",
|
|
2948
|
+
"Family": "Noto Sans Mono"
|
|
2949
|
+
},
|
|
2950
|
+
{
|
|
2951
|
+
"Category": "Monospace",
|
|
2952
|
+
"Family": "Kode Mono"
|
|
2953
|
+
}
|
|
2954
|
+
],
|
|
2955
|
+
"diagnostics": {
|
|
2956
|
+
"abstained": false,
|
|
2957
|
+
"calibration_version": "2026-08-12-v1",
|
|
2958
|
+
"margin": 6.278618538174246,
|
|
2959
|
+
"normalized_query": "JetBrains Mono Google font family variable styles",
|
|
2960
|
+
"query_rewrites": [],
|
|
2961
|
+
"reason": "matched",
|
|
2962
|
+
"runner_up_score": 8.97732007305582,
|
|
2963
|
+
"search_query": "JetBrains Mono Google font family variable styles",
|
|
2964
|
+
"token_coverage": 0.7142857142857143,
|
|
2965
|
+
"top_score": 15.255938611230066
|
|
2966
|
+
},
|
|
2967
|
+
"expectedRoute": "google-fonts",
|
|
2968
|
+
"grades": [
|
|
2969
|
+
2,
|
|
2970
|
+
0,
|
|
2971
|
+
0
|
|
2972
|
+
],
|
|
2973
|
+
"id": "auto-route-fonts",
|
|
2974
|
+
"route": "google-fonts",
|
|
2975
|
+
"scores": {
|
|
2976
|
+
"mrr3": 1.0,
|
|
2977
|
+
"ndcg3": 1.0,
|
|
2978
|
+
"p1": 1.0,
|
|
2979
|
+
"p3": 0.3333333333333333
|
|
2980
|
+
}
|
|
2981
|
+
},
|
|
2982
|
+
{
|
|
2983
|
+
"actual": [
|
|
2984
|
+
{
|
|
2985
|
+
"Category": "Status",
|
|
2986
|
+
"Icon Name": "warning"
|
|
2987
|
+
},
|
|
2988
|
+
{
|
|
2989
|
+
"Category": "Status",
|
|
2990
|
+
"Icon Name": "warning-circle"
|
|
2991
|
+
},
|
|
2992
|
+
{
|
|
2993
|
+
"Category": "Guideline",
|
|
2994
|
+
"Icon Name": "icon-context-accessibility"
|
|
2995
|
+
}
|
|
2996
|
+
],
|
|
2997
|
+
"diagnostics": {
|
|
2998
|
+
"abstained": false,
|
|
2999
|
+
"calibration_version": "2026-08-12-v1",
|
|
3000
|
+
"margin": 7.395932347359384,
|
|
3001
|
+
"normalized_query": "Phosphor warning icon glyph for danger status",
|
|
3002
|
+
"query_rewrites": [],
|
|
3003
|
+
"reason": "matched",
|
|
3004
|
+
"runner_up_score": 6.630280470695599,
|
|
3005
|
+
"search_query": "Phosphor warning icon glyph for danger status",
|
|
3006
|
+
"token_coverage": 0.8333333333333334,
|
|
3007
|
+
"top_score": 14.026212818054983
|
|
3008
|
+
},
|
|
3009
|
+
"expectedRoute": "icons",
|
|
3010
|
+
"grades": [
|
|
3011
|
+
2,
|
|
3012
|
+
1,
|
|
3013
|
+
0
|
|
3014
|
+
],
|
|
3015
|
+
"id": "auto-route-icons",
|
|
3016
|
+
"route": "icons",
|
|
3017
|
+
"scores": {
|
|
3018
|
+
"mrr3": 1.0,
|
|
3019
|
+
"ndcg3": 1.0,
|
|
3020
|
+
"p1": 1.0,
|
|
3021
|
+
"p3": 0.6666666666666666
|
|
3022
|
+
}
|
|
3023
|
+
},
|
|
3024
|
+
{
|
|
3025
|
+
"actual": [
|
|
3026
|
+
{
|
|
3027
|
+
"Category": "Stagger List",
|
|
3028
|
+
"Intensity Tier": "Complex",
|
|
3029
|
+
"Trigger": "load or scroll"
|
|
3030
|
+
},
|
|
3031
|
+
{
|
|
3032
|
+
"Category": "Scroll Reveal",
|
|
3033
|
+
"Intensity Tier": "Subtle",
|
|
3034
|
+
"Trigger": "scroll (viewport enter)"
|
|
3035
|
+
},
|
|
3036
|
+
{
|
|
3037
|
+
"Category": "Stagger List",
|
|
3038
|
+
"Intensity Tier": "Subtle",
|
|
3039
|
+
"Trigger": "load or scroll"
|
|
3040
|
+
}
|
|
3041
|
+
],
|
|
3042
|
+
"diagnostics": {
|
|
3043
|
+
"abstained": false,
|
|
3044
|
+
"calibration_version": "2026-08-12-v1",
|
|
3045
|
+
"margin": 1.2795521952300577,
|
|
3046
|
+
"normalized_query": "GSAP ScrollTrigger stagger reveal animation",
|
|
3047
|
+
"query_rewrites": [
|
|
3048
|
+
"gsap->animation",
|
|
3049
|
+
"scrolltrigger->scroll"
|
|
3050
|
+
],
|
|
3051
|
+
"reason": "matched",
|
|
3052
|
+
"runner_up_score": 3.4546110204576452,
|
|
3053
|
+
"search_query": "GSAP ScrollTrigger stagger reveal animation animation scroll",
|
|
3054
|
+
"token_coverage": 0.6666666666666666,
|
|
3055
|
+
"top_score": 4.734163215687703
|
|
3056
|
+
},
|
|
3057
|
+
"expectedRoute": "gsap",
|
|
3058
|
+
"grades": [
|
|
3059
|
+
0,
|
|
3060
|
+
0,
|
|
3061
|
+
0
|
|
3062
|
+
],
|
|
3063
|
+
"id": "auto-route-gsap",
|
|
3064
|
+
"route": "gsap",
|
|
3065
|
+
"scores": {
|
|
3066
|
+
"mrr3": 0.0,
|
|
3067
|
+
"ndcg3": 0.0,
|
|
3068
|
+
"p1": 0.0,
|
|
3069
|
+
"p3": 0.0
|
|
3070
|
+
}
|
|
3071
|
+
},
|
|
3072
|
+
{
|
|
3073
|
+
"actual": [
|
|
3074
|
+
{
|
|
3075
|
+
"Category": "Async Waterfall",
|
|
3076
|
+
"Issue": "Suspense Boundaries"
|
|
3077
|
+
},
|
|
3078
|
+
{
|
|
3079
|
+
"Category": "Async Waterfall",
|
|
3080
|
+
"Issue": "API Route Optimization"
|
|
3081
|
+
},
|
|
3082
|
+
{
|
|
3083
|
+
"Category": "Server",
|
|
3084
|
+
"Issue": "React.cache Dedup"
|
|
3085
|
+
}
|
|
3086
|
+
],
|
|
3087
|
+
"diagnostics": {
|
|
3088
|
+
"abstained": false,
|
|
3089
|
+
"calibration_version": "2026-08-12-v1",
|
|
3090
|
+
"margin": 1.8048143700680992,
|
|
3091
|
+
"normalized_query": "React Suspense waterfall bundle rerender optimization",
|
|
3092
|
+
"query_rewrites": [],
|
|
3093
|
+
"reason": "matched",
|
|
3094
|
+
"runner_up_score": 5.931874048973622,
|
|
3095
|
+
"search_query": "React Suspense waterfall bundle rerender optimization",
|
|
3096
|
+
"token_coverage": 1.0,
|
|
3097
|
+
"top_score": 7.736688419041721
|
|
3098
|
+
},
|
|
3099
|
+
"expectedRoute": "react",
|
|
3100
|
+
"grades": [
|
|
3101
|
+
2,
|
|
3102
|
+
0,
|
|
3103
|
+
0
|
|
3104
|
+
],
|
|
3105
|
+
"id": "auto-route-react",
|
|
3106
|
+
"route": "react",
|
|
3107
|
+
"scores": {
|
|
3108
|
+
"mrr3": 1.0,
|
|
3109
|
+
"ndcg3": 1.0,
|
|
3110
|
+
"p1": 1.0,
|
|
3111
|
+
"p3": 0.3333333333333333
|
|
3112
|
+
}
|
|
3113
|
+
},
|
|
3114
|
+
{
|
|
3115
|
+
"falsePositiveTargets": [],
|
|
3116
|
+
"falsePositives": 0,
|
|
3117
|
+
"id": "negative-gibberish-alpha",
|
|
3118
|
+
"negativeChecks": 34
|
|
3119
|
+
},
|
|
3120
|
+
{
|
|
3121
|
+
"falsePositiveTargets": [],
|
|
3122
|
+
"falsePositives": 0,
|
|
3123
|
+
"id": "negative-gibberish-numeric",
|
|
3124
|
+
"negativeChecks": 34
|
|
3125
|
+
},
|
|
3126
|
+
{
|
|
3127
|
+
"falsePositiveTargets": [],
|
|
3128
|
+
"falsePositives": 0,
|
|
3129
|
+
"id": "negative-geography-fact",
|
|
3130
|
+
"negativeChecks": 34
|
|
3131
|
+
},
|
|
3132
|
+
{
|
|
3133
|
+
"falsePositiveTargets": [
|
|
3134
|
+
"domain:ux",
|
|
3135
|
+
"domain:google-fonts",
|
|
3136
|
+
"stack:threejs",
|
|
3137
|
+
"stack:winui"
|
|
3138
|
+
],
|
|
3139
|
+
"falsePositives": 4,
|
|
3140
|
+
"id": "negative-math-proof",
|
|
3141
|
+
"negativeChecks": 34
|
|
3142
|
+
},
|
|
3143
|
+
{
|
|
3144
|
+
"falsePositiveTargets": [],
|
|
3145
|
+
"falsePositives": 0,
|
|
3146
|
+
"id": "negative-cooking",
|
|
3147
|
+
"negativeChecks": 34
|
|
3148
|
+
},
|
|
3149
|
+
{
|
|
3150
|
+
"falsePositiveTargets": [],
|
|
3151
|
+
"falsePositives": 0,
|
|
3152
|
+
"id": "negative-biology",
|
|
3153
|
+
"negativeChecks": 34
|
|
3154
|
+
},
|
|
3155
|
+
{
|
|
3156
|
+
"actual": {
|
|
3157
|
+
"category": "Beauty/Spa/Wellness Service",
|
|
3158
|
+
"pattern": "Hero + Testimonials + CTA",
|
|
3159
|
+
"style": "Soft UI Evolution"
|
|
3160
|
+
},
|
|
3161
|
+
"coherence": [
|
|
3162
|
+
true,
|
|
3163
|
+
true,
|
|
3164
|
+
true,
|
|
3165
|
+
true
|
|
3166
|
+
],
|
|
3167
|
+
"id": "design-system-spa"
|
|
3168
|
+
},
|
|
3169
|
+
{
|
|
3170
|
+
"actual": {
|
|
3171
|
+
"category": "Cybersecurity Platform",
|
|
3172
|
+
"pattern": "Real-Time / Operations Landing",
|
|
3173
|
+
"style": "Cyberpunk UI"
|
|
3174
|
+
},
|
|
3175
|
+
"coherence": [
|
|
3176
|
+
true,
|
|
3177
|
+
true,
|
|
3178
|
+
true,
|
|
3179
|
+
true
|
|
3180
|
+
],
|
|
3181
|
+
"id": "design-system-cybersecurity-dark"
|
|
3182
|
+
},
|
|
3183
|
+
{
|
|
3184
|
+
"actual": {
|
|
3185
|
+
"category": "SaaS (General)",
|
|
3186
|
+
"pattern": "Hero + Features + CTA",
|
|
3187
|
+
"style": "Glassmorphism"
|
|
3188
|
+
},
|
|
3189
|
+
"coherence": [
|
|
3190
|
+
true,
|
|
3191
|
+
true,
|
|
3192
|
+
true,
|
|
3193
|
+
true
|
|
3194
|
+
],
|
|
3195
|
+
"id": "design-system-saas"
|
|
3196
|
+
},
|
|
3197
|
+
{
|
|
3198
|
+
"actual": {
|
|
3199
|
+
"category": "Healthcare App",
|
|
3200
|
+
"pattern": "Hero + Testimonials + CTA",
|
|
3201
|
+
"style": "Neumorphism"
|
|
3202
|
+
},
|
|
3203
|
+
"coherence": [
|
|
3204
|
+
true,
|
|
3205
|
+
true,
|
|
3206
|
+
true,
|
|
3207
|
+
true
|
|
3208
|
+
],
|
|
3209
|
+
"id": "design-system-healthcare"
|
|
3210
|
+
},
|
|
3211
|
+
{
|
|
3212
|
+
"actual": {
|
|
3213
|
+
"category": "Portfolio/Personal",
|
|
3214
|
+
"pattern": "Scroll-Triggered Storytelling",
|
|
3215
|
+
"style": "Brutalism"
|
|
3216
|
+
},
|
|
3217
|
+
"coherence": [
|
|
3218
|
+
true,
|
|
3219
|
+
true,
|
|
3220
|
+
true,
|
|
3221
|
+
true,
|
|
3222
|
+
true
|
|
3223
|
+
],
|
|
3224
|
+
"id": "design-system-portfolio-dark"
|
|
3225
|
+
},
|
|
3226
|
+
{
|
|
3227
|
+
"actual": {
|
|
3228
|
+
"category": "Fintech/Crypto",
|
|
3229
|
+
"pattern": "Trust & Authority + Conversion",
|
|
3230
|
+
"style": "Minimalism & Swiss Style"
|
|
3231
|
+
},
|
|
3232
|
+
"coherence": [
|
|
3233
|
+
true,
|
|
3234
|
+
true,
|
|
3235
|
+
true,
|
|
3236
|
+
true
|
|
3237
|
+
],
|
|
3238
|
+
"id": "design-system-fintech-dark"
|
|
3239
|
+
},
|
|
3240
|
+
{
|
|
3241
|
+
"actual": {
|
|
3242
|
+
"category": "Beauty/Spa/Wellness Service",
|
|
3243
|
+
"pattern": "Hero + Testimonials + CTA",
|
|
3244
|
+
"style": "Soft UI Evolution"
|
|
3245
|
+
},
|
|
3246
|
+
"coherence": [
|
|
3247
|
+
true,
|
|
3248
|
+
true,
|
|
3249
|
+
true,
|
|
3250
|
+
true
|
|
3251
|
+
],
|
|
3252
|
+
"id": "design-system-spa-paraphrase"
|
|
3253
|
+
},
|
|
3254
|
+
{
|
|
3255
|
+
"actual": {
|
|
3256
|
+
"category": "Cybersecurity Platform",
|
|
3257
|
+
"pattern": "Real-Time / Operations Landing",
|
|
3258
|
+
"style": "Cyberpunk UI"
|
|
3259
|
+
},
|
|
3260
|
+
"coherence": [
|
|
3261
|
+
true,
|
|
3262
|
+
true,
|
|
3263
|
+
true,
|
|
3264
|
+
true
|
|
3265
|
+
],
|
|
3266
|
+
"id": "design-system-cyber-typo"
|
|
3267
|
+
}
|
|
3268
|
+
],
|
|
3269
|
+
"metrics": {
|
|
3270
|
+
"designSystemCoherence": 1.0,
|
|
3271
|
+
"mrrAt3": 0.868421052631579,
|
|
3272
|
+
"ndcgAt3": 0.861015560539328,
|
|
3273
|
+
"negativeAbstention": 0.9803921568627451,
|
|
3274
|
+
"precisionAt1": 0.8157894736842105,
|
|
3275
|
+
"precisionAt3": 0.3815789473684211,
|
|
3276
|
+
"routingAccuracy": 1.0,
|
|
3277
|
+
"typoRecoveryAt3": 1.0
|
|
3278
|
+
},
|
|
3279
|
+
"oracleFingerprint": "02e7226428c64a995ec24ae104ce4d186f5f91bf0f062556e90ef9b0fcb6d67a",
|
|
3280
|
+
"runtimeFingerprint": "3f902a88e2f9bd5f12965664cd31a60a31117de69f8b19ad1968536ea3c984b7",
|
|
3281
|
+
"samples": {
|
|
3282
|
+
"cases": 90,
|
|
3283
|
+
"designSystem": 8,
|
|
3284
|
+
"domain:chart": 2,
|
|
3285
|
+
"domain:color": 2,
|
|
3286
|
+
"domain:google-fonts": 2,
|
|
3287
|
+
"domain:gsap": 2,
|
|
3288
|
+
"domain:icons": 2,
|
|
3289
|
+
"domain:landing": 2,
|
|
3290
|
+
"domain:product": 2,
|
|
3291
|
+
"domain:react": 2,
|
|
3292
|
+
"domain:style": 2,
|
|
3293
|
+
"domain:typography": 2,
|
|
3294
|
+
"domain:ux": 2,
|
|
3295
|
+
"domain:web": 2,
|
|
3296
|
+
"negativeChecks": 204,
|
|
3297
|
+
"retrieval": 76,
|
|
3298
|
+
"routing": 8,
|
|
3299
|
+
"stack:angular": 2,
|
|
3300
|
+
"stack:astro": 2,
|
|
3301
|
+
"stack:avalonia": 2,
|
|
3302
|
+
"stack:flutter": 2,
|
|
3303
|
+
"stack:html-tailwind": 2,
|
|
3304
|
+
"stack:javafx": 2,
|
|
3305
|
+
"stack:jetpack-compose": 2,
|
|
3306
|
+
"stack:laravel": 2,
|
|
3307
|
+
"stack:nextjs": 2,
|
|
3308
|
+
"stack:nuxt-ui": 2,
|
|
3309
|
+
"stack:nuxtjs": 2,
|
|
3310
|
+
"stack:react": 2,
|
|
3311
|
+
"stack:react-native": 2,
|
|
3312
|
+
"stack:shadcn": 2,
|
|
3313
|
+
"stack:svelte": 2,
|
|
3314
|
+
"stack:swiftui": 2,
|
|
3315
|
+
"stack:threejs": 2,
|
|
3316
|
+
"stack:uno": 2,
|
|
3317
|
+
"stack:uwp": 2,
|
|
3318
|
+
"stack:vue": 2,
|
|
3319
|
+
"stack:winui": 2,
|
|
3320
|
+
"stack:wpf": 2,
|
|
3321
|
+
"typo": 5
|
|
3322
|
+
},
|
|
3323
|
+
"schemaVersion": 1,
|
|
3324
|
+
"splits": {
|
|
3325
|
+
"calibration": {
|
|
3326
|
+
"metrics": {
|
|
3327
|
+
"designSystemCoherence": 1.0,
|
|
3328
|
+
"mrrAt3": 0.9316239316239316,
|
|
3329
|
+
"ndcgAt3": 0.9182517276204706,
|
|
3330
|
+
"negativeAbstention": 1.0,
|
|
3331
|
+
"precisionAt1": 0.8974358974358975,
|
|
3332
|
+
"precisionAt3": 0.40170940170940167,
|
|
3333
|
+
"routingAccuracy": 1.0,
|
|
3334
|
+
"typoRecoveryAt3": 0.0
|
|
3335
|
+
},
|
|
3336
|
+
"samples": {
|
|
3337
|
+
"cases": 46,
|
|
3338
|
+
"designSystem": 4,
|
|
3339
|
+
"negativeChecks": 102,
|
|
3340
|
+
"retrieval": 39,
|
|
3341
|
+
"routing": 5,
|
|
3342
|
+
"typo": 0
|
|
3343
|
+
}
|
|
3344
|
+
},
|
|
3345
|
+
"held_out": {
|
|
3346
|
+
"metrics": {
|
|
3347
|
+
"designSystemCoherence": 1.0,
|
|
3348
|
+
"mrrAt3": 0.8018018018018018,
|
|
3349
|
+
"ndcgAt3": 0.8006855465889345,
|
|
3350
|
+
"negativeAbstention": 0.9607843137254902,
|
|
3351
|
+
"precisionAt1": 0.7297297297297297,
|
|
3352
|
+
"precisionAt3": 0.36036036036036034,
|
|
3353
|
+
"routingAccuracy": 1.0,
|
|
3354
|
+
"typoRecoveryAt3": 1.0
|
|
3355
|
+
},
|
|
3356
|
+
"samples": {
|
|
3357
|
+
"cases": 44,
|
|
3358
|
+
"designSystem": 4,
|
|
3359
|
+
"negativeChecks": 102,
|
|
3360
|
+
"retrieval": 37,
|
|
3361
|
+
"routing": 3,
|
|
3362
|
+
"typo": 5
|
|
3363
|
+
}
|
|
3364
|
+
}
|
|
3365
|
+
}
|
|
3366
|
+
}
|