@oods/component-contracts 0.3.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.
@@ -0,0 +1,2209 @@
1
+ {
2
+ "schemaVersion": "2.0.0",
3
+ "kind": "component-reconciliation-proposal",
4
+ "baselineCommit": "a5638cf819bdadb86e2336c4aabe9b2184699c13",
5
+ "planningCommit": "8ce349076e7e3ba3f0b2f3f667d4fbb5c6a4b63b",
6
+ "status": "proposed-awaiting-approval",
7
+ "controllingObligationDenominator": 110,
8
+ "approvedRuntimeCensus": null,
9
+ "proposedRuntimeCensus": 110,
10
+ "rows": [
11
+ {
12
+ "id": "AddressCollectionPanel",
13
+ "proposedClassification": "recipe",
14
+ "proposedResolution": {
15
+ "surface": "html",
16
+ "implementation": "renderAddressCollectionPanel",
17
+ "source": "packages/mcp-server/src/render/component-map.ts",
18
+ "primitive": "html:section",
19
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
20
+ },
21
+ "approvalState": "pending-approval",
22
+ "evidence": [
23
+ "packages/mcp-server/src/render/component-map.ts#renderAddressCollectionPanel",
24
+ "traits/core/Addressable.trait.yaml",
25
+ "packages/components-react/evidence/react-readiness.v1.json#AddressCollectionPanel",
26
+ "packages/components-vue/evidence/vue-readiness.v1.json#AddressCollectionPanel",
27
+ "packages/component-contracts/src/contracts.ts#AddressCollectionPanel"
28
+ ],
29
+ "implementationStatus": "implemented-evidence-complete",
30
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
31
+ },
32
+ {
33
+ "id": "AddressEditor",
34
+ "proposedClassification": "recipe",
35
+ "proposedResolution": {
36
+ "surface": "html",
37
+ "implementation": "renderAddressEditor",
38
+ "source": "packages/mcp-server/src/render/component-map.ts",
39
+ "primitive": "html:form",
40
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
41
+ },
42
+ "approvalState": "pending-approval",
43
+ "evidence": [
44
+ "packages/mcp-server/src/render/component-map.ts#renderAddressEditor",
45
+ "traits/core/Addressable.trait.yaml",
46
+ "packages/components-react/evidence/react-readiness.v1.json#AddressEditor",
47
+ "packages/components-vue/evidence/vue-readiness.v1.json#AddressEditor",
48
+ "packages/component-contracts/src/contracts.ts#AddressEditor"
49
+ ],
50
+ "implementationStatus": "implemented-evidence-complete",
51
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
52
+ },
53
+ {
54
+ "id": "AddressSummaryBadge",
55
+ "proposedClassification": "recipe",
56
+ "proposedResolution": {
57
+ "surface": "html",
58
+ "implementation": "renderAddressSummaryBadge",
59
+ "source": "packages/mcp-server/src/render/component-map.ts",
60
+ "primitive": "html:span",
61
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
62
+ },
63
+ "approvalState": "pending-approval",
64
+ "evidence": [
65
+ "packages/mcp-server/src/render/component-map.ts#renderAddressSummaryBadge",
66
+ "traits/core/Addressable.trait.yaml",
67
+ "packages/components-react/evidence/react-readiness.v1.json#AddressSummaryBadge",
68
+ "packages/components-vue/evidence/vue-readiness.v1.json#AddressSummaryBadge",
69
+ "packages/component-contracts/src/contracts.ts#AddressSummaryBadge"
70
+ ],
71
+ "implementationStatus": "implemented-evidence-complete",
72
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
73
+ },
74
+ {
75
+ "id": "AddressValidationTimeline",
76
+ "proposedClassification": "recipe",
77
+ "proposedResolution": {
78
+ "surface": "html",
79
+ "implementation": "renderAddressValidationTimeline",
80
+ "source": "packages/mcp-server/src/render/component-map.ts",
81
+ "primitive": "html:div",
82
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
83
+ },
84
+ "approvalState": "pending-approval",
85
+ "evidence": [
86
+ "packages/mcp-server/src/render/component-map.ts#renderAddressValidationTimeline",
87
+ "traits/core/Addressable.trait.yaml",
88
+ "packages/components-react/evidence/react-readiness.v1.json#AddressValidationTimeline",
89
+ "packages/components-vue/evidence/vue-readiness.v1.json#AddressValidationTimeline",
90
+ "packages/component-contracts/src/contracts.ts#AddressValidationTimeline"
91
+ ],
92
+ "implementationStatus": "implemented-evidence-complete",
93
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
94
+ },
95
+ {
96
+ "id": "ArchiveEvent",
97
+ "proposedClassification": "recipe",
98
+ "proposedResolution": {
99
+ "surface": "html",
100
+ "implementation": "renderArchiveEvent",
101
+ "source": "packages/mcp-server/src/render/component-map.ts",
102
+ "primitive": "html:article",
103
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
104
+ },
105
+ "approvalState": "pending-approval",
106
+ "evidence": [
107
+ "packages/mcp-server/src/render/component-map.ts#renderArchiveEvent",
108
+ "traits/lifecycle/Archivable.trait.yaml"
109
+ ],
110
+ "implementationStatus": "pending",
111
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
112
+ },
113
+ {
114
+ "id": "ArchivePill",
115
+ "proposedClassification": "recipe",
116
+ "proposedResolution": {
117
+ "surface": "html",
118
+ "implementation": "renderArchivePill",
119
+ "source": "packages/mcp-server/src/render/component-map.ts",
120
+ "primitive": "html:span",
121
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
122
+ },
123
+ "approvalState": "pending-approval",
124
+ "evidence": [
125
+ "packages/mcp-server/src/render/component-map.ts#renderArchivePill",
126
+ "traits/lifecycle/Archivable.trait.yaml",
127
+ "packages/components-react/evidence/react-readiness.v1.json#ArchivePill",
128
+ "packages/components-vue/evidence/vue-readiness.v1.json#ArchivePill",
129
+ "packages/component-contracts/src/contracts.ts#ArchivePill"
130
+ ],
131
+ "implementationStatus": "implemented-evidence-complete",
132
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
133
+ },
134
+ {
135
+ "id": "ArchiveSummary",
136
+ "proposedClassification": "recipe",
137
+ "proposedResolution": {
138
+ "surface": "html",
139
+ "implementation": "renderArchiveSummary",
140
+ "source": "packages/mcp-server/src/render/component-map.ts",
141
+ "primitive": "html:section",
142
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
143
+ },
144
+ "approvalState": "pending-approval",
145
+ "evidence": [
146
+ "packages/mcp-server/src/render/component-map.ts#renderArchiveSummary",
147
+ "traits/lifecycle/Archivable.trait.yaml",
148
+ "packages/components-react/evidence/react-readiness.v1.json#ArchiveSummary",
149
+ "packages/components-vue/evidence/vue-readiness.v1.json#ArchiveSummary",
150
+ "packages/component-contracts/src/contracts.ts#ArchiveSummary"
151
+ ],
152
+ "implementationStatus": "implemented-evidence-complete",
153
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
154
+ },
155
+ {
156
+ "id": "ArchivedRowOverlay",
157
+ "proposedClassification": "native",
158
+ "approvalState": "pending-approval",
159
+ "evidence": [
160
+ "traits/lifecycle/Archivable.trait.yaml",
161
+ "packages/components-react/evidence/react-readiness.v1.json#ArchivedRowOverlay",
162
+ "packages/components-vue/evidence/vue-readiness.v1.json#ArchivedRowOverlay",
163
+ "packages/component-contracts/src/contracts.ts#ArchivedRowOverlay"
164
+ ],
165
+ "implementationStatus": "implemented-evidence-complete",
166
+ "proposedResolution": {
167
+ "surface": "react+vue+html",
168
+ "implementation": "ArchivedRowOverlay",
169
+ "source": "packages/component-contracts/src/contracts.ts",
170
+ "publicIdRetained": true
171
+ },
172
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
173
+ },
174
+ {
175
+ "id": "AuditEvent",
176
+ "proposedClassification": "recipe",
177
+ "proposedResolution": {
178
+ "surface": "html",
179
+ "implementation": "renderAuditEvent",
180
+ "source": "packages/mcp-server/src/render/component-map.ts",
181
+ "primitive": "html:article",
182
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
183
+ },
184
+ "approvalState": "pending-approval",
185
+ "evidence": [
186
+ "packages/mcp-server/src/render/component-map.ts#renderAuditEvent",
187
+ "traits/lifecycle/Timestampable.trait.yaml",
188
+ "packages/components-react/evidence/react-readiness.v1.json#AuditEvent",
189
+ "packages/components-vue/evidence/vue-readiness.v1.json#AuditEvent",
190
+ "packages/component-contracts/src/contracts.ts#AuditEvent"
191
+ ],
192
+ "implementationStatus": "implemented-evidence-complete",
193
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
194
+ },
195
+ {
196
+ "id": "AuditSummaryCard",
197
+ "proposedClassification": "native",
198
+ "approvalState": "pending-approval",
199
+ "evidence": [
200
+ "traits/lifecycle/Auditable.trait.yaml",
201
+ "packages/components-react/evidence/react-readiness.v1.json#AuditSummaryCard",
202
+ "packages/components-vue/evidence/vue-readiness.v1.json#AuditSummaryCard",
203
+ "packages/component-contracts/src/contracts.ts#AuditSummaryCard"
204
+ ],
205
+ "implementationStatus": "implemented-evidence-complete",
206
+ "proposedResolution": {
207
+ "surface": "react+vue+html",
208
+ "implementation": "AuditSummaryCard",
209
+ "source": "packages/component-contracts/src/contracts.ts",
210
+ "publicIdRetained": true
211
+ },
212
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
213
+ },
214
+ {
215
+ "id": "AuditTimeline",
216
+ "proposedClassification": "recipe",
217
+ "proposedResolution": {
218
+ "surface": "html",
219
+ "implementation": "renderAuditTimeline",
220
+ "source": "packages/mcp-server/src/render/component-map.ts",
221
+ "primitive": "html:div",
222
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
223
+ },
224
+ "approvalState": "pending-approval",
225
+ "evidence": [
226
+ "packages/mcp-server/src/render/component-map.ts#renderAuditTimeline",
227
+ "traits/lifecycle/Auditable.trait.yaml",
228
+ "traits/lifecycle/Timestampable.trait.yaml",
229
+ "packages/components-react/evidence/react-readiness.v1.json#AuditTimeline",
230
+ "packages/components-vue/evidence/vue-readiness.v1.json#AuditTimeline",
231
+ "packages/component-contracts/src/contracts.ts#AuditTimeline"
232
+ ],
233
+ "implementationStatus": "implemented-evidence-complete",
234
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
235
+ },
236
+ {
237
+ "id": "Badge",
238
+ "proposedClassification": "native",
239
+ "approvalState": "pending-approval",
240
+ "evidence": [
241
+ "packages/mcp-server/src/render/component-map.ts#renderBadge",
242
+ "src/components/base/Badge.tsx",
243
+ "src/index.ts",
244
+ "traits/visual/Statusable.trait.yaml",
245
+ "packages/components-react/evidence/react-readiness.v1.json#Badge",
246
+ "packages/components-vue/evidence/vue-readiness.v1.json#Badge",
247
+ "packages/component-contracts/src/contracts.ts#Badge"
248
+ ],
249
+ "implementationStatus": "implemented-evidence-complete",
250
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
251
+ "proposedResolution": {
252
+ "action": "retain-native",
253
+ "surface": "html",
254
+ "source": "packages/mcp-server/src/render/component-map.ts",
255
+ "implementation": "renderBadge",
256
+ "publicIdRetained": true
257
+ }
258
+ },
259
+ {
260
+ "id": "Banner",
261
+ "proposedClassification": "native",
262
+ "approvalState": "pending-approval",
263
+ "evidence": [
264
+ "packages/mcp-server/src/render/component-map.ts#renderBanner",
265
+ "src/components/base/Banner.tsx",
266
+ "src/index.ts",
267
+ "traits/visual/Statusable.trait.yaml",
268
+ "packages/components-react/evidence/react-readiness.v1.json#Banner",
269
+ "packages/components-vue/evidence/vue-readiness.v1.json#Banner",
270
+ "packages/component-contracts/src/contracts.ts#Banner"
271
+ ],
272
+ "implementationStatus": "implemented-evidence-complete",
273
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
274
+ "proposedResolution": {
275
+ "action": "retain-native",
276
+ "surface": "html",
277
+ "source": "packages/mcp-server/src/render/component-map.ts",
278
+ "implementation": "renderBanner",
279
+ "publicIdRetained": true
280
+ }
281
+ },
282
+ {
283
+ "id": "BillingAmountInput",
284
+ "proposedClassification": "native",
285
+ "approvalState": "pending-approval",
286
+ "evidence": [
287
+ "traits/financial/Billable.trait.yaml",
288
+ "packages/components-react/evidence/react-readiness.v1.json#BillingAmountInput",
289
+ "packages/components-vue/evidence/vue-readiness.v1.json#BillingAmountInput",
290
+ "packages/component-contracts/src/contracts.ts#BillingAmountInput"
291
+ ],
292
+ "implementationStatus": "implemented-evidence-complete",
293
+ "proposedResolution": {
294
+ "surface": "react+vue+html",
295
+ "implementation": "BillingAmountInput",
296
+ "source": "packages/component-contracts/src/contracts.ts",
297
+ "publicIdRetained": true
298
+ },
299
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
300
+ },
301
+ {
302
+ "id": "BillingCardMeta",
303
+ "proposedClassification": "native",
304
+ "approvalState": "pending-approval",
305
+ "evidence": [
306
+ "traits/financial/Billable.trait.yaml",
307
+ "packages/components-react/evidence/react-readiness.v1.json#BillingCardMeta",
308
+ "packages/components-vue/evidence/vue-readiness.v1.json#BillingCardMeta",
309
+ "packages/component-contracts/src/contracts.ts#BillingCardMeta"
310
+ ],
311
+ "implementationStatus": "implemented-evidence-complete",
312
+ "proposedResolution": {
313
+ "surface": "react+vue+html",
314
+ "implementation": "BillingCardMeta",
315
+ "source": "packages/component-contracts/src/contracts.ts",
316
+ "publicIdRetained": true
317
+ },
318
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
319
+ },
320
+ {
321
+ "id": "BillingIntervalSelector",
322
+ "proposedClassification": "native",
323
+ "approvalState": "pending-approval",
324
+ "evidence": [
325
+ "traits/financial/Billable.trait.yaml",
326
+ "packages/components-react/evidence/react-readiness.v1.json#BillingIntervalSelector",
327
+ "packages/components-vue/evidence/vue-readiness.v1.json#BillingIntervalSelector",
328
+ "packages/component-contracts/src/contracts.ts#BillingIntervalSelector"
329
+ ],
330
+ "implementationStatus": "implemented-evidence-complete",
331
+ "proposedResolution": {
332
+ "surface": "react+vue+html",
333
+ "implementation": "BillingIntervalSelector",
334
+ "source": "packages/component-contracts/src/contracts.ts",
335
+ "publicIdRetained": true
336
+ },
337
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
338
+ },
339
+ {
340
+ "id": "BillingSummaryBadge",
341
+ "proposedClassification": "native",
342
+ "approvalState": "pending-approval",
343
+ "evidence": [
344
+ "traits/financial/Billable.trait.yaml",
345
+ "packages/components-react/evidence/react-readiness.v1.json#BillingSummaryBadge",
346
+ "packages/components-vue/evidence/vue-readiness.v1.json#BillingSummaryBadge",
347
+ "packages/component-contracts/src/contracts.ts#BillingSummaryBadge"
348
+ ],
349
+ "implementationStatus": "implemented-evidence-complete",
350
+ "proposedResolution": {
351
+ "surface": "react+vue+html",
352
+ "implementation": "BillingSummaryBadge",
353
+ "source": "packages/component-contracts/src/contracts.ts",
354
+ "publicIdRetained": true
355
+ },
356
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
357
+ },
358
+ {
359
+ "id": "Button",
360
+ "proposedClassification": "native",
361
+ "approvalState": "pending-approval",
362
+ "evidence": [
363
+ "packages/mcp-server/src/render/component-map.ts#renderButton",
364
+ "src/components/base/Button.tsx",
365
+ "src/index.ts",
366
+ "packages/components-react/evidence/react-readiness.v1.json#Button",
367
+ "packages/components-vue/evidence/vue-readiness.v1.json#Button",
368
+ "packages/component-contracts/src/contracts.ts#Button"
369
+ ],
370
+ "implementationStatus": "implemented-evidence-complete",
371
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
372
+ "proposedResolution": {
373
+ "action": "retain-native",
374
+ "surface": "html",
375
+ "source": "packages/mcp-server/src/render/component-map.ts",
376
+ "implementation": "renderButton",
377
+ "publicIdRetained": true
378
+ }
379
+ },
380
+ {
381
+ "id": "CancellationBadge",
382
+ "proposedClassification": "recipe",
383
+ "proposedResolution": {
384
+ "surface": "html",
385
+ "implementation": "renderCancellationBadge",
386
+ "source": "packages/mcp-server/src/render/component-map.ts",
387
+ "primitive": "html:span",
388
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
389
+ },
390
+ "approvalState": "pending-approval",
391
+ "evidence": [
392
+ "packages/mcp-server/src/render/component-map.ts#renderCancellationBadge",
393
+ "traits/lifecycle/Cancellable.trait.yaml",
394
+ "packages/components-react/evidence/react-readiness.v1.json#CancellationBadge",
395
+ "packages/components-vue/evidence/vue-readiness.v1.json#CancellationBadge",
396
+ "packages/component-contracts/src/contracts.ts#CancellationBadge"
397
+ ],
398
+ "implementationStatus": "implemented-evidence-complete",
399
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
400
+ },
401
+ {
402
+ "id": "CancellationEvent",
403
+ "proposedClassification": "recipe",
404
+ "proposedResolution": {
405
+ "surface": "html",
406
+ "implementation": "renderCancellationEvent",
407
+ "source": "packages/mcp-server/src/render/component-map.ts",
408
+ "primitive": "html:article",
409
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
410
+ },
411
+ "approvalState": "pending-approval",
412
+ "evidence": [
413
+ "packages/mcp-server/src/render/component-map.ts#renderCancellationEvent",
414
+ "traits/lifecycle/Cancellable.trait.yaml"
415
+ ],
416
+ "implementationStatus": "pending",
417
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
418
+ },
419
+ {
420
+ "id": "CancellationForm",
421
+ "proposedClassification": "recipe",
422
+ "proposedResolution": {
423
+ "surface": "html",
424
+ "implementation": "renderCancellationForm",
425
+ "source": "packages/mcp-server/src/render/component-map.ts",
426
+ "primitive": "html:form",
427
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
428
+ },
429
+ "approvalState": "pending-approval",
430
+ "evidence": [
431
+ "packages/mcp-server/src/render/component-map.ts#renderCancellationForm",
432
+ "traits/lifecycle/Cancellable.trait.yaml",
433
+ "packages/components-react/evidence/react-readiness.v1.json#CancellationForm",
434
+ "packages/components-vue/evidence/vue-readiness.v1.json#CancellationForm",
435
+ "packages/component-contracts/src/contracts.ts#CancellationForm"
436
+ ],
437
+ "implementationStatus": "implemented-evidence-complete",
438
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
439
+ },
440
+ {
441
+ "id": "CancellationSummary",
442
+ "proposedClassification": "recipe",
443
+ "proposedResolution": {
444
+ "surface": "html",
445
+ "implementation": "renderCancellationSummary",
446
+ "source": "packages/mcp-server/src/render/component-map.ts",
447
+ "primitive": "html:section",
448
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
449
+ },
450
+ "approvalState": "pending-approval",
451
+ "evidence": [
452
+ "packages/mcp-server/src/render/component-map.ts#renderCancellationSummary",
453
+ "traits/lifecycle/Cancellable.trait.yaml",
454
+ "packages/components-react/evidence/react-readiness.v1.json#CancellationSummary",
455
+ "packages/components-vue/evidence/vue-readiness.v1.json#CancellationSummary",
456
+ "packages/component-contracts/src/contracts.ts#CancellationSummary"
457
+ ],
458
+ "implementationStatus": "implemented-evidence-complete",
459
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
460
+ },
461
+ {
462
+ "id": "Card",
463
+ "proposedClassification": "native",
464
+ "approvalState": "pending-approval",
465
+ "evidence": [
466
+ "packages/mcp-server/src/render/component-map.ts#renderCard",
467
+ "src/components/base/Card.tsx",
468
+ "src/index.ts",
469
+ "packages/components-react/evidence/react-readiness.v1.json#Card",
470
+ "packages/components-vue/evidence/vue-readiness.v1.json#Card",
471
+ "packages/component-contracts/src/contracts.ts#Card"
472
+ ],
473
+ "implementationStatus": "implemented-evidence-complete",
474
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
475
+ "proposedResolution": {
476
+ "action": "retain-native",
477
+ "surface": "html",
478
+ "source": "packages/mcp-server/src/render/component-map.ts",
479
+ "implementation": "renderCard",
480
+ "publicIdRetained": true
481
+ }
482
+ },
483
+ {
484
+ "id": "CardHeader",
485
+ "proposedClassification": "recipe",
486
+ "proposedResolution": {
487
+ "surface": "html",
488
+ "implementation": "renderCardHeader",
489
+ "source": "packages/mcp-server/src/render/component-map.ts",
490
+ "primitive": "html:header",
491
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
492
+ },
493
+ "approvalState": "pending-approval",
494
+ "evidence": [
495
+ "packages/mcp-server/src/render/component-map.ts#renderCardHeader",
496
+ "traits/content/Labelled.trait.yaml",
497
+ "packages/components-react/evidence/react-readiness.v1.json#CardHeader",
498
+ "packages/components-vue/evidence/vue-readiness.v1.json#CardHeader",
499
+ "packages/component-contracts/src/contracts.ts#CardHeader"
500
+ ],
501
+ "implementationStatus": "implemented-evidence-complete",
502
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
503
+ },
504
+ {
505
+ "id": "Checkbox",
506
+ "proposedClassification": "native",
507
+ "approvalState": "pending-approval",
508
+ "evidence": [
509
+ "packages/mcp-server/src/render/component-map.ts#renderCheckbox",
510
+ "src/components/base/Checkbox.tsx",
511
+ "src/index.ts",
512
+ "packages/components-react/evidence/react-readiness.v1.json#Checkbox",
513
+ "packages/components-vue/evidence/vue-readiness.v1.json#Checkbox",
514
+ "packages/component-contracts/src/contracts.ts#Checkbox"
515
+ ],
516
+ "implementationStatus": "implemented-evidence-complete",
517
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
518
+ "proposedResolution": {
519
+ "action": "retain-native",
520
+ "surface": "html",
521
+ "source": "packages/mcp-server/src/render/component-map.ts",
522
+ "implementation": "renderCheckbox",
523
+ "publicIdRetained": true
524
+ }
525
+ },
526
+ {
527
+ "id": "ClassificationBadge",
528
+ "proposedClassification": "recipe",
529
+ "proposedResolution": {
530
+ "surface": "html",
531
+ "implementation": "renderClassificationBadge",
532
+ "source": "packages/mcp-server/src/render/component-map.ts",
533
+ "primitive": "html:span",
534
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
535
+ },
536
+ "approvalState": "pending-approval",
537
+ "evidence": [
538
+ "packages/mcp-server/src/render/component-map.ts#renderClassificationBadge",
539
+ "traits/core/Classifiable.trait.yaml",
540
+ "packages/components-react/evidence/react-readiness.v1.json#ClassificationBadge",
541
+ "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationBadge",
542
+ "packages/component-contracts/src/contracts.ts#ClassificationBadge"
543
+ ],
544
+ "implementationStatus": "implemented-evidence-complete",
545
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
546
+ },
547
+ {
548
+ "id": "ClassificationEditor",
549
+ "proposedClassification": "recipe",
550
+ "proposedResolution": {
551
+ "surface": "html",
552
+ "implementation": "renderClassificationEditor",
553
+ "source": "packages/mcp-server/src/render/component-map.ts",
554
+ "primitive": "html:form",
555
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
556
+ },
557
+ "approvalState": "pending-approval",
558
+ "evidence": [
559
+ "packages/mcp-server/src/render/component-map.ts#renderClassificationEditor",
560
+ "traits/core/Classifiable.trait.yaml",
561
+ "packages/components-react/evidence/react-readiness.v1.json#ClassificationEditor",
562
+ "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationEditor",
563
+ "packages/component-contracts/src/contracts.ts#ClassificationEditor"
564
+ ],
565
+ "implementationStatus": "implemented-evidence-complete",
566
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
567
+ },
568
+ {
569
+ "id": "ClassificationPanel",
570
+ "proposedClassification": "recipe",
571
+ "proposedResolution": {
572
+ "surface": "html",
573
+ "implementation": "renderClassificationPanel",
574
+ "source": "packages/mcp-server/src/render/component-map.ts",
575
+ "primitive": "html:section",
576
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
577
+ },
578
+ "approvalState": "pending-approval",
579
+ "evidence": [
580
+ "packages/mcp-server/src/render/component-map.ts#renderClassificationPanel",
581
+ "traits/core/Classifiable.trait.yaml",
582
+ "packages/components-react/evidence/react-readiness.v1.json#ClassificationPanel",
583
+ "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationPanel",
584
+ "packages/component-contracts/src/contracts.ts#ClassificationPanel"
585
+ ],
586
+ "implementationStatus": "implemented-evidence-complete",
587
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
588
+ },
589
+ {
590
+ "id": "ColorStatePicker",
591
+ "proposedClassification": "recipe",
592
+ "proposedResolution": {
593
+ "surface": "html",
594
+ "implementation": "renderColorStatePicker",
595
+ "source": "packages/mcp-server/src/render/component-map.ts",
596
+ "primitive": "html:fieldset",
597
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
598
+ },
599
+ "approvalState": "pending-approval",
600
+ "evidence": [
601
+ "packages/mcp-server/src/render/component-map.ts#renderColorStatePicker",
602
+ "traits/visual/Colorized.trait.yaml"
603
+ ],
604
+ "implementationStatus": "pending",
605
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
606
+ },
607
+ {
608
+ "id": "ColorSwatch",
609
+ "proposedClassification": "recipe",
610
+ "proposedResolution": {
611
+ "surface": "html",
612
+ "implementation": "renderColorSwatch",
613
+ "source": "packages/mcp-server/src/render/component-map.ts",
614
+ "primitive": "html:span",
615
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
616
+ },
617
+ "approvalState": "pending-approval",
618
+ "evidence": [
619
+ "packages/mcp-server/src/render/component-map.ts#renderColorSwatch",
620
+ "traits/visual/Colorized.trait.yaml",
621
+ "packages/components-react/evidence/react-readiness.v1.json#ColorSwatch",
622
+ "packages/components-vue/evidence/vue-readiness.v1.json#ColorSwatch",
623
+ "packages/component-contracts/src/contracts.ts#ColorSwatch"
624
+ ],
625
+ "implementationStatus": "implemented-evidence-complete",
626
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
627
+ },
628
+ {
629
+ "id": "ColorizedBadge",
630
+ "proposedClassification": "recipe",
631
+ "proposedResolution": {
632
+ "surface": "html",
633
+ "implementation": "renderColorizedBadge",
634
+ "source": "packages/mcp-server/src/render/component-map.ts",
635
+ "primitive": "html:span",
636
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
637
+ },
638
+ "approvalState": "pending-approval",
639
+ "evidence": [
640
+ "packages/mcp-server/src/render/component-map.ts#renderColorizedBadge",
641
+ "traits/visual/Colorized.trait.yaml",
642
+ "packages/components-react/evidence/react-readiness.v1.json#ColorizedBadge",
643
+ "packages/components-vue/evidence/vue-readiness.v1.json#ColorizedBadge",
644
+ "packages/component-contracts/src/contracts.ts#ColorizedBadge"
645
+ ],
646
+ "implementationStatus": "implemented-evidence-complete",
647
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
648
+ },
649
+ {
650
+ "id": "CommunicationDetailPanel",
651
+ "proposedClassification": "recipe",
652
+ "proposedResolution": {
653
+ "surface": "html",
654
+ "implementation": "renderCommunicationDetailPanel",
655
+ "source": "packages/mcp-server/src/render/component-map.ts",
656
+ "primitive": "html:section",
657
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
658
+ },
659
+ "approvalState": "pending-approval",
660
+ "evidence": [
661
+ "packages/mcp-server/src/render/component-map.ts#renderCommunicationDetailPanel",
662
+ "traits/core/Communicable.trait.yaml"
663
+ ],
664
+ "implementationStatus": "pending",
665
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
666
+ },
667
+ {
668
+ "id": "CycleProgressCard",
669
+ "proposedClassification": "native",
670
+ "approvalState": "pending-approval",
671
+ "evidence": [
672
+ "traits/financial/Billable.trait.yaml",
673
+ "packages/components-react/evidence/react-readiness.v1.json#CycleProgressCard",
674
+ "packages/components-vue/evidence/vue-readiness.v1.json#CycleProgressCard",
675
+ "packages/component-contracts/src/contracts.ts#CycleProgressCard"
676
+ ],
677
+ "implementationStatus": "implemented-evidence-complete",
678
+ "proposedResolution": {
679
+ "surface": "react+vue+html",
680
+ "implementation": "CycleProgressCard",
681
+ "source": "packages/component-contracts/src/contracts.ts",
682
+ "publicIdRetained": true
683
+ },
684
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
685
+ },
686
+ {
687
+ "id": "DatePicker",
688
+ "proposedClassification": "native",
689
+ "approvalState": "pending-approval",
690
+ "evidence": [
691
+ "packages/mcp-server/src/render/component-map.ts#renderDatePicker",
692
+ "src/components/base/DatePicker.tsx",
693
+ "src/index.ts",
694
+ "packages/components-react/evidence/react-readiness.v1.json#DatePicker",
695
+ "packages/components-vue/evidence/vue-readiness.v1.json#DatePicker",
696
+ "packages/component-contracts/src/contracts.ts#DatePicker"
697
+ ],
698
+ "implementationStatus": "implemented-evidence-complete",
699
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
700
+ "proposedResolution": {
701
+ "action": "retain-native",
702
+ "surface": "html",
703
+ "source": "packages/mcp-server/src/render/component-map.ts",
704
+ "implementation": "renderDatePicker",
705
+ "publicIdRetained": true
706
+ }
707
+ },
708
+ {
709
+ "id": "DetailHeader",
710
+ "proposedClassification": "recipe",
711
+ "proposedResolution": {
712
+ "surface": "html",
713
+ "implementation": "renderDetailHeader",
714
+ "source": "packages/mcp-server/src/render/component-map.ts",
715
+ "primitive": "html:header",
716
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
717
+ },
718
+ "approvalState": "pending-approval",
719
+ "evidence": [
720
+ "packages/mcp-server/src/render/component-map.ts#renderDetailHeader",
721
+ "traits/content/Labelled.trait.yaml",
722
+ "packages/components-react/evidence/react-readiness.v1.json#DetailHeader",
723
+ "packages/components-vue/evidence/vue-readiness.v1.json#DetailHeader",
724
+ "packages/component-contracts/src/contracts.ts#DetailHeader"
725
+ ],
726
+ "implementationStatus": "implemented-evidence-complete",
727
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
728
+ },
729
+ {
730
+ "id": "FilterPanel",
731
+ "proposedClassification": "recipe",
732
+ "proposedResolution": {
733
+ "surface": "html",
734
+ "implementation": "renderFilterPanel",
735
+ "source": "packages/mcp-server/src/render/component-map.ts",
736
+ "primitive": "html:aside",
737
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
738
+ },
739
+ "approvalState": "pending-approval",
740
+ "evidence": [
741
+ "packages/mcp-server/src/render/component-map.ts#renderFilterPanel",
742
+ "traits/behavioral/Filterable.trait.yaml",
743
+ "packages/components-react/evidence/react-readiness.v1.json#FilterPanel",
744
+ "packages/components-vue/evidence/vue-readiness.v1.json#FilterPanel",
745
+ "packages/component-contracts/src/contracts.ts#FilterPanel"
746
+ ],
747
+ "implementationStatus": "implemented-evidence-complete",
748
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
749
+ },
750
+ {
751
+ "id": "FormLabelGroup",
752
+ "proposedClassification": "recipe",
753
+ "proposedResolution": {
754
+ "surface": "html",
755
+ "implementation": "renderFormLabelGroup",
756
+ "source": "packages/mcp-server/src/render/component-map.ts",
757
+ "primitive": "html:label",
758
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
759
+ },
760
+ "approvalState": "pending-approval",
761
+ "evidence": [
762
+ "packages/mcp-server/src/render/component-map.ts#renderFormLabelGroup",
763
+ "traits/content/Labelled.trait.yaml",
764
+ "packages/components-react/evidence/react-readiness.v1.json#FormLabelGroup",
765
+ "packages/components-vue/evidence/vue-readiness.v1.json#FormLabelGroup",
766
+ "packages/component-contracts/src/contracts.ts#FormLabelGroup"
767
+ ],
768
+ "implementationStatus": "implemented-evidence-complete",
769
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
770
+ },
771
+ {
772
+ "id": "GeoFieldMappingForm",
773
+ "proposedClassification": "recipe",
774
+ "proposedResolution": {
775
+ "surface": "html",
776
+ "implementation": "renderGeoFieldMappingForm",
777
+ "source": "packages/mcp-server/src/render/component-map.ts",
778
+ "primitive": "html:form",
779
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
780
+ },
781
+ "approvalState": "pending-approval",
782
+ "evidence": [
783
+ "packages/mcp-server/src/render/component-map.ts#renderGeoFieldMappingForm",
784
+ "traits/viz/spatial/geocodable.trait.yaml"
785
+ ],
786
+ "implementationStatus": "pending",
787
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
788
+ },
789
+ {
790
+ "id": "GeoResolutionBadge",
791
+ "proposedClassification": "recipe",
792
+ "proposedResolution": {
793
+ "surface": "html",
794
+ "implementation": "renderGeoResolutionBadge",
795
+ "source": "packages/mcp-server/src/render/component-map.ts",
796
+ "primitive": "html:span",
797
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
798
+ },
799
+ "approvalState": "pending-approval",
800
+ "evidence": [
801
+ "packages/mcp-server/src/render/component-map.ts#renderGeoResolutionBadge",
802
+ "traits/viz/spatial/geocodable.trait.yaml"
803
+ ],
804
+ "implementationStatus": "pending",
805
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
806
+ },
807
+ {
808
+ "id": "GeocodablePreview",
809
+ "proposedClassification": "recipe",
810
+ "proposedResolution": {
811
+ "surface": "html",
812
+ "implementation": "renderGeocodablePreview",
813
+ "source": "packages/mcp-server/src/render/component-map.ts",
814
+ "primitive": "html:section",
815
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
816
+ },
817
+ "approvalState": "pending-approval",
818
+ "evidence": [
819
+ "packages/mcp-server/src/render/component-map.ts#renderGeocodablePreview",
820
+ "traits/viz/spatial/geocodable.trait.yaml"
821
+ ],
822
+ "implementationStatus": "pending",
823
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
824
+ },
825
+ {
826
+ "id": "Grid",
827
+ "proposedClassification": "native",
828
+ "approvalState": "pending-approval",
829
+ "evidence": [
830
+ "packages/mcp-server/src/render/component-map.ts#renderGrid",
831
+ "packages/components-react/evidence/react-readiness.v1.json#Grid",
832
+ "packages/components-vue/evidence/vue-readiness.v1.json#Grid",
833
+ "packages/component-contracts/src/contracts.ts#Grid"
834
+ ],
835
+ "implementationStatus": "implemented-evidence-complete",
836
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
837
+ "proposedResolution": {
838
+ "action": "retain-native",
839
+ "surface": "html",
840
+ "source": "packages/mcp-server/src/render/component-map.ts",
841
+ "implementation": "renderGrid",
842
+ "publicIdRetained": true
843
+ }
844
+ },
845
+ {
846
+ "id": "InlineLabel",
847
+ "proposedClassification": "recipe",
848
+ "proposedResolution": {
849
+ "surface": "html",
850
+ "implementation": "renderInlineLabel",
851
+ "source": "packages/mcp-server/src/render/component-map.ts",
852
+ "primitive": "html:span",
853
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
854
+ },
855
+ "approvalState": "pending-approval",
856
+ "evidence": [
857
+ "packages/mcp-server/src/render/component-map.ts#renderInlineLabel",
858
+ "traits/content/Labelled.trait.yaml",
859
+ "packages/components-react/evidence/react-readiness.v1.json#InlineLabel",
860
+ "packages/components-vue/evidence/vue-readiness.v1.json#InlineLabel",
861
+ "packages/component-contracts/src/contracts.ts#InlineLabel"
862
+ ],
863
+ "implementationStatus": "implemented-evidence-complete",
864
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
865
+ },
866
+ {
867
+ "id": "Input",
868
+ "proposedClassification": "native",
869
+ "approvalState": "pending-approval",
870
+ "evidence": [
871
+ "packages/mcp-server/src/render/component-map.ts#renderInput",
872
+ "packages/components-react/evidence/react-readiness.v1.json#Input",
873
+ "packages/components-vue/evidence/vue-readiness.v1.json#Input",
874
+ "packages/component-contracts/src/contracts.ts#Input"
875
+ ],
876
+ "implementationStatus": "implemented-evidence-complete",
877
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
878
+ "proposedResolution": {
879
+ "action": "retain-native",
880
+ "surface": "html",
881
+ "source": "packages/mcp-server/src/render/component-map.ts",
882
+ "implementation": "renderInput",
883
+ "publicIdRetained": true
884
+ }
885
+ },
886
+ {
887
+ "id": "LabelCell",
888
+ "proposedClassification": "recipe",
889
+ "proposedResolution": {
890
+ "surface": "html",
891
+ "implementation": "renderLabelCell",
892
+ "source": "packages/mcp-server/src/render/component-map.ts",
893
+ "primitive": "html:span",
894
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
895
+ },
896
+ "approvalState": "pending-approval",
897
+ "evidence": [
898
+ "packages/mcp-server/src/render/component-map.ts#renderLabelCell",
899
+ "traits/content/Labelled.trait.yaml",
900
+ "packages/components-react/evidence/react-readiness.v1.json#LabelCell",
901
+ "packages/components-vue/evidence/vue-readiness.v1.json#LabelCell",
902
+ "packages/component-contracts/src/contracts.ts#LabelCell"
903
+ ],
904
+ "implementationStatus": "implemented-evidence-complete",
905
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
906
+ },
907
+ {
908
+ "id": "MembershipAuditTimeline",
909
+ "proposedClassification": "recipe",
910
+ "proposedResolution": {
911
+ "surface": "html",
912
+ "implementation": "renderMembershipAuditTimeline",
913
+ "source": "packages/mcp-server/src/render/component-map.ts",
914
+ "primitive": "html:div",
915
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
916
+ },
917
+ "approvalState": "pending-approval",
918
+ "evidence": [
919
+ "packages/mcp-server/src/render/component-map.ts#renderMembershipAuditTimeline",
920
+ "traits/core/Authable.trait.yaml",
921
+ "packages/components-react/evidence/react-readiness.v1.json#MembershipAuditTimeline",
922
+ "packages/components-vue/evidence/vue-readiness.v1.json#MembershipAuditTimeline",
923
+ "packages/component-contracts/src/contracts.ts#MembershipAuditTimeline"
924
+ ],
925
+ "implementationStatus": "implemented-evidence-complete",
926
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
927
+ },
928
+ {
929
+ "id": "MembershipPanel",
930
+ "proposedClassification": "recipe",
931
+ "proposedResolution": {
932
+ "surface": "html",
933
+ "implementation": "renderMembershipPanel",
934
+ "source": "packages/mcp-server/src/render/component-map.ts",
935
+ "primitive": "html:section",
936
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
937
+ },
938
+ "approvalState": "pending-approval",
939
+ "evidence": [
940
+ "packages/mcp-server/src/render/component-map.ts#renderMembershipPanel",
941
+ "traits/core/Authable.trait.yaml",
942
+ "packages/components-react/evidence/react-readiness.v1.json#MembershipPanel",
943
+ "packages/components-vue/evidence/vue-readiness.v1.json#MembershipPanel",
944
+ "packages/component-contracts/src/contracts.ts#MembershipPanel"
945
+ ],
946
+ "implementationStatus": "implemented-evidence-complete",
947
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
948
+ },
949
+ {
950
+ "id": "MessageEventTimeline",
951
+ "proposedClassification": "recipe",
952
+ "proposedResolution": {
953
+ "surface": "html",
954
+ "implementation": "renderMessageEventTimeline",
955
+ "source": "packages/mcp-server/src/render/component-map.ts",
956
+ "primitive": "html:div",
957
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
958
+ },
959
+ "approvalState": "pending-approval",
960
+ "evidence": [
961
+ "packages/mcp-server/src/render/component-map.ts#renderMessageEventTimeline",
962
+ "traits/core/Communicable.trait.yaml",
963
+ "packages/components-react/evidence/react-readiness.v1.json#MessageEventTimeline",
964
+ "packages/components-vue/evidence/vue-readiness.v1.json#MessageEventTimeline",
965
+ "packages/component-contracts/src/contracts.ts#MessageEventTimeline"
966
+ ],
967
+ "implementationStatus": "implemented-evidence-complete",
968
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
969
+ },
970
+ {
971
+ "id": "MessageStatusBadge",
972
+ "proposedClassification": "recipe",
973
+ "proposedResolution": {
974
+ "surface": "html",
975
+ "implementation": "renderMessageStatusBadge",
976
+ "source": "packages/mcp-server/src/render/component-map.ts",
977
+ "primitive": "html:span",
978
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
979
+ },
980
+ "approvalState": "pending-approval",
981
+ "evidence": [
982
+ "packages/mcp-server/src/render/component-map.ts#renderMessageStatusBadge",
983
+ "traits/core/Communicable.trait.yaml",
984
+ "packages/components-react/evidence/react-readiness.v1.json#MessageStatusBadge",
985
+ "packages/components-vue/evidence/vue-readiness.v1.json#MessageStatusBadge",
986
+ "packages/component-contracts/src/contracts.ts#MessageStatusBadge"
987
+ ],
988
+ "implementationStatus": "implemented-evidence-complete",
989
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
990
+ },
991
+ {
992
+ "id": "OwnerBadge",
993
+ "proposedClassification": "recipe",
994
+ "proposedResolution": {
995
+ "surface": "html",
996
+ "implementation": "renderOwnerBadge",
997
+ "source": "packages/mcp-server/src/render/component-map.ts",
998
+ "primitive": "html:span",
999
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1000
+ },
1001
+ "approvalState": "pending-approval",
1002
+ "evidence": [
1003
+ "packages/mcp-server/src/render/component-map.ts#renderOwnerBadge",
1004
+ "traits/structural/Ownerable.trait.yaml",
1005
+ "packages/components-react/evidence/react-readiness.v1.json#OwnerBadge",
1006
+ "packages/components-vue/evidence/vue-readiness.v1.json#OwnerBadge",
1007
+ "packages/component-contracts/src/contracts.ts#OwnerBadge"
1008
+ ],
1009
+ "implementationStatus": "implemented-evidence-complete",
1010
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1011
+ },
1012
+ {
1013
+ "id": "OwnershipMeta",
1014
+ "proposedClassification": "recipe",
1015
+ "proposedResolution": {
1016
+ "surface": "html",
1017
+ "implementation": "renderOwnershipMeta",
1018
+ "source": "packages/mcp-server/src/render/component-map.ts",
1019
+ "primitive": "html:div",
1020
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1021
+ },
1022
+ "approvalState": "pending-approval",
1023
+ "evidence": [
1024
+ "packages/mcp-server/src/render/component-map.ts#renderOwnershipMeta",
1025
+ "traits/structural/Ownerable.trait.yaml",
1026
+ "packages/components-react/evidence/react-readiness.v1.json#OwnershipMeta",
1027
+ "packages/components-vue/evidence/vue-readiness.v1.json#OwnershipMeta",
1028
+ "packages/component-contracts/src/contracts.ts#OwnershipMeta"
1029
+ ],
1030
+ "implementationStatus": "implemented-evidence-complete",
1031
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1032
+ },
1033
+ {
1034
+ "id": "OwnershipSummary",
1035
+ "proposedClassification": "recipe",
1036
+ "proposedResolution": {
1037
+ "surface": "html",
1038
+ "implementation": "renderOwnershipSummary",
1039
+ "source": "packages/mcp-server/src/render/component-map.ts",
1040
+ "primitive": "html:section",
1041
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1042
+ },
1043
+ "approvalState": "pending-approval",
1044
+ "evidence": [
1045
+ "packages/mcp-server/src/render/component-map.ts#renderOwnershipSummary",
1046
+ "traits/structural/Ownerable.trait.yaml",
1047
+ "packages/components-react/evidence/react-readiness.v1.json#OwnershipSummary",
1048
+ "packages/components-vue/evidence/vue-readiness.v1.json#OwnershipSummary",
1049
+ "packages/component-contracts/src/contracts.ts#OwnershipSummary"
1050
+ ],
1051
+ "implementationStatus": "implemented-evidence-complete",
1052
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1053
+ },
1054
+ {
1055
+ "id": "PaginationBar",
1056
+ "proposedClassification": "recipe",
1057
+ "proposedResolution": {
1058
+ "surface": "html",
1059
+ "implementation": "renderPaginationBar",
1060
+ "source": "packages/mcp-server/src/render/component-map.ts",
1061
+ "primitive": "html:nav",
1062
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1063
+ },
1064
+ "approvalState": "pending-approval",
1065
+ "evidence": [
1066
+ "packages/mcp-server/src/render/component-map.ts#renderPaginationBar",
1067
+ "traits/behavioral/Pageable.trait.yaml",
1068
+ "packages/components-react/evidence/react-readiness.v1.json#PaginationBar",
1069
+ "packages/components-vue/evidence/vue-readiness.v1.json#PaginationBar",
1070
+ "packages/component-contracts/src/contracts.ts#PaginationBar"
1071
+ ],
1072
+ "implementationStatus": "implemented-evidence-complete",
1073
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1074
+ },
1075
+ {
1076
+ "id": "PaymentEventTimeline",
1077
+ "proposedClassification": "alias",
1078
+ "approvalState": "pending-approval",
1079
+ "evidence": [
1080
+ "traits/financial/Billable.trait.yaml",
1081
+ "packages/components-react/evidence/react-readiness.v1.json#PaymentEventTimeline",
1082
+ "packages/components-vue/evidence/vue-readiness.v1.json#PaymentEventTimeline",
1083
+ "packages/component-contracts/src/contracts.ts#PaymentEventTimeline"
1084
+ ],
1085
+ "implementationStatus": "implemented-evidence-complete",
1086
+ "proposedResolution": {
1087
+ "target": "PaymentTimeline",
1088
+ "source": "packages/components-react/src/billing-views.tsx",
1089
+ "publicIdRetained": true
1090
+ },
1091
+ "compatibilityNote": "Shared payment primitive; the public event-view ID and its scenario remain. Proposing an alias does not remove either obligation."
1092
+ },
1093
+ {
1094
+ "id": "PaymentTimeline",
1095
+ "proposedClassification": "native",
1096
+ "approvalState": "pending-approval",
1097
+ "evidence": [
1098
+ "traits/financial/Billable.trait.yaml",
1099
+ "packages/components-react/evidence/react-readiness.v1.json#PaymentTimeline",
1100
+ "packages/components-vue/evidence/vue-readiness.v1.json#PaymentTimeline",
1101
+ "packages/component-contracts/src/contracts.ts#PaymentTimeline"
1102
+ ],
1103
+ "implementationStatus": "implemented-evidence-complete",
1104
+ "proposedResolution": {
1105
+ "surface": "react+vue+html",
1106
+ "implementation": "PaymentTimeline",
1107
+ "source": "packages/component-contracts/src/contracts.ts",
1108
+ "publicIdRetained": true
1109
+ },
1110
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1111
+ },
1112
+ {
1113
+ "id": "PreferenceEditor",
1114
+ "proposedClassification": "recipe",
1115
+ "proposedResolution": {
1116
+ "surface": "html",
1117
+ "implementation": "renderPreferenceEditor",
1118
+ "source": "packages/mcp-server/src/render/component-map.ts",
1119
+ "primitive": "html:form",
1120
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1121
+ },
1122
+ "approvalState": "pending-approval",
1123
+ "evidence": [
1124
+ "packages/mcp-server/src/render/component-map.ts#renderPreferenceEditor",
1125
+ "traits/core/Preferenceable.trait.yaml",
1126
+ "packages/components-react/evidence/react-readiness.v1.json#PreferenceEditor",
1127
+ "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceEditor",
1128
+ "packages/component-contracts/src/contracts.ts#PreferenceEditor"
1129
+ ],
1130
+ "implementationStatus": "implemented-evidence-complete",
1131
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1132
+ },
1133
+ {
1134
+ "id": "PreferencePanel",
1135
+ "proposedClassification": "recipe",
1136
+ "proposedResolution": {
1137
+ "surface": "html",
1138
+ "implementation": "renderPreferencePanel",
1139
+ "source": "packages/mcp-server/src/render/component-map.ts",
1140
+ "primitive": "html:section",
1141
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1142
+ },
1143
+ "approvalState": "pending-approval",
1144
+ "evidence": [
1145
+ "packages/mcp-server/src/render/component-map.ts#renderPreferencePanel",
1146
+ "traits/core/Preferenceable.trait.yaml",
1147
+ "packages/components-react/evidence/react-readiness.v1.json#PreferencePanel",
1148
+ "packages/components-vue/evidence/vue-readiness.v1.json#PreferencePanel",
1149
+ "packages/component-contracts/src/contracts.ts#PreferencePanel"
1150
+ ],
1151
+ "implementationStatus": "implemented-evidence-complete",
1152
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1153
+ },
1154
+ {
1155
+ "id": "PreferenceSummaryBadge",
1156
+ "proposedClassification": "recipe",
1157
+ "proposedResolution": {
1158
+ "surface": "html",
1159
+ "implementation": "renderPreferenceSummaryBadge",
1160
+ "source": "packages/mcp-server/src/render/component-map.ts",
1161
+ "primitive": "html:span",
1162
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1163
+ },
1164
+ "approvalState": "pending-approval",
1165
+ "evidence": [
1166
+ "packages/mcp-server/src/render/component-map.ts#renderPreferenceSummaryBadge",
1167
+ "traits/core/Preferenceable.trait.yaml",
1168
+ "packages/components-react/evidence/react-readiness.v1.json#PreferenceSummaryBadge",
1169
+ "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceSummaryBadge",
1170
+ "packages/component-contracts/src/contracts.ts#PreferenceSummaryBadge"
1171
+ ],
1172
+ "implementationStatus": "implemented-evidence-complete",
1173
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1174
+ },
1175
+ {
1176
+ "id": "PreferenceTimeline",
1177
+ "proposedClassification": "recipe",
1178
+ "proposedResolution": {
1179
+ "surface": "html",
1180
+ "implementation": "renderPreferenceTimeline",
1181
+ "source": "packages/mcp-server/src/render/component-map.ts",
1182
+ "primitive": "html:div",
1183
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1184
+ },
1185
+ "approvalState": "pending-approval",
1186
+ "evidence": [
1187
+ "packages/mcp-server/src/render/component-map.ts#renderPreferenceTimeline",
1188
+ "traits/core/Preferenceable.trait.yaml",
1189
+ "packages/components-react/evidence/react-readiness.v1.json#PreferenceTimeline",
1190
+ "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceTimeline",
1191
+ "packages/component-contracts/src/contracts.ts#PreferenceTimeline"
1192
+ ],
1193
+ "implementationStatus": "implemented-evidence-complete",
1194
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1195
+ },
1196
+ {
1197
+ "id": "PriceBadge",
1198
+ "proposedClassification": "recipe",
1199
+ "proposedResolution": {
1200
+ "surface": "html",
1201
+ "implementation": "renderPriceBadge",
1202
+ "source": "packages/mcp-server/src/render/component-map.ts",
1203
+ "primitive": "html:span",
1204
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1205
+ },
1206
+ "approvalState": "pending-approval",
1207
+ "evidence": [
1208
+ "packages/mcp-server/src/render/component-map.ts#renderPriceBadge",
1209
+ "traits/financial/Priceable.trait.yaml",
1210
+ "packages/components-react/evidence/react-readiness.v1.json#PriceBadge",
1211
+ "packages/components-vue/evidence/vue-readiness.v1.json#PriceBadge",
1212
+ "packages/component-contracts/src/contracts.ts#PriceBadge"
1213
+ ],
1214
+ "implementationStatus": "implemented-evidence-complete",
1215
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1216
+ },
1217
+ {
1218
+ "id": "PriceCardMeta",
1219
+ "proposedClassification": "recipe",
1220
+ "proposedResolution": {
1221
+ "surface": "html",
1222
+ "implementation": "renderPriceCardMeta",
1223
+ "source": "packages/mcp-server/src/render/component-map.ts",
1224
+ "primitive": "html:div",
1225
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1226
+ },
1227
+ "approvalState": "pending-approval",
1228
+ "evidence": [
1229
+ "packages/mcp-server/src/render/component-map.ts#renderPriceCardMeta",
1230
+ "traits/financial/Priceable.trait.yaml",
1231
+ "packages/components-react/evidence/react-readiness.v1.json#PriceCardMeta",
1232
+ "packages/components-vue/evidence/vue-readiness.v1.json#PriceCardMeta",
1233
+ "packages/component-contracts/src/contracts.ts#PriceCardMeta"
1234
+ ],
1235
+ "implementationStatus": "implemented-evidence-complete",
1236
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1237
+ },
1238
+ {
1239
+ "id": "PriceSummary",
1240
+ "proposedClassification": "recipe",
1241
+ "proposedResolution": {
1242
+ "surface": "html",
1243
+ "implementation": "renderPriceSummary",
1244
+ "source": "packages/mcp-server/src/render/component-map.ts",
1245
+ "primitive": "html:section",
1246
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1247
+ },
1248
+ "approvalState": "pending-approval",
1249
+ "evidence": [
1250
+ "packages/mcp-server/src/render/component-map.ts#renderPriceSummary",
1251
+ "traits/financial/Priceable.trait.yaml",
1252
+ "packages/components-react/evidence/react-readiness.v1.json#PriceSummary",
1253
+ "packages/components-vue/evidence/vue-readiness.v1.json#PriceSummary",
1254
+ "packages/component-contracts/src/contracts.ts#PriceSummary"
1255
+ ],
1256
+ "implementationStatus": "implemented-evidence-complete",
1257
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1258
+ },
1259
+ {
1260
+ "id": "RelativeTimestamp",
1261
+ "proposedClassification": "recipe",
1262
+ "proposedResolution": {
1263
+ "surface": "html",
1264
+ "implementation": "renderRelativeTimestamp",
1265
+ "source": "packages/mcp-server/src/render/component-map.ts",
1266
+ "primitive": "html:time",
1267
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1268
+ },
1269
+ "approvalState": "pending-approval",
1270
+ "evidence": [
1271
+ "packages/mcp-server/src/render/component-map.ts#renderRelativeTimestamp",
1272
+ "traits/lifecycle/Timestampable.trait.yaml",
1273
+ "packages/components-react/evidence/react-readiness.v1.json#RelativeTimestamp",
1274
+ "packages/components-vue/evidence/vue-readiness.v1.json#RelativeTimestamp",
1275
+ "packages/component-contracts/src/contracts.ts#RelativeTimestamp"
1276
+ ],
1277
+ "implementationStatus": "implemented-evidence-complete",
1278
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1279
+ },
1280
+ {
1281
+ "id": "RoleAssignmentForm",
1282
+ "proposedClassification": "recipe",
1283
+ "proposedResolution": {
1284
+ "surface": "html",
1285
+ "implementation": "renderRoleAssignmentForm",
1286
+ "source": "packages/mcp-server/src/render/component-map.ts",
1287
+ "primitive": "html:form",
1288
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1289
+ },
1290
+ "approvalState": "pending-approval",
1291
+ "evidence": [
1292
+ "packages/mcp-server/src/render/component-map.ts#renderRoleAssignmentForm",
1293
+ "traits/core/Authable.trait.yaml",
1294
+ "packages/components-react/evidence/react-readiness.v1.json#RoleAssignmentForm",
1295
+ "packages/components-vue/evidence/vue-readiness.v1.json#RoleAssignmentForm",
1296
+ "packages/component-contracts/src/contracts.ts#RoleAssignmentForm"
1297
+ ],
1298
+ "implementationStatus": "implemented-evidence-complete",
1299
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1300
+ },
1301
+ {
1302
+ "id": "RoleBadgeList",
1303
+ "proposedClassification": "recipe",
1304
+ "proposedResolution": {
1305
+ "surface": "html",
1306
+ "implementation": "renderRoleBadgeList",
1307
+ "source": "packages/mcp-server/src/render/component-map.ts",
1308
+ "primitive": "html:span",
1309
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1310
+ },
1311
+ "approvalState": "pending-approval",
1312
+ "evidence": [
1313
+ "packages/mcp-server/src/render/component-map.ts#renderRoleBadgeList",
1314
+ "traits/core/Authable.trait.yaml",
1315
+ "packages/components-react/evidence/react-readiness.v1.json#RoleBadgeList",
1316
+ "packages/components-vue/evidence/vue-readiness.v1.json#RoleBadgeList",
1317
+ "packages/component-contracts/src/contracts.ts#RoleBadgeList"
1318
+ ],
1319
+ "implementationStatus": "implemented-evidence-complete",
1320
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1321
+ },
1322
+ {
1323
+ "id": "SearchInput",
1324
+ "proposedClassification": "recipe",
1325
+ "proposedResolution": {
1326
+ "surface": "html",
1327
+ "implementation": "renderSearchInput",
1328
+ "source": "packages/mcp-server/src/render/component-map.ts",
1329
+ "primitive": "html:div",
1330
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1331
+ },
1332
+ "approvalState": "pending-approval",
1333
+ "evidence": [
1334
+ "packages/mcp-server/src/render/component-map.ts#renderSearchInput",
1335
+ "traits/behavioral/Searchable.trait.yaml",
1336
+ "packages/components-react/evidence/react-readiness.v1.json#SearchInput",
1337
+ "packages/components-vue/evidence/vue-readiness.v1.json#SearchInput",
1338
+ "packages/component-contracts/src/contracts.ts#SearchInput"
1339
+ ],
1340
+ "implementationStatus": "implemented-evidence-complete",
1341
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1342
+ },
1343
+ {
1344
+ "id": "Select",
1345
+ "proposedClassification": "native",
1346
+ "approvalState": "pending-approval",
1347
+ "evidence": [
1348
+ "packages/mcp-server/src/render/component-map.ts#renderSelect",
1349
+ "src/components/base/Select.tsx",
1350
+ "src/index.ts",
1351
+ "packages/components-react/evidence/react-readiness.v1.json#Select",
1352
+ "packages/components-vue/evidence/vue-readiness.v1.json#Select",
1353
+ "packages/component-contracts/src/contracts.ts#Select"
1354
+ ],
1355
+ "implementationStatus": "implemented-evidence-complete",
1356
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
1357
+ "proposedResolution": {
1358
+ "action": "retain-native",
1359
+ "surface": "html",
1360
+ "source": "packages/mcp-server/src/render/component-map.ts",
1361
+ "implementation": "renderSelect",
1362
+ "publicIdRetained": true
1363
+ }
1364
+ },
1365
+ {
1366
+ "id": "SortIndicator",
1367
+ "proposedClassification": "native",
1368
+ "approvalState": "pending-approval",
1369
+ "evidence": [
1370
+ "traits/behavioral/Sortable.trait.yaml",
1371
+ "packages/components-react/evidence/react-readiness.v1.json#SortIndicator",
1372
+ "packages/components-vue/evidence/vue-readiness.v1.json#SortIndicator",
1373
+ "packages/component-contracts/src/contracts.ts#SortIndicator"
1374
+ ],
1375
+ "implementationStatus": "implemented-evidence-complete",
1376
+ "proposedResolution": {
1377
+ "surface": "react+vue+html",
1378
+ "implementation": "SortIndicator",
1379
+ "source": "packages/component-contracts/src/contracts.ts",
1380
+ "publicIdRetained": true
1381
+ },
1382
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1383
+ },
1384
+ {
1385
+ "id": "Stack",
1386
+ "proposedClassification": "native",
1387
+ "approvalState": "pending-approval",
1388
+ "evidence": [
1389
+ "packages/mcp-server/src/render/component-map.ts#renderStack",
1390
+ "packages/components-react/evidence/react-readiness.v1.json#Stack",
1391
+ "packages/components-vue/evidence/vue-readiness.v1.json#Stack",
1392
+ "packages/component-contracts/src/contracts.ts#Stack"
1393
+ ],
1394
+ "implementationStatus": "implemented-evidence-complete",
1395
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
1396
+ "proposedResolution": {
1397
+ "action": "retain-native",
1398
+ "surface": "html",
1399
+ "source": "packages/mcp-server/src/render/component-map.ts",
1400
+ "implementation": "renderStack",
1401
+ "publicIdRetained": true
1402
+ }
1403
+ },
1404
+ {
1405
+ "id": "StateTransitionEvent",
1406
+ "proposedClassification": "recipe",
1407
+ "proposedResolution": {
1408
+ "surface": "html",
1409
+ "implementation": "renderStateTransitionEvent",
1410
+ "source": "packages/mcp-server/src/render/component-map.ts",
1411
+ "primitive": "html:article",
1412
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1413
+ },
1414
+ "approvalState": "pending-approval",
1415
+ "evidence": [
1416
+ "packages/mcp-server/src/render/component-map.ts#renderStateTransitionEvent",
1417
+ "traits/lifecycle/Stateful.trait.yaml"
1418
+ ],
1419
+ "implementationStatus": "pending",
1420
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1421
+ },
1422
+ {
1423
+ "id": "StatusBadge",
1424
+ "proposedClassification": "recipe",
1425
+ "proposedResolution": {
1426
+ "surface": "html",
1427
+ "implementation": "renderStatusBadge",
1428
+ "source": "packages/mcp-server/src/render/component-map.ts",
1429
+ "primitive": "html:span",
1430
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1431
+ },
1432
+ "approvalState": "pending-approval",
1433
+ "evidence": [
1434
+ "packages/mcp-server/src/render/component-map.ts#renderStatusBadge",
1435
+ "traits/lifecycle/Stateful.trait.yaml",
1436
+ "traits/visual/Statusable.trait.yaml",
1437
+ "packages/components-react/evidence/react-readiness.v1.json#StatusBadge",
1438
+ "packages/components-vue/evidence/vue-readiness.v1.json#StatusBadge",
1439
+ "packages/component-contracts/src/contracts.ts#StatusBadge"
1440
+ ],
1441
+ "implementationStatus": "implemented-evidence-complete",
1442
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1443
+ },
1444
+ {
1445
+ "id": "StatusColorLegend",
1446
+ "proposedClassification": "recipe",
1447
+ "proposedResolution": {
1448
+ "surface": "html",
1449
+ "implementation": "renderStatusColorLegend",
1450
+ "source": "packages/mcp-server/src/render/component-map.ts",
1451
+ "primitive": "html:section",
1452
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1453
+ },
1454
+ "approvalState": "pending-approval",
1455
+ "evidence": [
1456
+ "packages/mcp-server/src/render/component-map.ts#renderStatusColorLegend",
1457
+ "traits/visual/Colorized.trait.yaml"
1458
+ ],
1459
+ "implementationStatus": "pending",
1460
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1461
+ },
1462
+ {
1463
+ "id": "StatusSelector",
1464
+ "proposedClassification": "recipe",
1465
+ "proposedResolution": {
1466
+ "surface": "html",
1467
+ "implementation": "renderStatusSelector",
1468
+ "source": "packages/mcp-server/src/render/component-map.ts",
1469
+ "primitive": "html:div",
1470
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1471
+ },
1472
+ "approvalState": "pending-approval",
1473
+ "evidence": [
1474
+ "packages/mcp-server/src/render/component-map.ts#renderStatusSelector",
1475
+ "traits/lifecycle/Stateful.trait.yaml",
1476
+ "packages/components-react/evidence/react-readiness.v1.json#StatusSelector",
1477
+ "packages/components-vue/evidence/vue-readiness.v1.json#StatusSelector",
1478
+ "packages/component-contracts/src/contracts.ts#StatusSelector"
1479
+ ],
1480
+ "implementationStatus": "implemented-evidence-complete",
1481
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1482
+ },
1483
+ {
1484
+ "id": "StatusTimeline",
1485
+ "proposedClassification": "recipe",
1486
+ "proposedResolution": {
1487
+ "surface": "html",
1488
+ "implementation": "renderStatusTimeline",
1489
+ "source": "packages/mcp-server/src/render/component-map.ts",
1490
+ "primitive": "html:div",
1491
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1492
+ },
1493
+ "approvalState": "pending-approval",
1494
+ "evidence": [
1495
+ "packages/mcp-server/src/render/component-map.ts#renderStatusTimeline",
1496
+ "traits/lifecycle/Stateful.trait.yaml",
1497
+ "packages/components-react/evidence/react-readiness.v1.json#StatusTimeline",
1498
+ "packages/components-vue/evidence/vue-readiness.v1.json#StatusTimeline",
1499
+ "packages/component-contracts/src/contracts.ts#StatusTimeline"
1500
+ ],
1501
+ "implementationStatus": "implemented-evidence-complete",
1502
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1503
+ },
1504
+ {
1505
+ "id": "Table",
1506
+ "proposedClassification": "native",
1507
+ "approvalState": "pending-approval",
1508
+ "evidence": [
1509
+ "packages/mcp-server/src/render/component-map.ts#renderTable",
1510
+ "src/components/base/Table.tsx",
1511
+ "src/index.ts",
1512
+ "packages/components-react/evidence/react-readiness.v1.json#Table",
1513
+ "packages/components-vue/evidence/vue-readiness.v1.json#Table",
1514
+ "packages/component-contracts/src/contracts.ts#Table"
1515
+ ],
1516
+ "implementationStatus": "implemented-evidence-complete",
1517
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
1518
+ "proposedResolution": {
1519
+ "action": "retain-native",
1520
+ "surface": "html",
1521
+ "source": "packages/mcp-server/src/render/component-map.ts",
1522
+ "implementation": "renderTable",
1523
+ "publicIdRetained": true
1524
+ }
1525
+ },
1526
+ {
1527
+ "id": "Tabs",
1528
+ "proposedClassification": "native",
1529
+ "approvalState": "pending-approval",
1530
+ "evidence": [
1531
+ "packages/mcp-server/src/render/component-map.ts#renderTabs",
1532
+ "src/components/tabs/Tabs.tsx",
1533
+ "src/index.ts",
1534
+ "packages/components-react/evidence/react-readiness.v1.json#Tabs",
1535
+ "packages/components-vue/evidence/vue-readiness.v1.json#Tabs",
1536
+ "packages/component-contracts/src/contracts.ts#Tabs"
1537
+ ],
1538
+ "implementationStatus": "implemented-evidence-complete",
1539
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
1540
+ "proposedResolution": {
1541
+ "action": "retain-native",
1542
+ "surface": "html",
1543
+ "source": "packages/mcp-server/src/render/component-map.ts",
1544
+ "implementation": "renderTabs",
1545
+ "publicIdRetained": true
1546
+ }
1547
+ },
1548
+ {
1549
+ "id": "TagInput",
1550
+ "proposedClassification": "native",
1551
+ "approvalState": "pending-approval",
1552
+ "evidence": [
1553
+ "packages/mcp-server/src/render/component-map.ts#renderTagInput",
1554
+ "src/components/classification/TagInput.tsx",
1555
+ "src/index.ts",
1556
+ "traits/behavioral/Taggable.trait.yaml",
1557
+ "packages/components-react/evidence/react-readiness.v1.json#TagInput",
1558
+ "packages/components-vue/evidence/vue-readiness.v1.json#TagInput",
1559
+ "packages/component-contracts/src/contracts.ts#TagInput"
1560
+ ],
1561
+ "implementationStatus": "implemented-evidence-complete",
1562
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
1563
+ "proposedResolution": {
1564
+ "action": "retain-native",
1565
+ "surface": "html",
1566
+ "source": "packages/mcp-server/src/render/component-map.ts",
1567
+ "implementation": "renderTagInput",
1568
+ "publicIdRetained": true
1569
+ }
1570
+ },
1571
+ {
1572
+ "id": "TagManager",
1573
+ "proposedClassification": "recipe",
1574
+ "proposedResolution": {
1575
+ "surface": "html",
1576
+ "implementation": "renderTagManager",
1577
+ "source": "packages/mcp-server/src/render/component-map.ts",
1578
+ "primitive": "html:form",
1579
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1580
+ },
1581
+ "approvalState": "pending-approval",
1582
+ "evidence": [
1583
+ "packages/mcp-server/src/render/component-map.ts#renderTagManager",
1584
+ "traits/behavioral/Taggable.trait.yaml",
1585
+ "packages/components-react/evidence/react-readiness.v1.json#TagManager",
1586
+ "packages/components-vue/evidence/vue-readiness.v1.json#TagManager",
1587
+ "packages/component-contracts/src/contracts.ts#TagManager"
1588
+ ],
1589
+ "implementationStatus": "implemented-evidence-complete",
1590
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1591
+ },
1592
+ {
1593
+ "id": "TagPills",
1594
+ "proposedClassification": "recipe",
1595
+ "proposedResolution": {
1596
+ "surface": "html",
1597
+ "implementation": "renderTagPills",
1598
+ "source": "packages/mcp-server/src/render/component-map.ts",
1599
+ "primitive": "html:div",
1600
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1601
+ },
1602
+ "approvalState": "pending-approval",
1603
+ "evidence": [
1604
+ "packages/mcp-server/src/render/component-map.ts#renderTagPills",
1605
+ "traits/behavioral/Taggable.trait.yaml",
1606
+ "packages/components-react/evidence/react-readiness.v1.json#TagPills",
1607
+ "packages/components-vue/evidence/vue-readiness.v1.json#TagPills",
1608
+ "packages/component-contracts/src/contracts.ts#TagPills"
1609
+ ],
1610
+ "implementationStatus": "implemented-evidence-complete",
1611
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1612
+ },
1613
+ {
1614
+ "id": "TagSummary",
1615
+ "proposedClassification": "recipe",
1616
+ "proposedResolution": {
1617
+ "surface": "html",
1618
+ "implementation": "renderTagSummary",
1619
+ "source": "packages/mcp-server/src/render/component-map.ts",
1620
+ "primitive": "html:section",
1621
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1622
+ },
1623
+ "approvalState": "pending-approval",
1624
+ "evidence": [
1625
+ "packages/mcp-server/src/render/component-map.ts#renderTagSummary",
1626
+ "traits/behavioral/Taggable.trait.yaml",
1627
+ "packages/components-react/evidence/react-readiness.v1.json#TagSummary",
1628
+ "packages/components-vue/evidence/vue-readiness.v1.json#TagSummary",
1629
+ "packages/component-contracts/src/contracts.ts#TagSummary"
1630
+ ],
1631
+ "implementationStatus": "implemented-evidence-complete",
1632
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1633
+ },
1634
+ {
1635
+ "id": "TemplatePicker",
1636
+ "proposedClassification": "recipe",
1637
+ "proposedResolution": {
1638
+ "surface": "html",
1639
+ "implementation": "renderTemplatePicker",
1640
+ "source": "packages/mcp-server/src/render/component-map.ts",
1641
+ "primitive": "html:fieldset",
1642
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1643
+ },
1644
+ "approvalState": "pending-approval",
1645
+ "evidence": [
1646
+ "packages/mcp-server/src/render/component-map.ts#renderTemplatePicker",
1647
+ "traits/core/Communicable.trait.yaml",
1648
+ "packages/components-react/evidence/react-readiness.v1.json#TemplatePicker",
1649
+ "packages/components-vue/evidence/vue-readiness.v1.json#TemplatePicker",
1650
+ "packages/component-contracts/src/contracts.ts#TemplatePicker"
1651
+ ],
1652
+ "implementationStatus": "implemented-evidence-complete",
1653
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1654
+ },
1655
+ {
1656
+ "id": "Text",
1657
+ "proposedClassification": "native",
1658
+ "approvalState": "pending-approval",
1659
+ "evidence": [
1660
+ "packages/mcp-server/src/render/component-map.ts#renderText",
1661
+ "src/components/base/Text.tsx",
1662
+ "src/index.ts",
1663
+ "packages/components-react/evidence/react-readiness.v1.json#Text",
1664
+ "packages/components-vue/evidence/vue-readiness.v1.json#Text",
1665
+ "packages/component-contracts/src/contracts.ts#Text"
1666
+ ],
1667
+ "implementationStatus": "implemented-evidence-complete",
1668
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
1669
+ "proposedResolution": {
1670
+ "action": "retain-native",
1671
+ "surface": "html",
1672
+ "source": "packages/mcp-server/src/render/component-map.ts",
1673
+ "implementation": "renderText",
1674
+ "publicIdRetained": true
1675
+ }
1676
+ },
1677
+ {
1678
+ "id": "Textarea",
1679
+ "proposedClassification": "native",
1680
+ "approvalState": "pending-approval",
1681
+ "evidence": [
1682
+ "packages/mcp-server/src/render/component-map.ts#renderTextarea",
1683
+ "src/components/base/Textarea.tsx",
1684
+ "src/index.ts",
1685
+ "packages/components-react/evidence/react-readiness.v1.json#Textarea",
1686
+ "packages/components-vue/evidence/vue-readiness.v1.json#Textarea",
1687
+ "packages/component-contracts/src/contracts.ts#Textarea"
1688
+ ],
1689
+ "implementationStatus": "implemented-evidence-complete",
1690
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal.",
1691
+ "proposedResolution": {
1692
+ "action": "retain-native",
1693
+ "surface": "html",
1694
+ "source": "packages/mcp-server/src/render/component-map.ts",
1695
+ "implementation": "renderTextarea",
1696
+ "publicIdRetained": true
1697
+ }
1698
+ },
1699
+ {
1700
+ "id": "TimelineEntryLabel",
1701
+ "proposedClassification": "recipe",
1702
+ "approvalState": "pending-approval",
1703
+ "evidence": [
1704
+ "traits/content/Labelled.trait.yaml",
1705
+ "packages/components-react/evidence/react-readiness.v1.json#TimelineEntryLabel",
1706
+ "packages/components-vue/evidence/vue-readiness.v1.json#TimelineEntryLabel",
1707
+ "packages/component-contracts/src/contracts.ts#TimelineEntryLabel"
1708
+ ],
1709
+ "implementationStatus": "implemented-evidence-complete",
1710
+ "proposedResolution": {
1711
+ "primitive": "InlineLabel",
1712
+ "source": "packages/components-react/src/disputed.tsx",
1713
+ "publicIdRetained": true
1714
+ },
1715
+ "compatibilityNote": "Compact timeline recipe defaults truncation to 40; explicit maxLength, full mode and authored content preserve tested InlineLabel precedence."
1716
+ },
1717
+ {
1718
+ "id": "VizAreaControls",
1719
+ "proposedClassification": "recipe",
1720
+ "proposedResolution": {
1721
+ "surface": "html",
1722
+ "implementation": "renderVizAreaControls",
1723
+ "source": "packages/mcp-server/src/render/component-map.ts",
1724
+ "primitive": "html:fieldset",
1725
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1726
+ },
1727
+ "approvalState": "pending-approval",
1728
+ "evidence": [
1729
+ "packages/mcp-server/src/render/component-map.ts#renderVizAreaControls",
1730
+ "traits/viz/mark-area.trait.yaml"
1731
+ ],
1732
+ "implementationStatus": "pending",
1733
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1734
+ },
1735
+ {
1736
+ "id": "VizAreaPreview",
1737
+ "proposedClassification": "recipe",
1738
+ "proposedResolution": {
1739
+ "surface": "html",
1740
+ "implementation": "renderVizAreaPreview",
1741
+ "source": "packages/mcp-server/src/render/component-map.ts",
1742
+ "primitive": "html:div",
1743
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1744
+ },
1745
+ "approvalState": "pending-approval",
1746
+ "evidence": [
1747
+ "packages/mcp-server/src/render/component-map.ts#renderVizAreaPreview",
1748
+ "traits/viz/mark-area.trait.yaml",
1749
+ "packages/components-react/evidence/react-readiness.v1.json#VizAreaPreview",
1750
+ "packages/components-vue/evidence/vue-readiness.v1.json#VizAreaPreview",
1751
+ "packages/component-contracts/src/contracts.ts#VizAreaPreview"
1752
+ ],
1753
+ "implementationStatus": "implemented-evidence-complete",
1754
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Governed framework implementation and measurements are linked; classification remains a proposal."
1755
+ },
1756
+ {
1757
+ "id": "VizAxisControls",
1758
+ "proposedClassification": "recipe",
1759
+ "proposedResolution": {
1760
+ "surface": "html",
1761
+ "implementation": "renderVizAxisControls",
1762
+ "source": "packages/mcp-server/src/render/component-map.ts",
1763
+ "primitive": "html:fieldset",
1764
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1765
+ },
1766
+ "approvalState": "pending-approval",
1767
+ "evidence": [
1768
+ "packages/mcp-server/src/render/component-map.ts#renderVizAxisControls",
1769
+ "traits/viz/encoding-position-x.trait.yaml",
1770
+ "traits/viz/encoding-position-y.trait.yaml"
1771
+ ],
1772
+ "implementationStatus": "pending",
1773
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1774
+ },
1775
+ {
1776
+ "id": "VizAxisSummary",
1777
+ "proposedClassification": "recipe",
1778
+ "proposedResolution": {
1779
+ "surface": "html",
1780
+ "implementation": "renderVizAxisSummary",
1781
+ "source": "packages/mcp-server/src/render/component-map.ts",
1782
+ "primitive": "html:section",
1783
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1784
+ },
1785
+ "approvalState": "pending-approval",
1786
+ "evidence": [
1787
+ "packages/mcp-server/src/render/component-map.ts#renderVizAxisSummary",
1788
+ "traits/viz/encoding-position-x.trait.yaml",
1789
+ "traits/viz/encoding-position-y.trait.yaml"
1790
+ ],
1791
+ "implementationStatus": "pending",
1792
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1793
+ },
1794
+ {
1795
+ "id": "VizColorControls",
1796
+ "proposedClassification": "recipe",
1797
+ "proposedResolution": {
1798
+ "surface": "html",
1799
+ "implementation": "renderVizColorControls",
1800
+ "source": "packages/mcp-server/src/render/component-map.ts",
1801
+ "primitive": "html:fieldset",
1802
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1803
+ },
1804
+ "approvalState": "pending-approval",
1805
+ "evidence": [
1806
+ "packages/mcp-server/src/render/component-map.ts#renderVizColorControls",
1807
+ "traits/viz/encoding-color.trait.yaml"
1808
+ ],
1809
+ "implementationStatus": "pending",
1810
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1811
+ },
1812
+ {
1813
+ "id": "VizColorLegendConfig",
1814
+ "proposedClassification": "recipe",
1815
+ "proposedResolution": {
1816
+ "surface": "html",
1817
+ "implementation": "renderVizColorLegendConfig",
1818
+ "source": "packages/mcp-server/src/render/component-map.ts",
1819
+ "primitive": "html:section",
1820
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1821
+ },
1822
+ "approvalState": "pending-approval",
1823
+ "evidence": [
1824
+ "packages/mcp-server/src/render/component-map.ts#renderVizColorLegendConfig",
1825
+ "traits/viz/encoding-color.trait.yaml"
1826
+ ],
1827
+ "implementationStatus": "pending",
1828
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1829
+ },
1830
+ {
1831
+ "id": "VizEncodingBadge",
1832
+ "proposedClassification": "recipe",
1833
+ "proposedResolution": {
1834
+ "surface": "html",
1835
+ "implementation": "renderVizEncodingBadge",
1836
+ "source": "packages/mcp-server/src/render/component-map.ts",
1837
+ "primitive": "html:span",
1838
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1839
+ },
1840
+ "approvalState": "pending-approval",
1841
+ "evidence": [
1842
+ "packages/mcp-server/src/render/component-map.ts#renderVizEncodingBadge",
1843
+ "traits/viz/encoding-color.trait.yaml",
1844
+ "traits/viz/encoding-position-x.trait.yaml",
1845
+ "traits/viz/encoding-position-y.trait.yaml",
1846
+ "traits/viz/encoding-size.trait.yaml"
1847
+ ],
1848
+ "implementationStatus": "pending",
1849
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1850
+ },
1851
+ {
1852
+ "id": "VizGraphPreview",
1853
+ "proposedClassification": "recipe",
1854
+ "proposedResolution": {
1855
+ "surface": "html",
1856
+ "implementation": "renderVizGraphPreview",
1857
+ "source": "packages/mcp-server/src/render/component-map.ts",
1858
+ "primitive": "html:figure",
1859
+ "primitiveBasis": "Named wrapper embeds the exact public force_graph SVG."
1860
+ },
1861
+ "approvalState": "pending-approval",
1862
+ "evidence": [
1863
+ "traits/viz/mark-graph.trait.yaml",
1864
+ "packages/component-contracts/src/contracts.ts#VizGraphPreview"
1865
+ ],
1866
+ "implementationStatus": "implemented",
1867
+ "compatibilityNote": "New identity explicitly requested by s199-m06; classification remains a proposal independently of measured surfaces."
1868
+ },
1869
+ {
1870
+ "id": "VizHeatmapControls",
1871
+ "proposedClassification": "recipe",
1872
+ "proposedResolution": {
1873
+ "surface": "html",
1874
+ "implementation": "renderVizHeatmapControls",
1875
+ "source": "packages/mcp-server/src/render/component-map.ts",
1876
+ "primitive": "html:fieldset",
1877
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1878
+ },
1879
+ "approvalState": "pending-approval",
1880
+ "evidence": [
1881
+ "packages/mcp-server/src/render/component-map.ts#renderVizHeatmapControls"
1882
+ ],
1883
+ "implementationStatus": "pending",
1884
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1885
+ },
1886
+ {
1887
+ "id": "VizHeatmapPreview",
1888
+ "proposedClassification": "recipe",
1889
+ "proposedResolution": {
1890
+ "surface": "html",
1891
+ "implementation": "renderVizHeatmapPreview",
1892
+ "source": "packages/mcp-server/src/render/component-map.ts",
1893
+ "primitive": "html:div",
1894
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1895
+ },
1896
+ "approvalState": "pending-approval",
1897
+ "evidence": [
1898
+ "packages/mcp-server/src/render/component-map.ts#renderVizHeatmapPreview"
1899
+ ],
1900
+ "implementationStatus": "pending",
1901
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1902
+ },
1903
+ {
1904
+ "id": "VizLineControls",
1905
+ "proposedClassification": "recipe",
1906
+ "proposedResolution": {
1907
+ "surface": "html",
1908
+ "implementation": "renderVizLineControls",
1909
+ "source": "packages/mcp-server/src/render/component-map.ts",
1910
+ "primitive": "html:fieldset",
1911
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1912
+ },
1913
+ "approvalState": "pending-approval",
1914
+ "evidence": [
1915
+ "packages/mcp-server/src/render/component-map.ts#renderVizLineControls",
1916
+ "traits/viz/mark-line.trait.yaml"
1917
+ ],
1918
+ "implementationStatus": "pending",
1919
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1920
+ },
1921
+ {
1922
+ "id": "VizLinePreview",
1923
+ "proposedClassification": "recipe",
1924
+ "proposedResolution": {
1925
+ "surface": "html",
1926
+ "implementation": "renderVizLinePreview",
1927
+ "source": "packages/mcp-server/src/render/component-map.ts",
1928
+ "primitive": "html:div",
1929
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1930
+ },
1931
+ "approvalState": "pending-approval",
1932
+ "evidence": [
1933
+ "packages/mcp-server/src/render/component-map.ts#renderVizLinePreview",
1934
+ "traits/viz/mark-line.trait.yaml"
1935
+ ],
1936
+ "implementationStatus": "pending",
1937
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1938
+ },
1939
+ {
1940
+ "id": "VizMarkControls",
1941
+ "proposedClassification": "recipe",
1942
+ "proposedResolution": {
1943
+ "surface": "html",
1944
+ "implementation": "renderVizMarkControls",
1945
+ "source": "packages/mcp-server/src/render/component-map.ts",
1946
+ "primitive": "html:fieldset",
1947
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1948
+ },
1949
+ "approvalState": "pending-approval",
1950
+ "evidence": [
1951
+ "packages/mcp-server/src/render/component-map.ts#renderVizMarkControls",
1952
+ "traits/viz/mark-bar.trait.yaml"
1953
+ ],
1954
+ "implementationStatus": "pending",
1955
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1956
+ },
1957
+ {
1958
+ "id": "VizMarkPreview",
1959
+ "proposedClassification": "recipe",
1960
+ "proposedResolution": {
1961
+ "surface": "html",
1962
+ "implementation": "renderVizMarkPreview",
1963
+ "source": "packages/mcp-server/src/render/component-map.ts",
1964
+ "primitive": "html:div",
1965
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1966
+ },
1967
+ "approvalState": "pending-approval",
1968
+ "evidence": [
1969
+ "packages/mcp-server/src/render/component-map.ts#renderVizMarkPreview",
1970
+ "traits/viz/mark-bar.trait.yaml"
1971
+ ],
1972
+ "implementationStatus": "pending",
1973
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1974
+ },
1975
+ {
1976
+ "id": "VizOpacityControls",
1977
+ "proposedClassification": "recipe",
1978
+ "proposedResolution": {
1979
+ "surface": "html",
1980
+ "implementation": "renderVizOpacityControls",
1981
+ "source": "packages/mcp-server/src/render/component-map.ts",
1982
+ "primitive": "html:fieldset",
1983
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
1984
+ },
1985
+ "approvalState": "pending-approval",
1986
+ "evidence": [
1987
+ "packages/mcp-server/src/render/component-map.ts#renderVizOpacityControls"
1988
+ ],
1989
+ "implementationStatus": "pending",
1990
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
1991
+ },
1992
+ {
1993
+ "id": "VizOpacitySummary",
1994
+ "proposedClassification": "recipe",
1995
+ "proposedResolution": {
1996
+ "surface": "html",
1997
+ "implementation": "renderVizOpacitySummary",
1998
+ "source": "packages/mcp-server/src/render/component-map.ts",
1999
+ "primitive": "html:section",
2000
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2001
+ },
2002
+ "approvalState": "pending-approval",
2003
+ "evidence": [
2004
+ "packages/mcp-server/src/render/component-map.ts#renderVizOpacitySummary"
2005
+ ],
2006
+ "implementationStatus": "pending",
2007
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2008
+ },
2009
+ {
2010
+ "id": "VizPointControls",
2011
+ "proposedClassification": "recipe",
2012
+ "proposedResolution": {
2013
+ "surface": "html",
2014
+ "implementation": "renderVizPointControls",
2015
+ "source": "packages/mcp-server/src/render/component-map.ts",
2016
+ "primitive": "html:fieldset",
2017
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2018
+ },
2019
+ "approvalState": "pending-approval",
2020
+ "evidence": [
2021
+ "packages/mcp-server/src/render/component-map.ts#renderVizPointControls",
2022
+ "traits/viz/mark-point.trait.yaml"
2023
+ ],
2024
+ "implementationStatus": "pending",
2025
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2026
+ },
2027
+ {
2028
+ "id": "VizPointPreview",
2029
+ "proposedClassification": "recipe",
2030
+ "proposedResolution": {
2031
+ "surface": "html",
2032
+ "implementation": "renderVizPointPreview",
2033
+ "source": "packages/mcp-server/src/render/component-map.ts",
2034
+ "primitive": "html:div",
2035
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2036
+ },
2037
+ "approvalState": "pending-approval",
2038
+ "evidence": [
2039
+ "packages/mcp-server/src/render/component-map.ts#renderVizPointPreview",
2040
+ "traits/viz/mark-point.trait.yaml"
2041
+ ],
2042
+ "implementationStatus": "pending",
2043
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2044
+ },
2045
+ {
2046
+ "id": "VizRoleBadge",
2047
+ "proposedClassification": "recipe",
2048
+ "proposedResolution": {
2049
+ "surface": "html",
2050
+ "implementation": "renderVizRoleBadge",
2051
+ "source": "packages/mcp-server/src/render/component-map.ts",
2052
+ "primitive": "html:span",
2053
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2054
+ },
2055
+ "approvalState": "pending-approval",
2056
+ "evidence": [
2057
+ "packages/mcp-server/src/render/component-map.ts#renderVizRoleBadge",
2058
+ "traits/viz/mark-area.trait.yaml",
2059
+ "traits/viz/mark-bar.trait.yaml",
2060
+ "traits/viz/mark-line.trait.yaml",
2061
+ "traits/viz/mark-point.trait.yaml"
2062
+ ],
2063
+ "implementationStatus": "pending",
2064
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2065
+ },
2066
+ {
2067
+ "id": "VizScaleControls",
2068
+ "proposedClassification": "recipe",
2069
+ "proposedResolution": {
2070
+ "surface": "html",
2071
+ "implementation": "renderVizScaleControls",
2072
+ "source": "packages/mcp-server/src/render/component-map.ts",
2073
+ "primitive": "html:fieldset",
2074
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2075
+ },
2076
+ "approvalState": "pending-approval",
2077
+ "evidence": [
2078
+ "packages/mcp-server/src/render/component-map.ts#renderVizScaleControls",
2079
+ "traits/viz/scale-linear.trait.yaml",
2080
+ "traits/viz/scale-temporal.trait.yaml"
2081
+ ],
2082
+ "implementationStatus": "pending",
2083
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2084
+ },
2085
+ {
2086
+ "id": "VizScaleSummary",
2087
+ "proposedClassification": "recipe",
2088
+ "proposedResolution": {
2089
+ "surface": "html",
2090
+ "implementation": "renderVizScaleSummary",
2091
+ "source": "packages/mcp-server/src/render/component-map.ts",
2092
+ "primitive": "html:section",
2093
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2094
+ },
2095
+ "approvalState": "pending-approval",
2096
+ "evidence": [
2097
+ "packages/mcp-server/src/render/component-map.ts#renderVizScaleSummary",
2098
+ "traits/viz/scale-linear.trait.yaml",
2099
+ "traits/viz/scale-temporal.trait.yaml"
2100
+ ],
2101
+ "implementationStatus": "pending",
2102
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2103
+ },
2104
+ {
2105
+ "id": "VizScatterControls",
2106
+ "proposedClassification": "recipe",
2107
+ "proposedResolution": {
2108
+ "surface": "html",
2109
+ "implementation": "renderVizScatterControls",
2110
+ "source": "packages/mcp-server/src/render/component-map.ts",
2111
+ "primitive": "html:fieldset",
2112
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2113
+ },
2114
+ "approvalState": "pending-approval",
2115
+ "evidence": [
2116
+ "packages/mcp-server/src/render/component-map.ts#renderVizScatterControls"
2117
+ ],
2118
+ "implementationStatus": "pending",
2119
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2120
+ },
2121
+ {
2122
+ "id": "VizScatterPreview",
2123
+ "proposedClassification": "recipe",
2124
+ "proposedResolution": {
2125
+ "surface": "html",
2126
+ "implementation": "renderVizScatterPreview",
2127
+ "source": "packages/mcp-server/src/render/component-map.ts",
2128
+ "primitive": "html:div",
2129
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2130
+ },
2131
+ "approvalState": "pending-approval",
2132
+ "evidence": [
2133
+ "packages/mcp-server/src/render/component-map.ts#renderVizScatterPreview"
2134
+ ],
2135
+ "implementationStatus": "pending",
2136
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2137
+ },
2138
+ {
2139
+ "id": "VizShapeControls",
2140
+ "proposedClassification": "recipe",
2141
+ "proposedResolution": {
2142
+ "surface": "html",
2143
+ "implementation": "renderVizShapeControls",
2144
+ "source": "packages/mcp-server/src/render/component-map.ts",
2145
+ "primitive": "html:fieldset",
2146
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2147
+ },
2148
+ "approvalState": "pending-approval",
2149
+ "evidence": [
2150
+ "packages/mcp-server/src/render/component-map.ts#renderVizShapeControls"
2151
+ ],
2152
+ "implementationStatus": "pending",
2153
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2154
+ },
2155
+ {
2156
+ "id": "VizShapeLegend",
2157
+ "proposedClassification": "recipe",
2158
+ "proposedResolution": {
2159
+ "surface": "html",
2160
+ "implementation": "renderVizShapeLegend",
2161
+ "source": "packages/mcp-server/src/render/component-map.ts",
2162
+ "primitive": "html:section",
2163
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2164
+ },
2165
+ "approvalState": "pending-approval",
2166
+ "evidence": [
2167
+ "packages/mcp-server/src/render/component-map.ts#renderVizShapeLegend"
2168
+ ],
2169
+ "implementationStatus": "pending",
2170
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2171
+ },
2172
+ {
2173
+ "id": "VizSizeControls",
2174
+ "proposedClassification": "recipe",
2175
+ "proposedResolution": {
2176
+ "surface": "html",
2177
+ "implementation": "renderVizSizeControls",
2178
+ "source": "packages/mcp-server/src/render/component-map.ts",
2179
+ "primitive": "html:fieldset",
2180
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2181
+ },
2182
+ "approvalState": "pending-approval",
2183
+ "evidence": [
2184
+ "packages/mcp-server/src/render/component-map.ts#renderVizSizeControls",
2185
+ "traits/viz/encoding-size.trait.yaml"
2186
+ ],
2187
+ "implementationStatus": "pending",
2188
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2189
+ },
2190
+ {
2191
+ "id": "VizSizeSummary",
2192
+ "proposedClassification": "recipe",
2193
+ "proposedResolution": {
2194
+ "surface": "html",
2195
+ "implementation": "renderVizSizeSummary",
2196
+ "source": "packages/mcp-server/src/render/component-map.ts",
2197
+ "primitive": "html:section",
2198
+ "primitiveBasis": "Existing HTML renderer root; preserves recipe identity and does not claim a React/Vue implementation for pending rows."
2199
+ },
2200
+ "approvalState": "pending-approval",
2201
+ "evidence": [
2202
+ "packages/mcp-server/src/render/component-map.ts#renderVizSizeSummary",
2203
+ "traits/viz/encoding-size.trait.yaml"
2204
+ ],
2205
+ "implementationStatus": "pending",
2206
+ "compatibilityNote": "Retain the named public ID and existing HTML discovery contract. Runtime intent follows the retained trait/renderer evidence; React/Vue implementation and measurements are still pending, with no substitution, merger or retirement approved."
2207
+ }
2208
+ ]
2209
+ }