[
  {
    "name": "AddressCollectionPanel",
    "displayName": "AddressCollectionPanel",
    "description": "Groups an address heading, summary and authored address content.",
    "categories": [
      "core"
    ],
    "tags": [
      "address",
      "delivery",
      "location",
      "validation"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Addressable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#AddressCollectionPanel"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderAddressCollectionPanel"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#AddressCollectionPanel"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressCollectionPanel"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#AddressCollectionPanel",
            "build record (not shipped): vue-measured.json#AddressCollectionPanel",
            "packages/components-react/evidence/react-readiness.v1.json#AddressCollectionPanel",
            "packages/components-react/test/accessibility.spec.tsx#AddressCollectionPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressCollectionPanel",
            "packages/components-vue/test/accessibility.spec.ts#AddressCollectionPanel"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#AddressCollectionPanel",
            "build record (not shipped): vue-theme/report.json#AddressCollectionPanel",
            "packages/components-react/evidence/react-readiness.v1.json#AddressCollectionPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressCollectionPanel"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#AddressCollectionPanel",
            "build record (not shipped): vue-measured.json#AddressCollectionPanel",
            "packages/components-react/evidence/react-readiness.v1.json#AddressCollectionPanel",
            "packages/components-react/test/scenario-interactions.spec.tsx#AddressCollectionPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressCollectionPanel",
            "packages/components-vue/test/scenario-interactions.spec.ts#AddressCollectionPanel"
          ],
          "reason": "AddressCollectionPanel presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "addresses",
        "trait": "Addressable"
      },
      "roleField": {
        "type": "string",
        "default": "address_roles",
        "trait": "Addressable"
      },
      "defaultRoleField": {
        "type": "string",
        "default": "default_address_role",
        "trait": "Addressable"
      },
      "roleParameter": {
        "type": "string",
        "default": "roles",
        "trait": "Addressable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "body": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "emptyMessage": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "metadata": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "body": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "emptyMessage": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "metadata": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "AddressEditor",
    "displayName": "AddressEditor",
    "description": "Edits street, city, region and postal code through labelled inputs.",
    "categories": [
      "core"
    ],
    "tags": [
      "address",
      "delivery",
      "location",
      "validation"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Addressable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#AddressEditor"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderAddressEditor"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#AddressEditor"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressEditor"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/82",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/83",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/190",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/191",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#AddressEditor",
            "build record (not shipped): vue-measured.json#AddressEditor",
            "packages/components-react/evidence/react-readiness.v1.json#AddressEditor",
            "packages/components-react/test/accessibility.spec.tsx#AddressEditor",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressEditor",
            "packages/components-vue/test/accessibility.spec.ts#AddressEditor"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#AddressEditor",
            "build record (not shipped): vue-theme/report.json#AddressEditor",
            "packages/components-react/evidence/react-readiness.v1.json#AddressEditor",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressEditor"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#AddressEditor",
            "build record (not shipped): vue-measured.json#AddressEditor",
            "packages/components-react/evidence/react-readiness.v1.json#AddressEditor",
            "packages/components-react/test/scenario-interactions.spec.tsx#AddressEditor",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressEditor",
            "packages/components-vue/test/scenario-interactions.spec.ts#AddressEditor"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "addresses",
        "trait": "Addressable"
      },
      "roleParameter": {
        "type": "string",
        "default": "roles",
        "trait": "Addressable"
      },
      "allowDynamicParameter": {
        "type": "string",
        "default": "allowDynamicRoles",
        "trait": "Addressable"
      },
      "defaultRoleField": {
        "type": "string",
        "default": "default_address_role",
        "trait": "Addressable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "addressLine1": {
          "type": "string",
          "optional": true
        },
        "city": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "line1": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((address: AddressEditorValue) => void)",
          "optional": true
        },
        "postalCode": {
          "type": "string",
          "optional": true
        },
        "region": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "street": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "zip": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "addressLine1": {
          "type": "string",
          "optional": true
        },
        "city": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "line1": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "postalCode": {
          "type": "string",
          "optional": true
        },
        "region": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "street": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "zip": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "AddressSummaryBadge",
    "displayName": "AddressSummaryBadge",
    "description": "Shows a compact address label or role.",
    "categories": [
      "core"
    ],
    "tags": [
      "address",
      "delivery",
      "location",
      "validation"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Addressable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#AddressSummaryBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderAddressSummaryBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#AddressSummaryBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressSummaryBadge"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#AddressSummaryBadge",
            "build record (not shipped): vue-measured.json#AddressSummaryBadge",
            "packages/components-react/evidence/react-readiness.v1.json#AddressSummaryBadge",
            "packages/components-react/test/accessibility.spec.tsx#AddressSummaryBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressSummaryBadge",
            "packages/components-vue/test/accessibility.spec.ts#AddressSummaryBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#AddressSummaryBadge",
            "build record (not shipped): vue-theme/report.json#AddressSummaryBadge",
            "packages/components-react/evidence/react-readiness.v1.json#AddressSummaryBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressSummaryBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#AddressSummaryBadge",
            "build record (not shipped): vue-measured.json#AddressSummaryBadge",
            "packages/components-react/evidence/react-readiness.v1.json#AddressSummaryBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#AddressSummaryBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressSummaryBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#AddressSummaryBadge"
          ],
          "reason": "AddressSummaryBadge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "default_address_role",
        "trait": "Addressable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "role": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "emphasis": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "role": {
          "type": "unknown",
          "optional": true
        },
        "state": {
          "type": "unknown",
          "optional": true
        },
        "status": {
          "type": "unknown",
          "optional": true
        },
        "text": {
          "type": "unknown",
          "optional": true
        },
        "tone": {
          "type": "unknown",
          "optional": true
        },
        "value": {
          "type": "unknown",
          "optional": true
        },
        "variant": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "AddressValidationTimeline",
    "displayName": "AddressValidationTimeline",
    "description": "Lists recorded address validation events in time order.",
    "categories": [
      "core"
    ],
    "tags": [
      "address",
      "delivery",
      "location",
      "validation"
    ],
    "contexts": [
      "timeline"
    ],
    "regions": [
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#AddressValidationTimeline"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderAddressValidationTimeline"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#AddressValidationTimeline"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressValidationTimeline"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#AddressValidationTimeline",
            "build record (not shipped): vue-measured.json#AddressValidationTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#AddressValidationTimeline",
            "packages/components-react/test/accessibility.spec.tsx#AddressValidationTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressValidationTimeline",
            "packages/components-vue/test/accessibility.spec.ts#AddressValidationTimeline"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#AddressValidationTimeline",
            "build record (not shipped): vue-theme/report.json#AddressValidationTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#AddressValidationTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressValidationTimeline"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#AddressValidationTimeline",
            "build record (not shipped): vue-measured.json#AddressValidationTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#AddressValidationTimeline",
            "packages/components-react/test/scenario-interactions.spec.tsx#AddressValidationTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#AddressValidationTimeline",
            "packages/components-vue/test/scenario-interactions.spec.ts#AddressValidationTimeline"
          ],
          "reason": "AddressValidationTimeline presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "events": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "validations": {
          "type": "readonly unknown[]",
          "optional": true
        }
      },
      "vue": {
        "events": {
          "type": "unknown",
          "optional": true
        },
        "heading": {
          "type": "unknown",
          "optional": true
        },
        "history": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "name": {
          "type": "unknown",
          "optional": true
        },
        "title": {
          "type": "unknown",
          "optional": true
        },
        "validations": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "ArchivedRowOverlay",
    "displayName": "ArchivedRowOverlay",
    "description": "Marks an archived collection row while retaining its content.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "archival",
      "audit",
      "compliance",
      "lifecycle",
      "retention",
      "soft-delete"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "card",
      "detail",
      "list"
    ],
    "traits": [
      "Archivable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#ArchivedRowOverlay"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderArchivedRowOverlay"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#ArchivedRowOverlay"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchivedRowOverlay"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ArchivedRowOverlay",
            "build record (not shipped): vue-measured.json#ArchivedRowOverlay",
            "packages/components-react/evidence/react-readiness.v1.json#ArchivedRowOverlay",
            "packages/components-react/test/accessibility.spec.tsx#ArchivedRowOverlay",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchivedRowOverlay",
            "packages/components-vue/test/accessibility.spec.ts#ArchivedRowOverlay"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#ArchivedRowOverlay",
            "build record (not shipped): vue-theme/report.json#ArchivedRowOverlay",
            "packages/components-react/evidence/react-readiness.v1.json#ArchivedRowOverlay",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchivedRowOverlay"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#ArchivedRowOverlay",
            "build record (not shipped): vue-measured.json#ArchivedRowOverlay",
            "packages/components-react/evidence/react-readiness.v1.json#ArchivedRowOverlay",
            "packages/components-react/test/scenario-interactions.spec.tsx#ArchivedRowOverlay",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchivedRowOverlay",
            "packages/components-vue/test/scenario-interactions.spec.ts#ArchivedRowOverlay"
          ],
          "reason": "ArchivedRowOverlay presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "archivedField": {
        "type": "string",
        "default": "is_archived",
        "trait": "Archivable"
      },
      "style": {
        "type": "string",
        "default": "grayed",
        "trait": "Archivable"
      },
      "showBadge": {
        "type": "boolean",
        "default": true,
        "trait": "Archivable"
      },
      "separateTab": {
        "type": "boolean",
        "default": true,
        "trait": "Archivable"
      },
      "tabLabel": {
        "type": "string",
        "default": "Archived",
        "trait": "Archivable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "isArchived": {
          "type": "boolean",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "separateTab": {
          "type": "boolean",
          "optional": true
        },
        "showBadge": {
          "type": "boolean",
          "optional": true
        },
        "style": {
          "type": "\"grayed\"",
          "optional": true
        },
        "tabLabel": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "id": {
          "type": "string",
          "optional": true
        },
        "isArchived": {
          "type": "boolean",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "separateTab": {
          "type": "boolean",
          "optional": true
        },
        "showBadge": {
          "type": "boolean",
          "optional": true
        },
        "tabLabel": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "ArchiveEvent",
    "displayName": "ArchiveEvent",
    "description": "Describes an archive event with its recorded timestamp.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "archival",
      "audit",
      "compliance",
      "lifecycle",
      "retention",
      "soft-delete"
    ],
    "contexts": [
      "timeline"
    ],
    "regions": [
      "card",
      "detail",
      "list",
      "timeline"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#ArchiveEvent"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderArchiveEvent"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#ArchiveEvent"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchiveEvent"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ArchiveEvent",
            "build record (not shipped): vue-measured.json#ArchiveEvent",
            "packages/components-react/evidence/react-readiness.v1.json#ArchiveEvent",
            "packages/components-react/test/accessibility.spec.tsx#ArchiveEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchiveEvent",
            "packages/components-vue/test/accessibility.spec.ts#ArchiveEvent"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#ArchiveEvent",
            "build record (not shipped): vue-theme/report.json#ArchiveEvent",
            "packages/components-react/evidence/react-readiness.v1.json#ArchiveEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchiveEvent"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#ArchiveEvent",
            "build record (not shipped): vue-measured.json#ArchiveEvent",
            "packages/components-react/evidence/react-readiness.v1.json#ArchiveEvent",
            "packages/components-react/test/scenario-interactions.spec.tsx#ArchiveEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchiveEvent",
            "packages/components-vue/test/scenario-interactions.spec.ts#ArchiveEvent"
          ],
          "reason": "ArchiveEvent presents declared trait values and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "archivedAt": {
          "type": "string | null",
          "optional": true
        },
        "archivedBy": {
          "type": "string | null",
          "optional": true
        },
        "code": {
          "type": "string | null",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string | null",
          "optional": true
        },
        "restoredAt": {
          "type": "string | null",
          "optional": true
        },
        "showActor": {
          "type": "boolean",
          "optional": true
        },
        "showReason": {
          "type": "boolean",
          "optional": true
        },
        "status": {
          "type": "string | null",
          "optional": true
        },
        "timestamp": {
          "type": "string | null",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "archivedAt": {
          "type": "string | null",
          "optional": true
        },
        "archivedBy": {
          "type": "string | null",
          "optional": true
        },
        "code": {
          "type": "string | null",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string | null",
          "optional": true
        },
        "restoredAt": {
          "type": "string | null",
          "optional": true
        },
        "showActor": {
          "type": "boolean",
          "optional": true
        },
        "showReason": {
          "type": "boolean",
          "optional": true
        },
        "status": {
          "type": "string | null",
          "optional": true
        },
        "timestamp": {
          "type": "string | null",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "ArchivePill",
    "displayName": "ArchivePill",
    "description": "Marks whether a record is archived.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "archival",
      "audit",
      "compliance",
      "lifecycle",
      "retention",
      "soft-delete"
    ],
    "contexts": [
      "card"
    ],
    "regions": [
      "card",
      "detail",
      "list"
    ],
    "traits": [
      "Archivable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#ArchivePill"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderArchivePill"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#ArchivePill"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchivePill"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/144",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/145",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/158",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/159"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ArchivePill",
            "build record (not shipped): vue-measured.json#ArchivePill",
            "packages/components-react/evidence/react-readiness.v1.json#ArchivePill",
            "packages/components-react/test/accessibility.spec.tsx#ArchivePill",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchivePill",
            "packages/components-vue/test/accessibility.spec.ts#ArchivePill"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#ArchivePill",
            "build record (not shipped): vue-theme/report.json#ArchivePill",
            "packages/components-react/evidence/react-readiness.v1.json#ArchivePill",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchivePill"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#ArchivePill",
            "build record (not shipped): vue-measured.json#ArchivePill",
            "packages/components-react/evidence/react-readiness.v1.json#ArchivePill",
            "packages/components-react/test/scenario-interactions.spec.tsx#ArchivePill",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchivePill",
            "packages/components-vue/test/scenario-interactions.spec.ts#ArchivePill"
          ],
          "reason": "ArchivePill presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "is_archived",
        "trait": "Archivable"
      },
      "archivedAtField": {
        "type": "string",
        "default": "archived_at",
        "trait": "Archivable"
      },
      "hideWhenFalse": {
        "type": "boolean",
        "default": true,
        "trait": "Archivable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "hideWhenFalse": {
          "type": "boolean",
          "optional": true
        },
        "isArchived": {
          "type": "string | boolean",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        },
        "value": {
          "type": "string | boolean",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "emphasis": {
          "type": "unknown",
          "optional": true
        },
        "hideWhenFalse": {
          "type": "unknown",
          "optional": true
        },
        "isArchived": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "state": {
          "type": "unknown",
          "optional": true
        },
        "status": {
          "type": "unknown",
          "optional": true
        },
        "text": {
          "type": "unknown",
          "optional": true
        },
        "tone": {
          "type": "unknown",
          "optional": true
        },
        "value": {
          "type": "unknown",
          "optional": true
        },
        "variant": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "ArchiveSummary",
    "displayName": "ArchiveSummary",
    "description": "Shows a record's archive status and related details.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "archival",
      "audit",
      "compliance",
      "lifecycle",
      "retention",
      "soft-delete"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "list"
    ],
    "traits": [
      "Archivable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#ArchiveSummary"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderArchiveSummary"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#ArchiveSummary"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchiveSummary"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ArchiveSummary",
            "build record (not shipped): vue-measured.json#ArchiveSummary",
            "packages/components-react/evidence/react-readiness.v1.json#ArchiveSummary",
            "packages/components-react/test/accessibility.spec.tsx#ArchiveSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchiveSummary",
            "packages/components-vue/test/accessibility.spec.ts#ArchiveSummary"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#ArchiveSummary",
            "build record (not shipped): vue-theme/report.json#ArchiveSummary",
            "packages/components-react/evidence/react-readiness.v1.json#ArchiveSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchiveSummary"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#ArchiveSummary",
            "build record (not shipped): vue-measured.json#ArchiveSummary",
            "packages/components-react/evidence/react-readiness.v1.json#ArchiveSummary",
            "packages/components-react/test/scenario-interactions.spec.tsx#ArchiveSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#ArchiveSummary",
            "packages/components-vue/test/scenario-interactions.spec.ts#ArchiveSummary"
          ],
          "reason": "ArchiveSummary presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "hideWhenDefault": {
        "type": "boolean",
        "default": true,
        "trait": "Archivable"
      },
      "archivedField": {
        "type": "string",
        "default": "is_archived",
        "trait": "Archivable"
      },
      "archivedAtField": {
        "type": "string",
        "default": "archived_at",
        "trait": "Archivable"
      },
      "restoredAtField": {
        "type": "string",
        "default": "restored_at",
        "trait": "Archivable"
      },
      "reasonField": {
        "type": "string",
        "default": "archive_reason",
        "trait": "Archivable"
      },
      "archivedByField": {
        "type": "string",
        "default": "archived_by",
        "trait": "Archivable"
      },
      "metadataField": {
        "type": "string",
        "default": "archive_metadata",
        "trait": "Archivable"
      },
      "retainHistoryParameter": {
        "type": "string",
        "default": "retainHistory",
        "trait": "Archivable"
      },
      "restoreWindowParameter": {
        "type": "string",
        "default": "restoreWindowDays",
        "trait": "Archivable"
      },
      "allowPartialRestoreParameter": {
        "type": "string",
        "default": "allowPartialRestore",
        "trait": "Archivable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "archived": {
          "type": "string | boolean",
          "optional": true
        },
        "archivedAt": {
          "type": "string | null",
          "optional": true
        },
        "archiveReason": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hideWhenDefault": {
          "type": "boolean",
          "optional": true
        },
        "isArchived": {
          "type": "string | boolean",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string | boolean",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "archiveReason": {
          "type": "string",
          "optional": true
        },
        "archived": {
          "type": "string | boolean",
          "optional": true
        },
        "archivedAt": {
          "type": "string | null",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hideWhenDefault": {
          "type": "string | boolean",
          "optional": true
        },
        "isArchived": {
          "type": "string | boolean",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string | boolean",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "AuditEvent",
    "displayName": "AuditEvent",
    "description": "Shows one recorded audit event and its time.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "audit",
      "lifecycle",
      "metadata",
      "timestamp"
    ],
    "contexts": [
      "timeline"
    ],
    "regions": [
      "detail",
      "list",
      "timeline"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#AuditEvent"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderAuditEvent"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#AuditEvent"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditEvent"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#AuditEvent",
            "build record (not shipped): vue-measured.json#AuditEvent",
            "packages/components-react/evidence/react-readiness.v1.json#AuditEvent",
            "packages/components-react/test/accessibility.spec.tsx#AuditEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditEvent",
            "packages/components-vue/test/accessibility.spec.ts#AuditEvent"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#AuditEvent",
            "build record (not shipped): vue-theme/report.json#AuditEvent",
            "packages/components-react/evidence/react-readiness.v1.json#AuditEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditEvent"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#AuditEvent",
            "build record (not shipped): vue-measured.json#AuditEvent",
            "packages/components-react/evidence/react-readiness.v1.json#AuditEvent",
            "packages/components-react/test/scenario-interactions.spec.tsx#AuditEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditEvent",
            "packages/components-vue/test/scenario-interactions.spec.ts#AuditEvent"
          ],
          "reason": "AuditEvent presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "at": {
          "type": "string",
          "optional": true
        },
        "code": {
          "type": "string",
          "optional": true
        },
        "createdAt": {
          "type": "string",
          "optional": true
        },
        "datetime": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "detail": {
          "type": "string",
          "optional": true
        },
        "event": {
          "type": "string",
          "optional": true
        },
        "from": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "message": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "time": {
          "type": "string",
          "optional": true
        },
        "timestamp": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "to": {
          "type": "string",
          "optional": true
        },
        "updatedAt": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "at": {
          "type": "string",
          "optional": true
        },
        "code": {
          "type": "string",
          "optional": true
        },
        "createdAt": {
          "type": "string",
          "optional": true
        },
        "datetime": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "detail": {
          "type": "string",
          "optional": true
        },
        "event": {
          "type": "string",
          "optional": true
        },
        "from": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "message": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "time": {
          "type": "string",
          "optional": true
        },
        "timestamp": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "to": {
          "type": "string",
          "optional": true
        },
        "updatedAt": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "AuditSummaryCard",
    "displayName": "AuditSummaryCard",
    "description": "Summarizes audit coverage and recorded results.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "accountability",
      "audit",
      "compliance",
      "lifecycle",
      "trail",
      "transition"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "timeline"
    ],
    "traits": [
      "Auditable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#AuditSummaryCard"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderAuditSummaryCard"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#AuditSummaryCard"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditSummaryCard"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#AuditSummaryCard",
            "build record (not shipped): vue-measured.json#AuditSummaryCard",
            "packages/components-react/evidence/react-readiness.v1.json#AuditSummaryCard",
            "packages/components-react/test/accessibility.spec.tsx#AuditSummaryCard",
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditSummaryCard",
            "packages/components-vue/test/accessibility.spec.ts#AuditSummaryCard"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#AuditSummaryCard",
            "build record (not shipped): vue-theme/report.json#AuditSummaryCard",
            "packages/components-react/evidence/react-readiness.v1.json#AuditSummaryCard",
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditSummaryCard"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#AuditSummaryCard",
            "build record (not shipped): vue-measured.json#AuditSummaryCard",
            "packages/components-react/evidence/react-readiness.v1.json#AuditSummaryCard",
            "packages/components-react/test/scenario-interactions.spec.tsx#AuditSummaryCard",
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditSummaryCard",
            "packages/components-vue/test/scenario-interactions.spec.ts#AuditSummaryCard"
          ],
          "reason": "AuditSummaryCard presents derived content and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "auditLogField": {
        "type": "string",
        "default": "audit_log",
        "trait": "Auditable"
      },
      "lastN": {
        "type": "number",
        "default": 5,
        "trait": "Auditable"
      },
      "showTransitionCount": {
        "type": "boolean",
        "default": true,
        "trait": "Auditable"
      },
      "showLastTransitionTime": {
        "type": "boolean",
        "default": true,
        "trait": "Auditable"
      },
      "showLastActor": {
        "type": "boolean",
        "default": true,
        "trait": "Auditable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "auditLog": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "lastN": {
          "type": "number",
          "optional": true
        },
        "showLastActor": {
          "type": "boolean",
          "optional": true
        },
        "showLastTransitionTime": {
          "type": "boolean",
          "optional": true
        },
        "showTransitionCount": {
          "type": "boolean",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "auditLog": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "lastN": {
          "type": "number",
          "optional": true
        },
        "showLastActor": {
          "type": "boolean",
          "optional": true
        },
        "showLastTransitionTime": {
          "type": "boolean",
          "optional": true
        },
        "showTransitionCount": {
          "type": "boolean",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "AuditTimeline",
    "displayName": "AuditTimeline",
    "description": "Lists entries from a record's audit log.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "accountability",
      "audit",
      "compliance",
      "lifecycle",
      "metadata",
      "timestamp",
      "trail",
      "transition"
    ],
    "contexts": [
      "detail",
      "timeline"
    ],
    "regions": [
      "detail",
      "list",
      "timeline"
    ],
    "traits": [
      "Auditable",
      "Timestampable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#AuditTimeline"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderAuditTimeline"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#AuditTimeline"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditTimeline"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#AuditTimeline",
            "build record (not shipped): vue-measured.json#AuditTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#AuditTimeline",
            "packages/components-react/test/accessibility.spec.tsx#AuditTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditTimeline",
            "packages/components-vue/test/accessibility.spec.ts#AuditTimeline"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#AuditTimeline",
            "build record (not shipped): vue-theme/report.json#AuditTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#AuditTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditTimeline"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#AuditTimeline",
            "build record (not shipped): vue-measured.json#AuditTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#AuditTimeline",
            "packages/components-react/test/scenario-interactions.spec.tsx#AuditTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#AuditTimeline",
            "packages/components-vue/test/scenario-interactions.spec.ts#AuditTimeline"
          ],
          "reason": "AuditTimeline presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "auditLogField": {
        "type": "string",
        "default": "audit_log",
        "trait": "Auditable"
      },
      "maxVisible": {
        "type": "number",
        "default": 7,
        "trait": "Auditable"
      },
      "showFromState": {
        "type": "boolean",
        "default": true,
        "trait": "Auditable"
      },
      "showActorId": {
        "type": "boolean",
        "default": true,
        "trait": "Auditable"
      },
      "showReason": {
        "type": "boolean",
        "default": true,
        "trait": "Auditable"
      },
      "createdField": {
        "type": "string",
        "default": "created_at",
        "trait": "Timestampable"
      },
      "updatedField": {
        "type": "string",
        "default": "updated_at",
        "trait": "Timestampable"
      },
      "eventField": {
        "type": "string",
        "default": "last_event",
        "trait": "Timestampable"
      },
      "eventTimestampField": {
        "type": "string",
        "default": "last_event_at",
        "trait": "Timestampable"
      },
      "eventOptionsParameter": {
        "type": "string",
        "default": "recordedEvents",
        "trait": "Timestampable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "auditLog": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "auditLogField": {
          "type": "string",
          "optional": true
        },
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "createdField": {
          "type": "string",
          "optional": true
        },
        "entries": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "eventField": {
          "type": "string",
          "optional": true
        },
        "eventOptionsParameter": {
          "type": "string",
          "optional": true
        },
        "events": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "eventTimestampField": {
          "type": "string",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "historyField": {
          "type": "string",
          "optional": true
        },
        "maxVisible": {
          "type": "number",
          "optional": true
        },
        "showActorId": {
          "type": "boolean",
          "optional": true
        },
        "showFromState": {
          "type": "boolean",
          "optional": true
        },
        "showReason": {
          "type": "boolean",
          "optional": true
        },
        "stateHistory": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "statesParameter": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "ReactNode",
          "optional": true
        },
        "updatedField": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "allowedTransitions": {
          "type": "string[]",
          "optional": true
        },
        "auditLog": {
          "type": "unknown[]",
          "optional": true
        },
        "auditLogField": {
          "type": "string",
          "optional": true
        },
        "createdField": {
          "type": "string",
          "optional": true
        },
        "entries": {
          "type": "unknown[]",
          "optional": true
        },
        "eventField": {
          "type": "string",
          "optional": true
        },
        "eventOptionsParameter": {
          "type": "string",
          "optional": true
        },
        "eventTimestampField": {
          "type": "string",
          "optional": true
        },
        "events": {
          "type": "unknown[]",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "history": {
          "type": "unknown[]",
          "optional": true
        },
        "historyField": {
          "type": "string",
          "optional": true
        },
        "maxVisible": {
          "type": "number",
          "optional": true
        },
        "showActorId": {
          "type": "boolean",
          "optional": true
        },
        "showFromState": {
          "type": "boolean",
          "optional": true
        },
        "showReason": {
          "type": "boolean",
          "optional": true
        },
        "source": {
          "type": "unknown[]",
          "optional": true
        },
        "stateHistory": {
          "type": "unknown[]",
          "optional": true
        },
        "statesParameter": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "updatedField": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "Badge",
    "displayName": "Badge",
    "description": "Displays a short label with a semantic status treatment.",
    "categories": [
      "primitive",
      "visual"
    ],
    "tags": [
      "badge",
      "banner",
      "presentation",
      "primitive",
      "registry",
      "saas",
      "semantic",
      "status",
      "tone"
    ],
    "contexts": [
      "card",
      "detail",
      "list"
    ],
    "regions": [
      "card",
      "contextPanel",
      "detail",
      "form",
      "list",
      "main",
      "timeline"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Badge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Badge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Badge"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Badge",
            "build record (not shipped): vue-measured.json#Badge",
            "packages/components-react/evidence/react-readiness.v1.json#Badge",
            "packages/components-react/test/accessibility.spec.tsx#Badge",
            "packages/components-vue/evidence/vue-readiness.v1.json#Badge",
            "packages/components-vue/test/accessibility.spec.ts#Badge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Badge",
            "build record (not shipped): vue-theme/report.json#Badge",
            "packages/components-react/evidence/react-readiness.v1.json#Badge",
            "packages/components-vue/evidence/vue-readiness.v1.json#Badge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#Badge",
            "build record (not shipped): vue-measured.json#Badge",
            "packages/components-react/evidence/react-readiness.v1.json#Badge",
            "packages/components-react/test/scenario-interactions.spec.tsx#Badge",
            "packages/components-vue/evidence/vue-readiness.v1.json#Badge",
            "packages/components-vue/test/scenario-interactions.spec.ts#Badge"
          ],
          "reason": "Badge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "content": {
          "type": "ReactNode",
          "optional": true
        },
        "domain": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "icon": {
          "type": "ReactNode",
          "optional": true
        },
        "iconPosition": {
          "type": "\"start\" | \"end\"",
          "optional": true
        },
        "showIcon": {
          "type": "boolean",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        }
      },
      "vue": {
        "content": {
          "type": "string | number",
          "optional": true
        },
        "domain": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "icon": {
          "type": "VNodeChild",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Badge } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Badge />;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Badge } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Badge />;\n}"
  },
  {
    "name": "Banner",
    "displayName": "Banner",
    "description": "Presents a prominent message with optional actions and dismissal.",
    "categories": [
      "primitive",
      "visual"
    ],
    "tags": [
      "badge",
      "banner",
      "feedback",
      "notice",
      "presentation",
      "primitive",
      "registry",
      "saas",
      "semantic",
      "status",
      "tone"
    ],
    "contexts": [
      "detail",
      "form",
      "list"
    ],
    "regions": [
      "contextPanel",
      "detail",
      "form",
      "list",
      "main",
      "timeline"
    ],
    "traits": [
      "Statusable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Banner"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderBanner"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Banner"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Banner"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/8",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/9",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/10",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/11",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/20",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/21",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/22",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/23",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/30",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/31",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/38",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/39",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/46",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/47",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/48",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/49",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/58",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/59",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/60",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/61",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/72",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/73",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/74",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/75",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/88",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/89",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/100",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/101",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/102",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/103",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/114",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/115",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/116",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/117",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/130",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/131",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/140",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/141",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/142",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/143",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/154",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/155",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/168",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/169",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/180",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/181",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/182",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/183",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/194",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/195",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/196",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/197",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Banner",
            "build record (not shipped): vue-measured.json#Banner",
            "packages/components-react/evidence/react-readiness.v1.json#Banner",
            "packages/components-react/test/accessibility.spec.tsx#Banner",
            "packages/components-vue/evidence/vue-readiness.v1.json#Banner",
            "packages/components-vue/test/accessibility.spec.ts#Banner"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Banner",
            "build record (not shipped): vue-theme/report.json#Banner",
            "packages/components-react/evidence/react-readiness.v1.json#Banner",
            "packages/components-vue/evidence/vue-readiness.v1.json#Banner"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Banner",
            "build record (not shipped): vue-measured.json#Banner",
            "packages/components-react/evidence/react-readiness.v1.json#Banner",
            "packages/components-react/test/scenario-interactions.spec.tsx#Banner",
            "packages/components-vue/evidence/vue-readiness.v1.json#Banner",
            "packages/components-vue/test/scenario-interactions.spec.ts#Banner"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "statusField": {
        "type": "string",
        "default": "status",
        "trait": "Statusable"
      },
      "domainField": {
        "type": "string",
        "default": "domain",
        "trait": "Statusable"
      },
      "emphasis": {
        "type": "string",
        "default": "subtle",
        "trait": "Statusable"
      },
      "showIcon": {
        "type": "boolean",
        "default": true,
        "trait": "Statusable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "actions": {
          "type": "ReactNode",
          "optional": true
        },
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "content": {
          "type": "ReactNode",
          "optional": true
        },
        "description": {
          "type": "ReactNode",
          "optional": true
        },
        "detail": {
          "type": "ReactNode",
          "optional": true
        },
        "dismissLabel": {
          "type": "string",
          "optional": true
        },
        "domain": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "icon": {
          "type": "ReactNode",
          "optional": true
        },
        "onDismiss": {
          "type": "(() => void)",
          "optional": true
        },
        "showIcon": {
          "type": "boolean",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "ReactNode",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        }
      },
      "vue": {
        "content": {
          "type": "string | number",
          "optional": true
        },
        "detail": {
          "type": "string",
          "optional": true
        },
        "dismissLabel": {
          "type": "string",
          "optional": true
        },
        "domain": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Banner } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Banner />;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Banner } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Banner />;\n}"
  },
  {
    "name": "BillingAmountInput",
    "displayName": "BillingAmountInput",
    "description": "Edits a billing amount in the selected currency.",
    "categories": [
      "financial"
    ],
    "tags": [
      "billing",
      "cycle",
      "financial",
      "payment",
      "recurring",
      "subscription"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [
      "Billable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#BillingAmountInput"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderBillingAmountInput"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#BillingAmountInput"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingAmountInput"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/148",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/149",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#BillingAmountInput",
            "build record (not shipped): vue-measured.json#BillingAmountInput",
            "packages/components-react/evidence/react-readiness.v1.json#BillingAmountInput",
            "packages/components-react/test/accessibility.spec.tsx#BillingAmountInput",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingAmountInput",
            "packages/components-vue/test/accessibility.spec.ts#BillingAmountInput"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#BillingAmountInput",
            "build record (not shipped): vue-theme/report.json#BillingAmountInput",
            "packages/components-react/evidence/react-readiness.v1.json#BillingAmountInput",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingAmountInput"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#BillingAmountInput",
            "build record (not shipped): vue-measured.json#BillingAmountInput",
            "packages/components-react/evidence/react-readiness.v1.json#BillingAmountInput",
            "packages/components-react/test/scenario-interactions.spec.tsx#BillingAmountInput",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingAmountInput",
            "packages/components-vue/test/scenario-interactions.spec.ts#BillingAmountInput"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "amountField": {
        "type": "string",
        "default": "amount",
        "trait": "Billable"
      },
      "currencyField": {
        "type": "string",
        "default": "currency",
        "trait": "Billable"
      },
      "minorUnitsParameter": {
        "type": "string",
        "default": "minorUnits",
        "trait": "Billable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "className": {
          "type": "string",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: number | undefined) => void)",
          "optional": true
        },
        "showInterval": {
          "type": "boolean",
          "optional": true
        }
      },
      "vue": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "BillingCardMeta",
    "displayName": "BillingCardMeta",
    "description": "Shows compact billing amount and interval metadata.",
    "categories": [
      "domain",
      "financial"
    ],
    "tags": [
      "billing",
      "cycle",
      "domain",
      "financial",
      "payment",
      "pricing",
      "recurring",
      "subscription"
    ],
    "contexts": [
      "card"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [
      "Billable",
      "SaaSBillingBillable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#BillingCardMeta"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderBillingCardMeta"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#BillingCardMeta"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingCardMeta"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/92",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/93",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/144",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/145"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#BillingCardMeta",
            "build record (not shipped): vue-measured.json#BillingCardMeta",
            "packages/components-react/evidence/react-readiness.v1.json#BillingCardMeta",
            "packages/components-react/test/accessibility.spec.tsx#BillingCardMeta",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingCardMeta",
            "packages/components-vue/test/accessibility.spec.ts#BillingCardMeta"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#BillingCardMeta",
            "build record (not shipped): vue-theme/report.json#BillingCardMeta",
            "packages/components-react/evidence/react-readiness.v1.json#BillingCardMeta",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingCardMeta"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#BillingCardMeta",
            "build record (not shipped): vue-measured.json#BillingCardMeta",
            "packages/components-react/evidence/react-readiness.v1.json#BillingCardMeta",
            "packages/components-react/test/scenario-interactions.spec.tsx#BillingCardMeta",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingCardMeta",
            "packages/components-vue/test/scenario-interactions.spec.ts#BillingCardMeta"
          ],
          "reason": "BillingCardMeta presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "amountField": {
        "type": "string",
        "default": "amount_minor",
        "trait": "SaaSBillingBillable"
      },
      "currencyField": {
        "type": "string",
        "default": "currency",
        "trait": "SaaSBillingBillable"
      },
      "intervalField": {
        "type": "string",
        "default": "billing_interval",
        "trait": "SaaSBillingBillable"
      },
      "minorUnitsParameter": {
        "type": "string",
        "default": "minorUnits",
        "trait": "Billable"
      },
      "minorUnits": {
        "type": "number",
        "default": 100,
        "trait": "SaaSBillingBillable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        }
      },
      "vue": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "BillingIntervalSelector",
    "displayName": "BillingIntervalSelector",
    "description": "Selects the interval for a recurring charge.",
    "categories": [
      "financial"
    ],
    "tags": [
      "billing",
      "cycle",
      "financial",
      "payment",
      "recurring",
      "subscription"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [
      "Billable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#BillingIntervalSelector"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderBillingIntervalSelector"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#BillingIntervalSelector"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingIntervalSelector"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/148",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/149",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#BillingIntervalSelector",
            "build record (not shipped): vue-measured.json#BillingIntervalSelector",
            "packages/components-react/evidence/react-readiness.v1.json#BillingIntervalSelector",
            "packages/components-react/test/accessibility.spec.tsx#BillingIntervalSelector",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingIntervalSelector",
            "packages/components-vue/test/accessibility.spec.ts#BillingIntervalSelector"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#BillingIntervalSelector",
            "build record (not shipped): vue-theme/report.json#BillingIntervalSelector",
            "packages/components-react/evidence/react-readiness.v1.json#BillingIntervalSelector",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingIntervalSelector"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#BillingIntervalSelector",
            "build record (not shipped): vue-measured.json#BillingIntervalSelector",
            "packages/components-react/evidence/react-readiness.v1.json#BillingIntervalSelector",
            "packages/components-react/test/scenario-interactions.spec.tsx#BillingIntervalSelector",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingIntervalSelector",
            "packages/components-vue/test/scenario-interactions.spec.ts#BillingIntervalSelector"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "intervalField": {
        "type": "string",
        "default": "billing_interval",
        "trait": "Billable"
      },
      "intervalsParameter": {
        "type": "string",
        "default": "billingIntervals",
        "trait": "Billable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "className": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "intervals": {
          "type": "readonly string[]",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: string) => void)",
          "optional": true
        }
      },
      "vue": {
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "intervals": {
          "type": "readonly string[]",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "BillingSummaryBadge",
    "displayName": "BillingSummaryBadge",
    "description": "Displays a formatted billing amount and optional interval.",
    "categories": [
      "domain",
      "financial"
    ],
    "tags": [
      "billing",
      "cycle",
      "domain",
      "financial",
      "invoice",
      "payment",
      "pricing",
      "recurring",
      "subscription"
    ],
    "contexts": [
      "card",
      "list"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [
      "Billable",
      "SaaSBillingBillable",
      "SaaSBillingPayable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#BillingSummaryBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderBillingSummaryBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#BillingSummaryBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingSummaryBadge"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/50",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/51",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/52",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/53",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/58",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/59",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/94",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/95",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/100",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/101",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/154",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/155",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/174",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/175",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#BillingSummaryBadge",
            "build record (not shipped): vue-measured.json#BillingSummaryBadge",
            "packages/components-react/evidence/react-readiness.v1.json#BillingSummaryBadge",
            "packages/components-react/test/accessibility.spec.tsx#BillingSummaryBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingSummaryBadge",
            "packages/components-vue/test/accessibility.spec.ts#BillingSummaryBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#BillingSummaryBadge",
            "build record (not shipped): vue-theme/report.json#BillingSummaryBadge",
            "packages/components-react/evidence/react-readiness.v1.json#BillingSummaryBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingSummaryBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#BillingSummaryBadge",
            "build record (not shipped): vue-measured.json#BillingSummaryBadge",
            "packages/components-react/evidence/react-readiness.v1.json#BillingSummaryBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#BillingSummaryBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#BillingSummaryBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#BillingSummaryBadge"
          ],
          "reason": "BillingSummaryBadge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "amountField": {
        "type": "string",
        "default": "total_minor",
        "trait": "SaaSBillingPayable"
      },
      "currencyField": {
        "type": "string",
        "default": "currency",
        "trait": "SaaSBillingPayable"
      },
      "intervalField": {
        "type": "string",
        "default": "billing_interval",
        "trait": "SaaSBillingBillable"
      },
      "minorUnitsParameter": {
        "type": "string",
        "default": "minorUnits",
        "trait": "Billable"
      },
      "minorUnits": {
        "type": "number",
        "default": 100,
        "trait": "SaaSBillingPayable"
      },
      "showInterval": {
        "type": "boolean",
        "default": false,
        "trait": "SaaSBillingPayable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "className": {
          "type": "string",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "showInterval": {
          "type": "boolean",
          "optional": true
        }
      },
      "vue": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "showInterval": {
          "type": "boolean",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "Button",
    "displayName": "Button",
    "description": "Triggers an action using a labelled native button.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "action",
      "interactive",
      "primitive"
    ],
    "contexts": [
      "detail",
      "form",
      "list"
    ],
    "regions": [
      "actions",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Button"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderButton"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Button"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Button"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/4",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/5",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/8",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/9",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/20",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/21",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/30",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/31",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/38",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/39",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/46",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/47",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/54",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/55",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/58",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/59",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/68",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/69",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/72",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/73",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/82",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/83",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/96",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/97",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/100",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/101",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/110",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/111",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/114",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/115",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/124",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/125",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/140",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/141",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/148",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/149",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/162",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/163",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/176",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/177",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/180",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/181",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/190",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/191",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/194",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/195",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Button",
            "build record (not shipped): vue-measured.json#Button",
            "packages/components-react/evidence/react-readiness.v1.json#Button",
            "packages/components-react/test/accessibility.spec.tsx#Button",
            "packages/components-vue/evidence/vue-readiness.v1.json#Button",
            "packages/components-vue/test/accessibility.spec.ts#Button"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Button",
            "build record (not shipped): vue-theme/report.json#Button",
            "packages/components-react/evidence/react-readiness.v1.json#Button",
            "packages/components-vue/evidence/vue-readiness.v1.json#Button"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Button",
            "build record (not shipped): vue-measured.json#Button",
            "packages/components-react/evidence/react-readiness.v1.json#Button",
            "packages/components-react/test/scenario-interactions.spec.tsx#Button",
            "packages/components-vue/evidence/vue-readiness.v1.json#Button",
            "packages/components-vue/test/scenario-interactions.spec.ts#Button"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "label": {
        "type": "string",
        "description": "Button label (primary). Falls back to `text`, then the node label.",
        "source": "primitive-renderer"
      },
      "text": {
        "type": "string",
        "description": "Alternate button label used when `label` is absent.",
        "source": "primitive-renderer"
      },
      "type": {
        "type": "string",
        "description": "Native button type: button | submit | reset (default button).",
        "source": "primitive-renderer"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "asChild": {
          "type": "boolean",
          "optional": true
        },
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "content": {
          "type": "ReactNode",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "intent": {
          "type": "ButtonIntent",
          "optional": true
        },
        "onActivate": {
          "type": "MouseEventHandler<HTMLElement>",
          "optional": true
        },
        "size": {
          "type": "ButtonSize",
          "optional": true
        },
        "type": {
          "type": "\"submit\" | \"reset\" | \"button\"",
          "optional": true
        }
      },
      "vue": {
        "content": {
          "type": "string | number",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "intent": {
          "type": "ButtonIntent",
          "optional": true
        },
        "size": {
          "type": "ButtonSize",
          "optional": true
        },
        "type": {
          "type": "\"button\" | \"reset\" | \"submit\"",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Button } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Button>...</Button>;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Button } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Button>...</Button>;\n}"
  },
  {
    "name": "CancellationBadge",
    "displayName": "CancellationBadge",
    "description": "Shows whether cancellation is scheduled.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "cancellation",
      "lifecycle",
      "retention",
      "workflow"
    ],
    "contexts": [
      "card"
    ],
    "regions": [
      "card",
      "detail",
      "form"
    ],
    "traits": [
      "Cancellable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#CancellationBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderCancellationBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#CancellationBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationBadge"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/144",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/145"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#CancellationBadge",
            "build record (not shipped): vue-measured.json#CancellationBadge",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationBadge",
            "packages/components-react/test/accessibility.spec.tsx#CancellationBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationBadge",
            "packages/components-vue/test/accessibility.spec.ts#CancellationBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#CancellationBadge",
            "build record (not shipped): vue-theme/report.json#CancellationBadge",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#CancellationBadge",
            "build record (not shipped): vue-measured.json#CancellationBadge",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#CancellationBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#CancellationBadge"
          ],
          "reason": "CancellationBadge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "cancel_at_period_end",
        "trait": "Cancellable"
      },
      "hideWhenFalse": {
        "type": "boolean",
        "default": true,
        "trait": "Cancellable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "cancelAtPeriodEnd": {
          "type": "string | boolean",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "hideWhenFalse": {
          "type": "boolean",
          "optional": true
        },
        "isCancelled": {
          "type": "string | boolean",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        },
        "value": {
          "type": "string | boolean",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "cancelAtPeriodEnd": {
          "type": "unknown",
          "optional": true
        },
        "emphasis": {
          "type": "unknown",
          "optional": true
        },
        "hideWhenFalse": {
          "type": "unknown",
          "optional": true
        },
        "isCancelled": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "state": {
          "type": "unknown",
          "optional": true
        },
        "status": {
          "type": "unknown",
          "optional": true
        },
        "text": {
          "type": "unknown",
          "optional": true
        },
        "tone": {
          "type": "unknown",
          "optional": true
        },
        "value": {
          "type": "unknown",
          "optional": true
        },
        "variant": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "CancellationEvent",
    "displayName": "CancellationEvent",
    "description": "Describes a recorded cancellation and its time.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "cancellation",
      "lifecycle",
      "retention",
      "workflow"
    ],
    "contexts": [
      "timeline"
    ],
    "regions": [
      "card",
      "detail",
      "forms",
      "timeline"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#CancellationEvent"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderCancellationEvent"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#CancellationEvent"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationEvent"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#CancellationEvent",
            "build record (not shipped): vue-measured.json#CancellationEvent",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationEvent",
            "packages/components-react/test/accessibility.spec.tsx#CancellationEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationEvent",
            "packages/components-vue/test/accessibility.spec.ts#CancellationEvent"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#CancellationEvent",
            "build record (not shipped): vue-theme/report.json#CancellationEvent",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationEvent"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#CancellationEvent",
            "build record (not shipped): vue-measured.json#CancellationEvent",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationEvent",
            "packages/components-react/test/scenario-interactions.spec.tsx#CancellationEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationEvent",
            "packages/components-vue/test/scenario-interactions.spec.ts#CancellationEvent"
          ],
          "reason": "CancellationEvent presents declared trait values and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "archivedAt": {
          "type": "string | null",
          "optional": true
        },
        "archivedBy": {
          "type": "string | null",
          "optional": true
        },
        "code": {
          "type": "string | null",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string | null",
          "optional": true
        },
        "restoredAt": {
          "type": "string | null",
          "optional": true
        },
        "showActor": {
          "type": "boolean",
          "optional": true
        },
        "showReason": {
          "type": "boolean",
          "optional": true
        },
        "status": {
          "type": "string | null",
          "optional": true
        },
        "timestamp": {
          "type": "string | null",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "archivedAt": {
          "type": "string | null",
          "optional": true
        },
        "archivedBy": {
          "type": "string | null",
          "optional": true
        },
        "code": {
          "type": "string | null",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string | null",
          "optional": true
        },
        "restoredAt": {
          "type": "string | null",
          "optional": true
        },
        "showActor": {
          "type": "boolean",
          "optional": true
        },
        "showReason": {
          "type": "boolean",
          "optional": true
        },
        "status": {
          "type": "string | null",
          "optional": true
        },
        "timestamp": {
          "type": "string | null",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "CancellationForm",
    "displayName": "CancellationForm",
    "description": "Collects a cancellation reason and code.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "cancellation",
      "lifecycle",
      "retention",
      "workflow"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "card",
      "detail",
      "form"
    ],
    "traits": [
      "Cancellable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#CancellationForm"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderCancellationForm"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#CancellationForm"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationForm"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/148",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/149",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/162",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/163",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#CancellationForm",
            "build record (not shipped): vue-measured.json#CancellationForm",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationForm",
            "packages/components-react/test/accessibility.spec.tsx#CancellationForm",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationForm",
            "packages/components-vue/test/accessibility.spec.ts#CancellationForm"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#CancellationForm",
            "build record (not shipped): vue-theme/report.json#CancellationForm",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationForm",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationForm"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#CancellationForm",
            "build record (not shipped): vue-measured.json#CancellationForm",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationForm",
            "packages/components-react/test/scenario-interactions.spec.tsx#CancellationForm",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationForm",
            "packages/components-vue/test/scenario-interactions.spec.ts#CancellationForm"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "reasonField": {
        "type": "string",
        "default": "cancellation_reason",
        "trait": "Cancellable"
      },
      "codeField": {
        "type": "string",
        "default": "cancellation_reason_code",
        "trait": "Cancellable"
      },
      "requireReasonParameter": {
        "type": "string",
        "default": "requireReason",
        "trait": "Cancellable"
      },
      "allowedReasonsParameter": {
        "type": "string",
        "default": "allowedReasons",
        "trait": "Cancellable"
      },
      "windowParameter": {
        "type": "string",
        "default": "cancellationWindowHours",
        "trait": "Cancellable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "allowedReasons": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "cancellationReason": {
          "type": "string",
          "optional": true
        },
        "codeHelp": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "embedded": {
          "type": "boolean",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string",
          "optional": true
        },
        "reasonCode": {
          "type": "string",
          "optional": true
        },
        "reasonHelp": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "allowedReasons": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "cancellationReason": {
          "type": "string",
          "optional": true
        },
        "codeHelp": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "embedded": {
          "type": "boolean",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string",
          "optional": true
        },
        "reasonCode": {
          "type": "string",
          "optional": true
        },
        "reasonHelp": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "CancellationSummary",
    "displayName": "CancellationSummary",
    "description": "Shows the recorded cancellation terms for an item.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "cancellation",
      "lifecycle",
      "retention",
      "workflow"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "form"
    ],
    "traits": [
      "Cancellable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#CancellationSummary"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderCancellationSummary"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#CancellationSummary"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationSummary"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#CancellationSummary",
            "build record (not shipped): vue-measured.json#CancellationSummary",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationSummary",
            "packages/components-react/test/accessibility.spec.tsx#CancellationSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationSummary",
            "packages/components-vue/test/accessibility.spec.ts#CancellationSummary"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#CancellationSummary",
            "build record (not shipped): vue-theme/report.json#CancellationSummary",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationSummary"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#CancellationSummary",
            "build record (not shipped): vue-measured.json#CancellationSummary",
            "packages/components-react/evidence/react-readiness.v1.json#CancellationSummary",
            "packages/components-react/test/scenario-interactions.spec.tsx#CancellationSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#CancellationSummary",
            "packages/components-vue/test/scenario-interactions.spec.ts#CancellationSummary"
          ],
          "reason": "CancellationSummary presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "hideWhenDefault": {
        "type": "boolean",
        "default": true,
        "trait": "Cancellable"
      },
      "cancelAtPeriodEndField": {
        "type": "string",
        "default": "cancel_at_period_end",
        "trait": "Cancellable"
      },
      "reasonField": {
        "type": "string",
        "default": "cancellation_reason",
        "trait": "Cancellable"
      },
      "codeField": {
        "type": "string",
        "default": "cancellation_reason_code",
        "trait": "Cancellable"
      },
      "requestedAtField": {
        "type": "string",
        "default": "cancellation_requested_at",
        "trait": "Cancellable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "cancelAtPeriodEnd": {
          "type": "boolean",
          "optional": true
        },
        "cancelAtPeriodEndField": {
          "type": "string",
          "optional": true
        },
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "code": {
          "type": "string",
          "optional": true
        },
        "codeField": {
          "type": "string",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "hideWhenDefault": {
          "type": "boolean",
          "optional": true
        },
        "label": {
          "type": "ReactNode",
          "optional": true
        },
        "reason": {
          "type": "ReactNode",
          "optional": true
        },
        "reasonField": {
          "type": "string",
          "optional": true
        },
        "requestedAt": {
          "type": "string",
          "optional": true
        },
        "requestedAtField": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "ReactNode",
          "optional": true
        }
      },
      "vue": {
        "cancelAtPeriodEnd": {
          "type": "boolean",
          "optional": true
        },
        "cancelAtPeriodEndField": {
          "type": "string",
          "optional": true
        },
        "code": {
          "type": "string",
          "optional": true
        },
        "codeField": {
          "type": "string",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "hideWhenDefault": {
          "type": "string | boolean",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string",
          "optional": true
        },
        "reasonField": {
          "type": "string",
          "optional": true
        },
        "requestedAt": {
          "type": "string",
          "optional": true
        },
        "requestedAtField": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "Card",
    "displayName": "Card",
    "description": "Groups related content within a bordered surface.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "container",
      "primitive",
      "surface"
    ],
    "contexts": [
      "card",
      "detail",
      "list"
    ],
    "regions": [
      "card",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Card"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderCard"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Card"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Card"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/0",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/1",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/2",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/3",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/10",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/11",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/14",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/15",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/16",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/17",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/22",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/23",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/24",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/25",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/26",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/27",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/32",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/33",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/34",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/35",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/40",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/41",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/42",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/43",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/48",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/49",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/50",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/51",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/52",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/53",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/60",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/61",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/64",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/65",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/66",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/67",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/74",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/75",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/78",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/79",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/88",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/89",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/92",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/93",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/94",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/95",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/102",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/103",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/106",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/107",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/108",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/109",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/116",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/117",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/120",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/121",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/122",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/123",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/130",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/131",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/134",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/135",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/136",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/137",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/142",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/143",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/144",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/145",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/154",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/155",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/158",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/159",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/168",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/169",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/172",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/173",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/174",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/175",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/182",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/183",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/186",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/187",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/196",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/197",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Card",
            "build record (not shipped): vue-measured.json#Card",
            "packages/components-react/evidence/react-readiness.v1.json#Card",
            "packages/components-react/test/accessibility.spec.tsx#Card",
            "packages/components-vue/evidence/vue-readiness.v1.json#Card",
            "packages/components-vue/test/accessibility.spec.ts#Card"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Card",
            "build record (not shipped): vue-theme/report.json#Card",
            "packages/components-react/evidence/react-readiness.v1.json#Card",
            "packages/components-vue/evidence/vue-readiness.v1.json#Card"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#Card",
            "build record (not shipped): vue-measured.json#Card",
            "packages/components-react/evidence/react-readiness.v1.json#Card",
            "packages/components-react/test/scenario-interactions.spec.tsx#Card",
            "packages/components-vue/evidence/vue-readiness.v1.json#Card",
            "packages/components-vue/test/scenario-interactions.spec.ts#Card"
          ],
          "reason": "Card presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "body": {
        "type": "string",
        "description": "Card body text rendered when no child nodes are supplied.",
        "source": "primitive-renderer"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "as": {
          "type": "SafeContainerElement",
          "optional": true
        },
        "elevated": {
          "type": "boolean",
          "optional": true
        }
      },
      "vue": {
        "as": {
          "type": "string",
          "optional": true
        },
        "elevated": {
          "type": "boolean",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Card } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Card>...</Card>;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Card } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Card>...</Card>;\n}"
  },
  {
    "name": "CardHeader",
    "displayName": "CardHeader",
    "description": "Labels a card with a title and supporting text.",
    "categories": [
      "content"
    ],
    "tags": [
      "content",
      "copy",
      "description",
      "label",
      "metadata"
    ],
    "contexts": [
      "card"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "inline",
      "list",
      "timeline"
    ],
    "traits": [
      "Labelled"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#CardHeader"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderCardHeader"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#CardHeader"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#CardHeader"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/0",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/1",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/14",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/15",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/24",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/25",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/32",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/33",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/40",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/41",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/50",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/51",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/64",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/65",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/78",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/79",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/92",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/93",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/106",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/107",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/120",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/121",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/134",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/135",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/144",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/145",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/158",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/159",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/172",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/173",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/186",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/187"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#CardHeader",
            "build record (not shipped): vue-measured.json#CardHeader",
            "packages/components-react/evidence/react-readiness.v1.json#CardHeader",
            "packages/components-react/test/accessibility.spec.tsx#CardHeader",
            "packages/components-vue/evidence/vue-readiness.v1.json#CardHeader",
            "packages/components-vue/test/accessibility.spec.ts#CardHeader"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#CardHeader",
            "build record (not shipped): vue-theme/report.json#CardHeader",
            "packages/components-react/evidence/react-readiness.v1.json#CardHeader",
            "packages/components-vue/evidence/vue-readiness.v1.json#CardHeader"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#CardHeader",
            "build record (not shipped): vue-measured.json#CardHeader",
            "packages/components-react/evidence/react-readiness.v1.json#CardHeader",
            "packages/components-react/test/scenario-interactions.spec.tsx#CardHeader",
            "packages/components-vue/evidence/vue-readiness.v1.json#CardHeader",
            "packages/components-vue/test/scenario-interactions.spec.ts#CardHeader"
          ],
          "reason": "CardHeader presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "titleField": {
        "type": "string",
        "default": "label",
        "trait": "Labelled"
      },
      "supportingField": {
        "type": "string",
        "default": "description",
        "trait": "Labelled"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "as": {
          "type": "HeaderElement",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "level": {
          "type": "HeaderLevel",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "supporting": {
          "type": "string",
          "optional": true
        },
        "supportingText": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "as": {
          "type": "HeaderElement",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "level": {
          "type": "HeaderLevel",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "supporting": {
          "type": "string",
          "optional": true
        },
        "supportingText": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "Checkbox",
    "displayName": "Checkbox",
    "description": "Toggles a labelled boolean value.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "boolean",
      "field",
      "form",
      "input",
      "interactive",
      "primitive"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "form",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Checkbox"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderCheckbox"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Checkbox"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Checkbox"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/110",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/111",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/124",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/125",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/148",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/149",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/162",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/163",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Checkbox",
            "build record (not shipped): vue-measured.json#Checkbox",
            "packages/components-react/evidence/react-readiness.v1.json#Checkbox",
            "packages/components-react/test/accessibility.spec.tsx#Checkbox",
            "packages/components-vue/evidence/vue-readiness.v1.json#Checkbox",
            "packages/components-vue/test/accessibility.spec.ts#Checkbox"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Checkbox",
            "build record (not shipped): vue-theme/report.json#Checkbox",
            "packages/components-react/evidence/react-readiness.v1.json#Checkbox",
            "packages/components-vue/evidence/vue-readiness.v1.json#Checkbox"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Checkbox",
            "build record (not shipped): vue-measured.json#Checkbox",
            "packages/components-react/evidence/react-readiness.v1.json#Checkbox",
            "packages/components-react/test/scenario-interactions.spec.tsx#Checkbox",
            "packages/components-vue/evidence/vue-readiness.v1.json#Checkbox",
            "packages/components-vue/test/scenario-interactions.spec.ts#Checkbox"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "checkboxClassName": {
          "type": "string",
          "optional": true
        },
        "checkboxStyle": {
          "type": "CSSProperties",
          "optional": true
        },
        "checked": {
          "type": "boolean",
          "optional": true
        },
        "className": {
          "type": "string",
          "optional": true
        },
        "defaultChecked": {
          "type": "boolean",
          "optional": true
        },
        "density": {
          "type": "FieldDensity",
          "optional": true
        },
        "description": {
          "type": "ReactNode",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "ReactNode",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": false
        },
        "label": {
          "type": "ReactNode",
          "optional": false
        },
        "onCheckedChange": {
          "type": "((checked: boolean) => void)",
          "optional": true
        },
        "onUpdate": {
          "type": "((checked: boolean) => void)",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "requiredIndicator": {
          "type": "ReactNode",
          "optional": true
        },
        "style": {
          "type": "CSSProperties",
          "optional": true
        },
        "validation": {
          "type": "FieldValidation",
          "optional": true
        }
      },
      "vue": {
        "checked": {
          "type": "boolean",
          "optional": true
        },
        "defaultChecked": {
          "type": "boolean",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "boolean",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "validation": {
          "type": "ValidationMessage",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Checkbox } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Checkbox />;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Checkbox } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Checkbox />;\n}"
  },
  {
    "name": "ClassificationBadge",
    "displayName": "ClassificationBadge",
    "description": "Shows a compact classification label.",
    "categories": [
      "core"
    ],
    "tags": [
      "classification",
      "governance",
      "ltree",
      "tags",
      "taxonomy"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Classifiable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#ClassificationBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderClassificationBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationBadge"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ClassificationBadge",
            "build record (not shipped): vue-measured.json#ClassificationBadge",
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationBadge",
            "packages/components-react/test/accessibility.spec.tsx#ClassificationBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationBadge",
            "packages/components-vue/test/accessibility.spec.ts#ClassificationBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#ClassificationBadge",
            "build record (not shipped): vue-theme/report.json#ClassificationBadge",
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#ClassificationBadge",
            "build record (not shipped): vue-measured.json#ClassificationBadge",
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#ClassificationBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#ClassificationBadge"
          ],
          "reason": "ClassificationBadge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "draft",
    "propSchema": {
      "mode": {
        "type": "string",
        "default": "{classification_mode}",
        "trait": "Classifiable"
      },
      "primaryCategoryField": {
        "type": "string",
        "default": "primary_category_id",
        "trait": "Classifiable"
      },
      "tagPreviewField": {
        "type": "string",
        "default": "tag_preview",
        "trait": "Classifiable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "category": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "mode": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "category": {
          "type": "unknown",
          "optional": true
        },
        "emphasis": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "mode": {
          "type": "unknown",
          "optional": true
        },
        "state": {
          "type": "unknown",
          "optional": true
        },
        "status": {
          "type": "unknown",
          "optional": true
        },
        "text": {
          "type": "unknown",
          "optional": true
        },
        "tone": {
          "type": "unknown",
          "optional": true
        },
        "value": {
          "type": "unknown",
          "optional": true
        },
        "variant": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "ClassificationEditor",
    "displayName": "ClassificationEditor",
    "description": "Presents category, tags and classification mode controls.",
    "categories": [
      "core"
    ],
    "tags": [
      "classification",
      "governance",
      "ltree",
      "tags",
      "taxonomy"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Classifiable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#ClassificationEditor"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderClassificationEditor"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationEditor"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationEditor"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/4",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/5",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/68",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/69",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/110",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/111",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ClassificationEditor",
            "build record (not shipped): vue-measured.json#ClassificationEditor",
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationEditor",
            "packages/components-react/test/accessibility.spec.tsx#ClassificationEditor",
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationEditor",
            "packages/components-vue/test/accessibility.spec.ts#ClassificationEditor"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#ClassificationEditor",
            "build record (not shipped): vue-theme/report.json#ClassificationEditor",
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationEditor",
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationEditor"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ClassificationEditor",
            "build record (not shipped): vue-measured.json#ClassificationEditor",
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationEditor",
            "packages/components-react/test/scenario-interactions.spec.tsx#ClassificationEditor",
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationEditor",
            "packages/components-vue/test/scenario-interactions.spec.ts#ClassificationEditor"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "draft",
    "propSchema": {
      "modeParameter": {
        "type": "string",
        "default": "classification_mode",
        "trait": "Classifiable"
      },
      "tagPolicyParameter": {
        "type": "string",
        "default": "tag_policy",
        "trait": "Classifiable"
      },
      "maxTagsParameter": {
        "type": "string",
        "default": "max_tags",
        "trait": "Classifiable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "category": {
          "type": "string",
          "optional": true
        },
        "classificationMode": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "mode": {
          "type": "string",
          "optional": true
        },
        "modes": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "primaryCategory": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "tags": {
          "type": "string | readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "category": {
          "type": "string",
          "optional": true
        },
        "classificationMode": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "mode": {
          "type": "string",
          "optional": true
        },
        "modes": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "primaryCategory": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "tags": {
          "type": "string | readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "ClassificationPanel",
    "displayName": "ClassificationPanel",
    "description": "Groups classification details and authored category content.",
    "categories": [
      "core"
    ],
    "tags": [
      "classification",
      "governance",
      "ltree",
      "tags",
      "taxonomy"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Classifiable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#ClassificationPanel"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderClassificationPanel"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationPanel"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationPanel"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/2",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/3",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/66",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/67",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/108",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/109",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ClassificationPanel",
            "build record (not shipped): vue-measured.json#ClassificationPanel",
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationPanel",
            "packages/components-react/test/accessibility.spec.tsx#ClassificationPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationPanel",
            "packages/components-vue/test/accessibility.spec.ts#ClassificationPanel"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#ClassificationPanel",
            "build record (not shipped): vue-theme/report.json#ClassificationPanel",
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationPanel"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#ClassificationPanel",
            "build record (not shipped): vue-measured.json#ClassificationPanel",
            "packages/components-react/evidence/react-readiness.v1.json#ClassificationPanel",
            "packages/components-react/test/scenario-interactions.spec.tsx#ClassificationPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#ClassificationPanel",
            "packages/components-vue/test/scenario-interactions.spec.ts#ClassificationPanel"
          ],
          "reason": "ClassificationPanel presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "draft",
    "propSchema": {
      "categoriesField": {
        "type": "string",
        "default": "categories",
        "trait": "Classifiable"
      },
      "tagsField": {
        "type": "string",
        "default": "tags",
        "trait": "Classifiable"
      },
      "metadataField": {
        "type": "string",
        "default": "classification_metadata",
        "trait": "Classifiable"
      },
      "modeParameter": {
        "type": "string",
        "default": "classification_mode",
        "trait": "Classifiable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "body": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "emptyMessage": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "metadata": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "body": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "emptyMessage": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "metadata": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "ColorizedBadge",
    "displayName": "ColorizedBadge",
    "description": "Shows a label using an explicitly supplied color treatment.",
    "categories": [
      "visual"
    ],
    "tags": [
      "accessibility",
      "color",
      "oklch",
      "semantic",
      "status",
      "theming",
      "tokens"
    ],
    "contexts": [
      "card"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Colorized"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#ColorizedBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderColorizedBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#ColorizedBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorizedBadge"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ColorizedBadge",
            "build record (not shipped): vue-measured.json#ColorizedBadge",
            "packages/components-react/evidence/react-readiness.v1.json#ColorizedBadge",
            "packages/components-react/test/accessibility.spec.tsx#ColorizedBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorizedBadge",
            "packages/components-vue/test/accessibility.spec.ts#ColorizedBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#ColorizedBadge",
            "build record (not shipped): vue-theme/report.json#ColorizedBadge",
            "packages/components-react/evidence/react-readiness.v1.json#ColorizedBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorizedBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#ColorizedBadge",
            "build record (not shipped): vue-measured.json#ColorizedBadge",
            "packages/components-react/evidence/react-readiness.v1.json#ColorizedBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#ColorizedBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorizedBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#ColorizedBadge"
          ],
          "reason": "ColorizedBadge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "color_state",
        "trait": "Colorized"
      },
      "tone": {
        "type": "string",
        "default": "status",
        "trait": "Colorized"
      },
      "showIcon": {
        "type": "boolean",
        "default": true,
        "trait": "Colorized"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "color": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "hue": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "swatch": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "color": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "hue": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "swatch": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "ColorStatePicker",
    "displayName": "ColorStatePicker",
    "description": "Edits the color state of a visual encoding.",
    "categories": [
      "visual"
    ],
    "tags": [
      "accessibility",
      "color",
      "oklch",
      "semantic",
      "status",
      "theming",
      "tokens"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Colorized"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#ColorStatePicker"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderColorStatePicker"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#ColorStatePicker"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorStatePicker"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ColorStatePicker",
            "build record (not shipped): vue-measured.json#ColorStatePicker",
            "packages/components-react/evidence/react-readiness.v1.json#ColorStatePicker",
            "packages/components-react/test/accessibility.spec.tsx#ColorStatePicker",
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorStatePicker",
            "packages/components-vue/test/accessibility.spec.ts#ColorStatePicker"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#ColorStatePicker",
            "build record (not shipped): vue-theme/report.json#ColorStatePicker",
            "packages/components-react/evidence/react-readiness.v1.json#ColorStatePicker",
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorStatePicker"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ColorStatePicker",
            "build record (not shipped): vue-measured.json#ColorStatePicker",
            "packages/components-react/evidence/react-readiness.v1.json#ColorStatePicker",
            "packages/components-react/test/scenario-interactions.spec.tsx#ColorStatePicker",
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorStatePicker",
            "packages/components-vue/test/scenario-interactions.spec.ts#ColorStatePicker"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "parameter": {
        "type": "string",
        "default": "colorStates",
        "trait": "Colorized"
      },
      "field": {
        "type": "string",
        "default": "color_state",
        "trait": "Colorized"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "colorStates": {
          "type": "readonly string[]",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "colorStates": {
          "type": "readonly string[]",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "ColorSwatch",
    "displayName": "ColorSwatch",
    "description": "Displays a color sample with its label.",
    "categories": [
      "visual"
    ],
    "tags": [
      "accessibility",
      "color",
      "oklch",
      "semantic",
      "status",
      "theming",
      "tokens"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Colorized"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#ColorSwatch"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderColorSwatch"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#ColorSwatch"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorSwatch"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#ColorSwatch",
            "build record (not shipped): vue-measured.json#ColorSwatch",
            "packages/components-react/evidence/react-readiness.v1.json#ColorSwatch",
            "packages/components-react/test/accessibility.spec.tsx#ColorSwatch",
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorSwatch",
            "packages/components-vue/test/accessibility.spec.ts#ColorSwatch"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#ColorSwatch",
            "build record (not shipped): vue-theme/report.json#ColorSwatch",
            "packages/components-react/evidence/react-readiness.v1.json#ColorSwatch",
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorSwatch"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#ColorSwatch",
            "build record (not shipped): vue-measured.json#ColorSwatch",
            "packages/components-react/evidence/react-readiness.v1.json#ColorSwatch",
            "packages/components-react/test/scenario-interactions.spec.tsx#ColorSwatch",
            "packages/components-vue/evidence/vue-readiness.v1.json#ColorSwatch",
            "packages/components-vue/test/scenario-interactions.spec.ts#ColorSwatch"
          ],
          "reason": "ColorSwatch presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "color_state",
        "trait": "Colorized"
      },
      "size": {
        "type": "string",
        "default": "sm",
        "trait": "Colorized"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "color": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "color": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "Combobox",
    "displayName": "Combobox",
    "description": "Picks one value from a list by typing to filter it.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "autocomplete",
      "combobox",
      "field",
      "filter",
      "form",
      "input",
      "interactive",
      "primitive",
      "select"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "form",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Combobox"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "packages/component-contracts/registry/component-intake.v1.json#Combobox"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderCombobox"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Combobox"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Combobox"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Combobox",
            "build record (not shipped): vue-measured.json#Combobox",
            "packages/components-react/evidence/react-readiness.v1.json#Combobox",
            "packages/components-vue/evidence/vue-readiness.v1.json#Combobox"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Combobox",
            "build record (not shipped): vue-theme/report.json#Combobox",
            "packages/components-react/evidence/react-readiness.v1.json#Combobox",
            "packages/components-vue/evidence/vue-readiness.v1.json#Combobox"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Combobox",
            "build record (not shipped): vue-measured.json#Combobox",
            "packages/components-react/evidence/react-readiness.v1.json#Combobox",
            "packages/components-vue/evidence/vue-readiness.v1.json#Combobox"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "className": {
          "type": "string",
          "optional": true
        },
        "defaultValue": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "ReactNode",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": false
        },
        "label": {
          "type": "ReactNode",
          "optional": false
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "onUpdate": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "onValueChange": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "options": {
          "type": "readonly ComboboxOption[]",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "size": {
          "type": "\"xs\" | \"sm\" | \"md\" | \"lg\"",
          "optional": true
        },
        "style": {
          "type": "CSSProperties",
          "optional": true
        },
        "validation": {
          "type": "FieldValidation",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "defaultValue": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "options": {
          "type": "readonly SelectOption[]",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "size": {
          "type": "\"xs\" | \"sm\" | \"md\" | \"lg\"",
          "optional": true
        },
        "validation": {
          "type": "ValidationMessage",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "CommunicationDetailPanel",
    "displayName": "CommunicationDetailPanel",
    "description": "Displays a communication's recipients, channel and content.",
    "categories": [
      "communication"
    ],
    "tags": [
      "conversation",
      "delivery",
      "messaging",
      "notification",
      "template"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Communicable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#CommunicationDetailPanel"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderCommunicationDetailPanel"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#CommunicationDetailPanel"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#CommunicationDetailPanel"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#CommunicationDetailPanel",
            "build record (not shipped): vue-measured.json#CommunicationDetailPanel",
            "packages/components-react/evidence/react-readiness.v1.json#CommunicationDetailPanel",
            "packages/components-react/test/accessibility.spec.tsx#CommunicationDetailPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#CommunicationDetailPanel",
            "packages/components-vue/test/accessibility.spec.ts#CommunicationDetailPanel"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#CommunicationDetailPanel",
            "build record (not shipped): vue-theme/report.json#CommunicationDetailPanel",
            "packages/components-react/evidence/react-readiness.v1.json#CommunicationDetailPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#CommunicationDetailPanel"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#CommunicationDetailPanel",
            "build record (not shipped): vue-measured.json#CommunicationDetailPanel",
            "packages/components-react/evidence/react-readiness.v1.json#CommunicationDetailPanel",
            "packages/components-react/test/scenario-interactions.spec.tsx#CommunicationDetailPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#CommunicationDetailPanel",
            "packages/components-vue/test/scenario-interactions.spec.ts#CommunicationDetailPanel"
          ],
          "reason": "CommunicationDetailPanel presents declared trait values and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "channelsField": {
        "type": "string",
        "default": "channel_catalog",
        "trait": "Communicable"
      },
      "templatesField": {
        "type": "string",
        "default": "template_catalog",
        "trait": "Communicable"
      },
      "policiesField": {
        "type": "string",
        "default": "delivery_policies",
        "trait": "Communicable"
      },
      "conversationsField": {
        "type": "string",
        "default": "conversations",
        "trait": "Communicable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channels": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "conversations": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "policies": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "templates": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "channels": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "conversations": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "policies": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "templates": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "CycleProgressCard",
    "displayName": "CycleProgressCard",
    "description": "Shows billing cycle progress and remaining days.",
    "categories": [
      "financial"
    ],
    "tags": [
      "billing",
      "cycle",
      "financial",
      "payment",
      "recurring",
      "subscription"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [
      "Billable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#CycleProgressCard"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderCycleProgressCard"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#CycleProgressCard"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#CycleProgressCard"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#CycleProgressCard",
            "build record (not shipped): vue-measured.json#CycleProgressCard",
            "packages/components-react/evidence/react-readiness.v1.json#CycleProgressCard",
            "packages/components-react/test/accessibility.spec.tsx#CycleProgressCard",
            "packages/components-vue/evidence/vue-readiness.v1.json#CycleProgressCard",
            "packages/components-vue/test/accessibility.spec.ts#CycleProgressCard"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#CycleProgressCard",
            "build record (not shipped): vue-theme/report.json#CycleProgressCard",
            "packages/components-react/evidence/react-readiness.v1.json#CycleProgressCard",
            "packages/components-vue/evidence/vue-readiness.v1.json#CycleProgressCard"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#CycleProgressCard",
            "build record (not shipped): vue-measured.json#CycleProgressCard",
            "packages/components-react/evidence/react-readiness.v1.json#CycleProgressCard",
            "packages/components-react/test/scenario-interactions.spec.tsx#CycleProgressCard",
            "packages/components-vue/evidence/vue-readiness.v1.json#CycleProgressCard",
            "packages/components-vue/test/scenario-interactions.spec.ts#CycleProgressCard"
          ],
          "reason": "CycleProgressCard presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "progressField": {
        "type": "string",
        "default": "current_period_progress",
        "trait": "Billable"
      },
      "periodStartField": {
        "type": "string",
        "default": "current_period_start",
        "trait": "Billable"
      },
      "periodEndField": {
        "type": "string",
        "default": "current_period_end",
        "trait": "Billable"
      },
      "intervalField": {
        "type": "string",
        "default": "billing_interval",
        "trait": "Billable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "id": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "now": {
          "type": "string",
          "optional": true
        },
        "periodEnd": {
          "type": "string",
          "optional": true
        },
        "periodStart": {
          "type": "string",
          "optional": true
        },
        "progress": {
          "type": "number",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "id": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "now": {
          "type": "string",
          "optional": true
        },
        "periodEnd": {
          "type": "string",
          "optional": true
        },
        "periodStart": {
          "type": "string",
          "optional": true
        },
        "progress": {
          "type": "number",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "DatePicker",
    "displayName": "DatePicker",
    "description": "Selects a date with a labelled native control.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "date",
      "field",
      "form",
      "input",
      "interactive",
      "primitive"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "form",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#DatePicker"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderDatePicker"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#DatePicker"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#DatePicker"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/96",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/97",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/176",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/177",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#DatePicker",
            "build record (not shipped): vue-measured.json#DatePicker",
            "packages/components-react/evidence/react-readiness.v1.json#DatePicker",
            "packages/components-react/test/accessibility.spec.tsx#DatePicker",
            "packages/components-vue/evidence/vue-readiness.v1.json#DatePicker",
            "packages/components-vue/test/accessibility.spec.ts#DatePicker"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#DatePicker",
            "build record (not shipped): vue-theme/report.json#DatePicker",
            "packages/components-react/evidence/react-readiness.v1.json#DatePicker",
            "packages/components-vue/evidence/vue-readiness.v1.json#DatePicker"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#DatePicker",
            "build record (not shipped): vue-measured.json#DatePicker",
            "packages/components-react/evidence/react-readiness.v1.json#DatePicker",
            "packages/components-react/test/scenario-interactions.spec.tsx#DatePicker",
            "packages/components-vue/evidence/vue-readiness.v1.json#DatePicker",
            "packages/components-vue/test/scenario-interactions.spec.ts#DatePicker"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "className": {
          "type": "string",
          "optional": true
        },
        "defaultValue": {
          "type": "string | number | readonly string[]",
          "optional": true
        },
        "density": {
          "type": "FieldDensity",
          "optional": true
        },
        "description": {
          "type": "ReactNode",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "ReactNode",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": false
        },
        "inputClassName": {
          "type": "string",
          "optional": true
        },
        "inputStyle": {
          "type": "CSSProperties",
          "optional": true
        },
        "label": {
          "type": "ReactNode",
          "optional": false
        },
        "max": {
          "type": "string | number",
          "optional": true
        },
        "min": {
          "type": "string | number",
          "optional": true
        },
        "onUpdate": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "onValueChange": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "pickerClassName": {
          "type": "string",
          "optional": true
        },
        "pickerStyle": {
          "type": "CSSProperties",
          "optional": true
        },
        "readOnly": {
          "type": "boolean",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "requiredIndicator": {
          "type": "ReactNode",
          "optional": true
        },
        "step": {
          "type": "string | number",
          "optional": true
        },
        "style": {
          "type": "CSSProperties",
          "optional": true
        },
        "validation": {
          "type": "FieldValidation",
          "optional": true
        },
        "value": {
          "type": "string | number | readonly string[]",
          "optional": true
        }
      },
      "vue": {
        "defaultValue": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "max": {
          "type": "string",
          "optional": true
        },
        "min": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "readOnly": {
          "type": "boolean",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "step": {
          "type": "string | number",
          "optional": true
        },
        "validation": {
          "type": "ValidationMessage",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { DatePicker } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <DatePicker />;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { DatePicker } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <DatePicker />;\n}"
  },
  {
    "name": "DetailHeader",
    "displayName": "DetailHeader",
    "description": "Names a record with a heading and optional supporting text.",
    "categories": [
      "content"
    ],
    "tags": [
      "content",
      "copy",
      "description",
      "label",
      "metadata"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "inline",
      "list",
      "timeline"
    ],
    "traits": [
      "Labelled"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#DetailHeader"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderDetailHeader"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#DetailHeader"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#DetailHeader"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/2",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/3",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/16",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/17",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/26",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/27",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/34",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/35",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/42",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/43",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/52",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/53",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/66",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/67",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/94",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/95",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/108",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/109",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/122",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/123",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/136",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/137",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/174",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/175",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#DetailHeader",
            "build record (not shipped): vue-measured.json#DetailHeader",
            "packages/components-react/evidence/react-readiness.v1.json#DetailHeader",
            "packages/components-react/test/accessibility.spec.tsx#DetailHeader",
            "packages/components-vue/evidence/vue-readiness.v1.json#DetailHeader",
            "packages/components-vue/test/accessibility.spec.ts#DetailHeader"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#DetailHeader",
            "build record (not shipped): vue-theme/report.json#DetailHeader",
            "packages/components-react/evidence/react-readiness.v1.json#DetailHeader",
            "packages/components-vue/evidence/vue-readiness.v1.json#DetailHeader"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#DetailHeader",
            "build record (not shipped): vue-measured.json#DetailHeader",
            "packages/components-react/evidence/react-readiness.v1.json#DetailHeader",
            "packages/components-react/test/scenario-interactions.spec.tsx#DetailHeader",
            "packages/components-vue/evidence/vue-readiness.v1.json#DetailHeader",
            "packages/components-vue/test/scenario-interactions.spec.ts#DetailHeader"
          ],
          "reason": "DetailHeader presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "titleField": {
        "type": "string",
        "default": "label",
        "trait": "Labelled"
      },
      "subtitleField": {
        "type": "string",
        "default": "description",
        "trait": "Labelled"
      },
      "headingLevel": {
        "type": "number",
        "default": 1,
        "trait": "Labelled"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "as": {
          "type": "HeaderElement",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "level": {
          "type": "HeaderLevel",
          "optional": true
        },
        "meta": {
          "type": "string",
          "optional": true
        },
        "metadata": {
          "type": "string",
          "optional": true
        },
        "sublabel": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "as": {
          "type": "HeaderElement",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "level": {
          "type": "HeaderLevel",
          "optional": true
        },
        "meta": {
          "type": "string",
          "optional": true
        },
        "metadata": {
          "type": "string",
          "optional": true
        },
        "sublabel": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "Dialog",
    "displayName": "Dialog",
    "description": "Asks for a decision or shows focused content in a window with a title, actions and a close button.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "dialog",
      "modal",
      "overlay",
      "primitive"
    ],
    "contexts": [],
    "regions": [],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Dialog"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "packages/component-contracts/registry/component-intake.v1.json#Dialog"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderDialog"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Dialog"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Dialog"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Dialog",
            "build record (not shipped): vue-measured.json#Dialog",
            "packages/components-react/evidence/react-readiness.v1.json#Dialog",
            "packages/components-vue/evidence/vue-readiness.v1.json#Dialog"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Dialog",
            "build record (not shipped): vue-theme/report.json#Dialog",
            "packages/components-react/evidence/react-readiness.v1.json#Dialog",
            "packages/components-vue/evidence/vue-readiness.v1.json#Dialog"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Dialog",
            "build record (not shipped): vue-measured.json#Dialog",
            "packages/components-react/evidence/react-readiness.v1.json#Dialog",
            "packages/components-vue/evidence/vue-readiness.v1.json#Dialog"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "actions": {
          "type": "ReactNode",
          "optional": true
        },
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "className": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "ReactNode",
          "optional": true
        },
        "dismissLabel": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "modal": {
          "type": "boolean",
          "optional": true
        },
        "onClose": {
          "type": "(() => void)",
          "optional": true
        },
        "open": {
          "type": "boolean",
          "optional": true
        },
        "size": {
          "type": "\"sm\" | \"md\" | \"lg\"",
          "optional": true
        },
        "style": {
          "type": "CSSProperties",
          "optional": true
        },
        "title": {
          "type": "ReactNode",
          "optional": false
        }
      },
      "vue": {
        "actions": {
          "type": "VNodeChild",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "dismissLabel": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "modal": {
          "type": "boolean",
          "optional": true
        },
        "open": {
          "type": "boolean",
          "optional": true
        },
        "size": {
          "type": "\"sm\" | \"md\" | \"lg\"",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "FilterPanel",
    "displayName": "FilterPanel",
    "description": "Groups filter controls and their explanatory content.",
    "categories": [
      "behavioral"
    ],
    "tags": [
      "data-refinement",
      "facets",
      "filtering",
      "list-behavior"
    ],
    "contexts": [
      "detail",
      "list"
    ],
    "regions": [
      "detail",
      "list"
    ],
    "traits": [
      "Filterable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#FilterPanel"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderFilterPanel"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#FilterPanel"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#FilterPanel"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#FilterPanel",
            "build record (not shipped): vue-measured.json#FilterPanel",
            "packages/components-react/evidence/react-readiness.v1.json#FilterPanel",
            "packages/components-react/test/accessibility.spec.tsx#FilterPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#FilterPanel",
            "packages/components-vue/test/accessibility.spec.ts#FilterPanel"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#FilterPanel",
            "build record (not shipped): vue-theme/report.json#FilterPanel",
            "packages/components-react/evidence/react-readiness.v1.json#FilterPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#FilterPanel"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#FilterPanel",
            "build record (not shipped): vue-measured.json#FilterPanel",
            "packages/components-react/evidence/react-readiness.v1.json#FilterPanel",
            "packages/components-react/test/scenario-interactions.spec.tsx#FilterPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#FilterPanel",
            "packages/components-vue/test/scenario-interactions.spec.ts#FilterPanel"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "filters",
        "trait": "Filterable"
      },
      "activeField": {
        "type": "string",
        "default": "activeFilters",
        "trait": "Filterable"
      },
      "modeParameter": {
        "type": "string",
        "default": "filterMode",
        "trait": "Filterable"
      },
      "collapsibleParameter": {
        "type": "string",
        "default": "collapsible",
        "trait": "Filterable"
      },
      "maxActiveParameter": {
        "type": "string",
        "default": "maxActiveFilters",
        "trait": "Filterable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "activeFilters": {
          "type": "readonly Readonly<Record<string, unknown>>[]",
          "optional": true
        },
        "collapsible": {
          "type": "boolean",
          "optional": true
        },
        "filters": {
          "type": "readonly Readonly<Record<string, unknown>>[]",
          "optional": true
        },
        "mode": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "activeFilters": {
          "type": "readonly Readonly<Record<string, unknown>>[]",
          "optional": true
        },
        "collapsible": {
          "type": "boolean",
          "optional": true
        },
        "filters": {
          "type": "readonly Readonly<Record<string, unknown>>[]",
          "optional": true
        },
        "mode": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "FormLabelGroup",
    "displayName": "FormLabelGroup",
    "description": "Groups a form label with supporting text.",
    "categories": [
      "content"
    ],
    "tags": [
      "content",
      "copy",
      "description",
      "label",
      "metadata"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "inline",
      "list",
      "timeline"
    ],
    "traits": [
      "Labelled"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#FormLabelGroup"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderFormLabelGroup"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#FormLabelGroup"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#FormLabelGroup"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#FormLabelGroup",
            "build record (not shipped): vue-measured.json#FormLabelGroup",
            "packages/components-react/evidence/react-readiness.v1.json#FormLabelGroup",
            "packages/components-react/test/accessibility.spec.tsx#FormLabelGroup",
            "packages/components-vue/evidence/vue-readiness.v1.json#FormLabelGroup",
            "packages/components-vue/test/accessibility.spec.ts#FormLabelGroup"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#FormLabelGroup",
            "build record (not shipped): vue-theme/report.json#FormLabelGroup",
            "packages/components-react/evidence/react-readiness.v1.json#FormLabelGroup",
            "packages/components-vue/evidence/vue-readiness.v1.json#FormLabelGroup"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#FormLabelGroup",
            "build record (not shipped): vue-measured.json#FormLabelGroup",
            "packages/components-react/evidence/react-readiness.v1.json#FormLabelGroup",
            "packages/components-react/test/scenario-interactions.spec.tsx#FormLabelGroup",
            "packages/components-vue/evidence/vue-readiness.v1.json#FormLabelGroup",
            "packages/components-vue/test/scenario-interactions.spec.ts#FormLabelGroup"
          ],
          "reason": "FormLabelGroup presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "labelField": {
        "type": "string",
        "default": "label",
        "trait": "Labelled"
      },
      "descriptionField": {
        "type": "string",
        "default": "description",
        "trait": "Labelled"
      },
      "placeholderField": {
        "type": "string",
        "default": "placeholder",
        "trait": "Labelled"
      },
      "maxLabelLengthParameter": {
        "type": "string",
        "default": "maxLabelLength",
        "trait": "Labelled"
      },
      "maxDescriptionLengthParameter": {
        "type": "string",
        "default": "maxDescriptionLength",
        "trait": "Labelled"
      },
      "requireDescriptionParameter": {
        "type": "string",
        "default": "requireDescription",
        "trait": "Labelled"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "for": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "htmlFor": {
          "type": "string",
          "optional": true
        },
        "inputId": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "for": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "htmlFor": {
          "type": "string",
          "optional": true
        },
        "inputId": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "GeocodablePreview",
    "displayName": "GeocodablePreview",
    "description": "Displays a location preview from supplied geographic data.",
    "categories": [
      "viz.spatial"
    ],
    "tags": [
      "geo",
      "location",
      "map",
      "spatial",
      "viz"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Geocodable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#GeocodablePreview"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderGeocodablePreview"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#GeocodablePreview"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#GeocodablePreview"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#GeocodablePreview",
            "build record (not shipped): vue-measured.json#GeocodablePreview",
            "packages/components-react/evidence/react-readiness.v1.json#GeocodablePreview",
            "packages/components-react/test/accessibility.spec.tsx#GeocodablePreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#GeocodablePreview",
            "packages/components-vue/test/accessibility.spec.ts#GeocodablePreview"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#GeocodablePreview",
            "build record (not shipped): vue-theme/report.json#GeocodablePreview",
            "packages/components-react/evidence/react-readiness.v1.json#GeocodablePreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#GeocodablePreview"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#GeocodablePreview",
            "build record (not shipped): vue-measured.json#GeocodablePreview",
            "packages/components-react/evidence/react-readiness.v1.json#GeocodablePreview",
            "packages/components-react/test/scenario-interactions.spec.tsx#GeocodablePreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#GeocodablePreview",
            "packages/components-vue/test/scenario-interactions.spec.ts#GeocodablePreview"
          ],
          "reason": "GeocodablePreview presents declared trait values and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "resolutionField": {
        "type": "string",
        "default": "geo_resolution",
        "trait": "Geocodable"
      },
      "requiresLookupField": {
        "type": "string",
        "default": "geo_requires_lookup",
        "trait": "Geocodable"
      },
      "detectedFieldsField": {
        "type": "string",
        "default": "geo_detected_fields",
        "trait": "Geocodable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "detectedFields": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "requiresLookup": {
          "type": "boolean",
          "optional": true
        },
        "resolution": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "detectedFields": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "requiresLookup": {
          "type": "boolean",
          "optional": true
        },
        "resolution": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "GeoFieldMappingForm",
    "displayName": "GeoFieldMappingForm",
    "description": "Maps record fields to geographic coordinates and identifiers.",
    "categories": [
      "viz.spatial"
    ],
    "tags": [
      "geo",
      "location",
      "map",
      "spatial",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Geocodable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#GeoFieldMappingForm"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderGeoFieldMappingForm"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#GeoFieldMappingForm"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#GeoFieldMappingForm"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#GeoFieldMappingForm",
            "build record (not shipped): vue-measured.json#GeoFieldMappingForm",
            "packages/components-react/evidence/react-readiness.v1.json#GeoFieldMappingForm",
            "packages/components-react/test/accessibility.spec.tsx#GeoFieldMappingForm",
            "packages/components-vue/evidence/vue-readiness.v1.json#GeoFieldMappingForm",
            "packages/components-vue/test/accessibility.spec.ts#GeoFieldMappingForm"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#GeoFieldMappingForm",
            "build record (not shipped): vue-theme/report.json#GeoFieldMappingForm",
            "packages/components-react/evidence/react-readiness.v1.json#GeoFieldMappingForm",
            "packages/components-vue/evidence/vue-readiness.v1.json#GeoFieldMappingForm"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#GeoFieldMappingForm",
            "build record (not shipped): vue-measured.json#GeoFieldMappingForm",
            "packages/components-react/evidence/react-readiness.v1.json#GeoFieldMappingForm",
            "packages/components-react/test/scenario-interactions.spec.tsx#GeoFieldMappingForm",
            "packages/components-vue/evidence/vue-readiness.v1.json#GeoFieldMappingForm",
            "packages/components-vue/test/scenario-interactions.spec.ts#GeoFieldMappingForm"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "latitudeField": {
        "type": "string",
        "default": "geo_latitude_field",
        "trait": "Geocodable"
      },
      "longitudeField": {
        "type": "string",
        "default": "geo_longitude_field",
        "trait": "Geocodable"
      },
      "identifierField": {
        "type": "string",
        "default": "geo_identifier_field",
        "trait": "Geocodable"
      },
      "autoDetectField": {
        "type": "string",
        "default": "geo_auto_detect_enabled",
        "trait": "Geocodable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "autoDetect": {
          "type": "boolean",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "embedded": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "identifier": {
          "type": "string",
          "optional": true
        },
        "latitude": {
          "type": "string",
          "optional": true
        },
        "longitude": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: GeoFieldMappingValue) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "autoDetect": {
          "type": "boolean",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "embedded": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "identifier": {
          "type": "string",
          "optional": true
        },
        "latitude": {
          "type": "string",
          "optional": true
        },
        "longitude": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "GeoResolutionBadge",
    "displayName": "GeoResolutionBadge",
    "description": "Shows the resolution state of a geographic lookup.",
    "categories": [
      "viz.spatial"
    ],
    "tags": [
      "geo",
      "location",
      "map",
      "spatial",
      "viz"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Geocodable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#GeoResolutionBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderGeoResolutionBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#GeoResolutionBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#GeoResolutionBadge"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#GeoResolutionBadge",
            "build record (not shipped): vue-measured.json#GeoResolutionBadge",
            "packages/components-react/evidence/react-readiness.v1.json#GeoResolutionBadge",
            "packages/components-react/test/accessibility.spec.tsx#GeoResolutionBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#GeoResolutionBadge",
            "packages/components-vue/test/accessibility.spec.ts#GeoResolutionBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#GeoResolutionBadge",
            "build record (not shipped): vue-theme/report.json#GeoResolutionBadge",
            "packages/components-react/evidence/react-readiness.v1.json#GeoResolutionBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#GeoResolutionBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#GeoResolutionBadge",
            "build record (not shipped): vue-measured.json#GeoResolutionBadge",
            "packages/components-react/evidence/react-readiness.v1.json#GeoResolutionBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#GeoResolutionBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#GeoResolutionBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#GeoResolutionBadge"
          ],
          "reason": "GeoResolutionBadge presents declared trait values and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "resolutionField": {
        "type": "string",
        "default": "geo_resolution",
        "trait": "Geocodable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "id": {
          "type": "string",
          "optional": true
        },
        "resolution": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "id": {
          "type": "string",
          "optional": true
        },
        "resolution": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "Grid",
    "displayName": "Grid",
    "description": "Arranges child content in a responsive grid.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "layout",
      "primitive",
      "structure"
    ],
    "contexts": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "regions": [
      "card",
      "contextPanel",
      "detail",
      "form",
      "list",
      "main",
      "timeline"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Grid"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderGrid"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Grid"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Grid"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Grid",
            "build record (not shipped): vue-measured.json#Grid",
            "packages/components-react/evidence/react-readiness.v1.json#Grid",
            "packages/components-react/test/accessibility.spec.tsx#Grid",
            "packages/components-vue/evidence/vue-readiness.v1.json#Grid",
            "packages/components-vue/test/accessibility.spec.ts#Grid"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Grid",
            "build record (not shipped): vue-theme/report.json#Grid",
            "packages/components-react/evidence/react-readiness.v1.json#Grid",
            "packages/components-vue/evidence/vue-readiness.v1.json#Grid"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#Grid",
            "build record (not shipped): vue-measured.json#Grid",
            "packages/components-react/evidence/react-readiness.v1.json#Grid",
            "packages/components-react/test/scenario-interactions.spec.tsx#Grid",
            "packages/components-vue/evidence/vue-readiness.v1.json#Grid",
            "packages/components-vue/test/scenario-interactions.spec.ts#Grid"
          ],
          "reason": "Grid presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "align": {
          "type": "AlignItems",
          "optional": true
        },
        "columns": {
          "type": "number | \"auto-fit\"",
          "optional": true
        },
        "gap": {
          "type": "string",
          "optional": true
        },
        "justify": {
          "type": "JustifyContent",
          "optional": true
        },
        "minColumnWidth": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "align": {
          "type": "string",
          "optional": true
        },
        "columns": {
          "type": "string | number",
          "optional": true
        },
        "gap": {
          "type": "string",
          "optional": true
        },
        "justify": {
          "type": "string",
          "optional": true
        },
        "minColumnWidth": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Grid } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Grid>...</Grid>;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Grid } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Grid>...</Grid>;\n}"
  },
  {
    "name": "InlineLabel",
    "displayName": "InlineLabel",
    "description": "Displays a compact record label within a line of text.",
    "categories": [
      "content"
    ],
    "tags": [
      "content",
      "copy",
      "description",
      "label",
      "metadata"
    ],
    "contexts": [
      "inline"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "inline",
      "list",
      "timeline"
    ],
    "traits": [
      "Labelled"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#InlineLabel"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderInlineLabel"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#InlineLabel"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#InlineLabel"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/6",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/7",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/18",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/19",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/28",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/29",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/36",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/37",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/44",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/45",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/56",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/57",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/70",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/71",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/84",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/85",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/98",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/99",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/112",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/113",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/126",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/127",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/138",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/139",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/150",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/151",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/164",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/165",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/178",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/179",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/192",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/193"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#InlineLabel",
            "build record (not shipped): vue-measured.json#InlineLabel",
            "packages/components-react/evidence/react-readiness.v1.json#InlineLabel",
            "packages/components-react/test/accessibility.spec.tsx#InlineLabel",
            "packages/components-vue/evidence/vue-readiness.v1.json#InlineLabel",
            "packages/components-vue/test/accessibility.spec.ts#InlineLabel"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#InlineLabel",
            "build record (not shipped): vue-theme/report.json#InlineLabel",
            "packages/components-react/evidence/react-readiness.v1.json#InlineLabel",
            "packages/components-vue/evidence/vue-readiness.v1.json#InlineLabel"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#InlineLabel",
            "build record (not shipped): vue-measured.json#InlineLabel",
            "packages/components-react/evidence/react-readiness.v1.json#InlineLabel",
            "packages/components-react/test/scenario-interactions.spec.tsx#InlineLabel",
            "packages/components-vue/evidence/vue-readiness.v1.json#InlineLabel",
            "packages/components-vue/test/scenario-interactions.spec.ts#InlineLabel"
          ],
          "reason": "InlineLabel presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "label",
        "trait": "Labelled"
      },
      "maxLength": {
        "type": "number",
        "default": 40,
        "trait": "Labelled"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "label": {
          "type": "string",
          "optional": true
        },
        "maxLength": {
          "type": "string | number",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "label": {
          "type": "string",
          "optional": true
        },
        "maxLength": {
          "type": "string | number",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "Input",
    "displayName": "Input",
    "description": "Edits a scalar value with a labelled native input.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "field",
      "form",
      "input",
      "interactive",
      "primitive"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "form",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Input"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderInput"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Input"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Input"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/4",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/5",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/54",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/55",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/68",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/69",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/82",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/83",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/96",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/97",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/110",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/111",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/124",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/125",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/148",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/149",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/162",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/163",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/176",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/177",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/190",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/191",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Input",
            "build record (not shipped): vue-measured.json#Input",
            "packages/components-react/evidence/react-readiness.v1.json#Input",
            "packages/components-react/test/accessibility.spec.tsx#Input",
            "packages/components-vue/evidence/vue-readiness.v1.json#Input",
            "packages/components-vue/test/accessibility.spec.ts#Input"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Input",
            "build record (not shipped): vue-theme/report.json#Input",
            "packages/components-react/evidence/react-readiness.v1.json#Input",
            "packages/components-vue/evidence/vue-readiness.v1.json#Input"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Input",
            "build record (not shipped): vue-measured.json#Input",
            "packages/components-react/evidence/react-readiness.v1.json#Input",
            "packages/components-react/test/scenario-interactions.spec.tsx#Input",
            "packages/components-vue/evidence/vue-readiness.v1.json#Input",
            "packages/components-vue/test/scenario-interactions.spec.ts#Input"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "value": {
        "type": "string",
        "description": "Input value.",
        "source": "primitive-renderer"
      },
      "placeholder": {
        "type": "string",
        "description": "Placeholder text.",
        "source": "primitive-renderer"
      },
      "type": {
        "type": "string",
        "description": "Native input type (text, email, number, …; default text).",
        "source": "primitive-renderer"
      },
      "name": {
        "type": "string",
        "description": "Form field name.",
        "source": "primitive-renderer"
      },
      "required": {
        "type": "boolean",
        "description": "Marks the field as required.",
        "source": "primitive-renderer"
      },
      "disabled": {
        "type": "boolean",
        "description": "Disables the input.",
        "source": "primitive-renderer"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "className": {
          "type": "string",
          "optional": true
        },
        "defaultValue": {
          "type": "string | number | readonly string[]",
          "optional": true
        },
        "density": {
          "type": "FieldDensity",
          "optional": true
        },
        "description": {
          "type": "ReactNode",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "ReactNode",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": false
        },
        "inputClassName": {
          "type": "string",
          "optional": true
        },
        "inputStyle": {
          "type": "CSSProperties",
          "optional": true
        },
        "label": {
          "type": "ReactNode",
          "optional": false
        },
        "onUpdate": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "onValueChange": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "readOnly": {
          "type": "boolean",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "requiredIndicator": {
          "type": "ReactNode",
          "optional": true
        },
        "style": {
          "type": "CSSProperties",
          "optional": true
        },
        "type": {
          "type": "HTMLInputTypeAttribute",
          "optional": true
        },
        "validation": {
          "type": "FieldValidation",
          "optional": true
        },
        "value": {
          "type": "string | number | readonly string[]",
          "optional": true
        }
      },
      "vue": {
        "defaultValue": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "inputClass": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "max": {
          "type": "string",
          "optional": true
        },
        "min": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "readOnly": {
          "type": "boolean",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "step": {
          "type": "string | number",
          "optional": true
        },
        "type": {
          "type": "string",
          "optional": true
        },
        "validation": {
          "type": "ValidationMessage",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Input } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Input />;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Input } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Input />;\n}"
  },
  {
    "name": "LabelCell",
    "displayName": "LabelCell",
    "description": "Shows a record label in a collection cell.",
    "categories": [
      "content"
    ],
    "tags": [
      "content",
      "copy",
      "description",
      "label",
      "metadata"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "inline",
      "list",
      "timeline"
    ],
    "traits": [
      "Labelled"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#LabelCell"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderLabelCell"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#LabelCell"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#LabelCell"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/8",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/9",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/72",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/73",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/114",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/115",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#LabelCell",
            "build record (not shipped): vue-measured.json#LabelCell",
            "packages/components-react/evidence/react-readiness.v1.json#LabelCell",
            "packages/components-react/test/accessibility.spec.tsx#LabelCell",
            "packages/components-vue/evidence/vue-readiness.v1.json#LabelCell",
            "packages/components-vue/test/accessibility.spec.ts#LabelCell"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#LabelCell",
            "build record (not shipped): vue-theme/report.json#LabelCell",
            "packages/components-react/evidence/react-readiness.v1.json#LabelCell",
            "packages/components-vue/evidence/vue-readiness.v1.json#LabelCell"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#LabelCell",
            "build record (not shipped): vue-measured.json#LabelCell",
            "packages/components-react/evidence/react-readiness.v1.json#LabelCell",
            "packages/components-react/test/scenario-interactions.spec.tsx#LabelCell",
            "packages/components-vue/evidence/vue-readiness.v1.json#LabelCell",
            "packages/components-vue/test/scenario-interactions.spec.ts#LabelCell"
          ],
          "reason": "LabelCell presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "label",
        "trait": "Labelled"
      },
      "descriptionField": {
        "type": "string",
        "default": "description",
        "trait": "Labelled"
      },
      "truncate": {
        "type": "boolean",
        "default": true,
        "trait": "Labelled"
      },
      "maxLengthParameter": {
        "type": "string",
        "default": "maxLabelLength",
        "trait": "Labelled"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "maxLength": {
          "type": "string | number",
          "optional": true
        },
        "sublabel": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "supporting": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "truncate": {
          "type": "boolean",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "maxLength": {
          "type": "string | number",
          "optional": true
        },
        "sublabel": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "supporting": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "truncate": {
          "type": "boolean",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "MembershipAuditTimeline",
    "displayName": "MembershipAuditTimeline",
    "description": "Lists recorded membership changes over time.",
    "categories": [
      "core"
    ],
    "tags": [
      "authorization",
      "membership",
      "rbac",
      "saas",
      "security"
    ],
    "contexts": [
      "timeline"
    ],
    "regions": [
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#MembershipAuditTimeline"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderMembershipAuditTimeline"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#MembershipAuditTimeline"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#MembershipAuditTimeline"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#MembershipAuditTimeline",
            "build record (not shipped): vue-measured.json#MembershipAuditTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#MembershipAuditTimeline",
            "packages/components-react/test/accessibility.spec.tsx#MembershipAuditTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#MembershipAuditTimeline",
            "packages/components-vue/test/accessibility.spec.ts#MembershipAuditTimeline"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#MembershipAuditTimeline",
            "build record (not shipped): vue-theme/report.json#MembershipAuditTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#MembershipAuditTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#MembershipAuditTimeline"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#MembershipAuditTimeline",
            "build record (not shipped): vue-measured.json#MembershipAuditTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#MembershipAuditTimeline",
            "packages/components-react/test/scenario-interactions.spec.tsx#MembershipAuditTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#MembershipAuditTimeline",
            "packages/components-vue/test/scenario-interactions.spec.ts#MembershipAuditTimeline"
          ],
          "reason": "MembershipAuditTimeline presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "events": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "memberships": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "events": {
          "type": "unknown",
          "optional": true
        },
        "heading": {
          "type": "unknown",
          "optional": true
        },
        "history": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "memberships": {
          "type": "unknown",
          "optional": true
        },
        "name": {
          "type": "unknown",
          "optional": true
        },
        "title": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "MembershipPanel",
    "displayName": "MembershipPanel",
    "description": "Groups membership information and authored content.",
    "categories": [
      "core"
    ],
    "tags": [
      "authorization",
      "membership",
      "rbac",
      "saas",
      "security"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Authable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#MembershipPanel"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderMembershipPanel"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#MembershipPanel"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#MembershipPanel"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#MembershipPanel",
            "build record (not shipped): vue-measured.json#MembershipPanel",
            "packages/components-react/evidence/react-readiness.v1.json#MembershipPanel",
            "packages/components-react/test/accessibility.spec.tsx#MembershipPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#MembershipPanel",
            "packages/components-vue/test/accessibility.spec.ts#MembershipPanel"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#MembershipPanel",
            "build record (not shipped): vue-theme/report.json#MembershipPanel",
            "packages/components-react/evidence/react-readiness.v1.json#MembershipPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#MembershipPanel"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#MembershipPanel",
            "build record (not shipped): vue-measured.json#MembershipPanel",
            "packages/components-react/evidence/react-readiness.v1.json#MembershipPanel",
            "packages/components-react/test/scenario-interactions.spec.tsx#MembershipPanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#MembershipPanel",
            "packages/components-vue/test/scenario-interactions.spec.ts#MembershipPanel"
          ],
          "reason": "MembershipPanel presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "membershipsField": {
        "type": "string",
        "default": "membership_records",
        "trait": "Authable"
      },
      "hierarchyField": {
        "type": "string",
        "default": "role_hierarchy_edges",
        "trait": "Authable"
      },
      "roleField": {
        "type": "string",
        "default": "role_catalog",
        "trait": "Authable"
      },
      "permissionField": {
        "type": "string",
        "default": "permission_catalog",
        "trait": "Authable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "body": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "emptyMessage": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "metadata": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "body": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "emptyMessage": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "metadata": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "MessageEventTimeline",
    "displayName": "MessageEventTimeline",
    "description": "Lists recorded events in a message's lifecycle.",
    "categories": [
      "communication"
    ],
    "tags": [
      "conversation",
      "delivery",
      "messaging",
      "notification",
      "template"
    ],
    "contexts": [
      "timeline"
    ],
    "regions": [],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#MessageEventTimeline"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderMessageEventTimeline"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#MessageEventTimeline"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#MessageEventTimeline"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#MessageEventTimeline",
            "build record (not shipped): vue-measured.json#MessageEventTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#MessageEventTimeline",
            "packages/components-react/test/accessibility.spec.tsx#MessageEventTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#MessageEventTimeline",
            "packages/components-vue/test/accessibility.spec.ts#MessageEventTimeline"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#MessageEventTimeline",
            "build record (not shipped): vue-theme/report.json#MessageEventTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#MessageEventTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#MessageEventTimeline"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#MessageEventTimeline",
            "build record (not shipped): vue-measured.json#MessageEventTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#MessageEventTimeline",
            "packages/components-react/test/scenario-interactions.spec.tsx#MessageEventTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#MessageEventTimeline",
            "packages/components-vue/test/scenario-interactions.spec.ts#MessageEventTimeline"
          ],
          "reason": "MessageEventTimeline presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "events": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "messages": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "statuses": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "events": {
          "type": "unknown",
          "optional": true
        },
        "heading": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "messages": {
          "type": "unknown",
          "optional": true
        },
        "name": {
          "type": "unknown",
          "optional": true
        },
        "statuses": {
          "type": "unknown",
          "optional": true
        },
        "title": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "MessageStatusBadge",
    "displayName": "MessageStatusBadge",
    "description": "Shows a message's delivery status.",
    "categories": [
      "communication"
    ],
    "tags": [
      "conversation",
      "delivery",
      "messaging",
      "notification",
      "template"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Communicable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#MessageStatusBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderMessageStatusBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#MessageStatusBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#MessageStatusBadge"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#MessageStatusBadge",
            "build record (not shipped): vue-measured.json#MessageStatusBadge",
            "packages/components-react/evidence/react-readiness.v1.json#MessageStatusBadge",
            "packages/components-react/test/accessibility.spec.tsx#MessageStatusBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#MessageStatusBadge",
            "packages/components-vue/test/accessibility.spec.ts#MessageStatusBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#MessageStatusBadge",
            "build record (not shipped): vue-theme/report.json#MessageStatusBadge",
            "packages/components-react/evidence/react-readiness.v1.json#MessageStatusBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#MessageStatusBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#MessageStatusBadge",
            "build record (not shipped): vue-measured.json#MessageStatusBadge",
            "packages/components-react/evidence/react-readiness.v1.json#MessageStatusBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#MessageStatusBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#MessageStatusBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#MessageStatusBadge"
          ],
          "reason": "MessageStatusBadge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "statusesField": {
        "type": "string",
        "default": "message_statuses",
        "trait": "Communicable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "delivery": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "delivery": {
          "type": "unknown",
          "optional": true
        },
        "emphasis": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "state": {
          "type": "unknown",
          "optional": true
        },
        "status": {
          "type": "unknown",
          "optional": true
        },
        "text": {
          "type": "unknown",
          "optional": true
        },
        "tone": {
          "type": "unknown",
          "optional": true
        },
        "value": {
          "type": "unknown",
          "optional": true
        },
        "variant": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "OwnerBadge",
    "displayName": "OwnerBadge",
    "description": "Shows a compact owner label or supplied identifier.",
    "categories": [
      "structural"
    ],
    "tags": [
      "access",
      "governance",
      "ownership",
      "relationships"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "card",
      "detail",
      "list"
    ],
    "traits": [
      "Ownerable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#OwnerBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderOwnerBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#OwnerBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnerBadge"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/100",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/101",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#OwnerBadge",
            "build record (not shipped): vue-measured.json#OwnerBadge",
            "packages/components-react/evidence/react-readiness.v1.json#OwnerBadge",
            "packages/components-react/test/accessibility.spec.tsx#OwnerBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnerBadge",
            "packages/components-vue/test/accessibility.spec.ts#OwnerBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#OwnerBadge",
            "build record (not shipped): vue-theme/report.json#OwnerBadge",
            "packages/components-react/evidence/react-readiness.v1.json#OwnerBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnerBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#OwnerBadge",
            "build record (not shipped): vue-measured.json#OwnerBadge",
            "packages/components-react/evidence/react-readiness.v1.json#OwnerBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#OwnerBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnerBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#OwnerBadge"
          ],
          "reason": "OwnerBadge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "ownerIdField": {
        "type": "string",
        "default": "owner_id",
        "trait": "Ownerable"
      },
      "ownerTypeField": {
        "type": "string",
        "default": "owner_type",
        "trait": "Ownerable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "owner": {
          "type": "string",
          "optional": true
        },
        "ownerType": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "emphasis": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "owner": {
          "type": "unknown",
          "optional": true
        },
        "ownerType": {
          "type": "unknown",
          "optional": true
        },
        "state": {
          "type": "unknown",
          "optional": true
        },
        "status": {
          "type": "unknown",
          "optional": true
        },
        "text": {
          "type": "unknown",
          "optional": true
        },
        "tone": {
          "type": "unknown",
          "optional": true
        },
        "value": {
          "type": "unknown",
          "optional": true
        },
        "variant": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "OwnershipMeta",
    "displayName": "OwnershipMeta",
    "description": "Displays compact ownership metadata.",
    "categories": [
      "structural"
    ],
    "tags": [
      "access",
      "governance",
      "ownership",
      "relationships"
    ],
    "contexts": [
      "card"
    ],
    "regions": [
      "card",
      "detail",
      "list"
    ],
    "traits": [
      "Ownerable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#OwnershipMeta"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderOwnershipMeta"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#OwnershipMeta"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnershipMeta"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/78",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/79",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/92",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/93",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/120",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/121"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#OwnershipMeta",
            "build record (not shipped): vue-measured.json#OwnershipMeta",
            "packages/components-react/evidence/react-readiness.v1.json#OwnershipMeta",
            "packages/components-react/test/accessibility.spec.tsx#OwnershipMeta",
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnershipMeta",
            "packages/components-vue/test/accessibility.spec.ts#OwnershipMeta"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#OwnershipMeta",
            "build record (not shipped): vue-theme/report.json#OwnershipMeta",
            "packages/components-react/evidence/react-readiness.v1.json#OwnershipMeta",
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnershipMeta"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#OwnershipMeta",
            "build record (not shipped): vue-measured.json#OwnershipMeta",
            "packages/components-react/evidence/react-readiness.v1.json#OwnershipMeta",
            "packages/components-react/test/scenario-interactions.spec.tsx#OwnershipMeta",
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnershipMeta",
            "packages/components-vue/test/scenario-interactions.spec.ts#OwnershipMeta"
          ],
          "reason": "OwnershipMeta presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "ownerIdField": {
        "type": "string",
        "default": "owner_id",
        "trait": "Ownerable"
      },
      "ownerTypeField": {
        "type": "string",
        "default": "owner_type",
        "trait": "Ownerable"
      },
      "roleField": {
        "type": "string",
        "default": "ownership_role",
        "trait": "Ownerable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "owner_type": {
          "type": "string",
          "optional": true
        },
        "ownerLabel": {
          "type": "string",
          "optional": true
        },
        "ownershipRole": {
          "type": "string",
          "optional": true
        },
        "ownerType": {
          "type": "string",
          "optional": true
        },
        "role": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "ownerLabel": {
          "type": "string",
          "optional": true
        },
        "ownerType": {
          "type": "string",
          "optional": true
        },
        "owner_type": {
          "type": "string",
          "optional": true
        },
        "ownershipRole": {
          "type": "string",
          "optional": true
        },
        "role": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "OwnershipSummary",
    "displayName": "OwnershipSummary",
    "description": "Summarizes the recorded owner, role and transfer information.",
    "categories": [
      "structural"
    ],
    "tags": [
      "access",
      "governance",
      "ownership",
      "relationships"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "list"
    ],
    "traits": [
      "Ownerable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#OwnershipSummary"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderOwnershipSummary"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#OwnershipSummary"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnershipSummary"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/94",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/95",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/122",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/123",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#OwnershipSummary",
            "build record (not shipped): vue-measured.json#OwnershipSummary",
            "packages/components-react/evidence/react-readiness.v1.json#OwnershipSummary",
            "packages/components-react/test/accessibility.spec.tsx#OwnershipSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnershipSummary",
            "packages/components-vue/test/accessibility.spec.ts#OwnershipSummary"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#OwnershipSummary",
            "build record (not shipped): vue-theme/report.json#OwnershipSummary",
            "packages/components-react/evidence/react-readiness.v1.json#OwnershipSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnershipSummary"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#OwnershipSummary",
            "build record (not shipped): vue-measured.json#OwnershipSummary",
            "packages/components-react/evidence/react-readiness.v1.json#OwnershipSummary",
            "packages/components-react/test/scenario-interactions.spec.tsx#OwnershipSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#OwnershipSummary",
            "packages/components-vue/test/scenario-interactions.spec.ts#OwnershipSummary"
          ],
          "reason": "OwnershipSummary presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "ownerIdField": {
        "type": "string",
        "default": "owner_id",
        "trait": "Ownerable"
      },
      "ownerTypeField": {
        "type": "string",
        "default": "owner_type",
        "trait": "Ownerable"
      },
      "roleField": {
        "type": "string",
        "default": "ownership_role",
        "trait": "Ownerable"
      },
      "transferredAtField": {
        "type": "string",
        "default": "ownership_transferred_at",
        "trait": "Ownerable"
      },
      "allowTransferParameter": {
        "type": "string",
        "default": "allowTransfer",
        "trait": "Ownerable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "owner_id": {
          "type": "string",
          "optional": true
        },
        "owner_type": {
          "type": "string",
          "optional": true
        },
        "ownerId": {
          "type": "string",
          "optional": true
        },
        "ownerLabel": {
          "type": "string",
          "optional": true
        },
        "ownershipRole": {
          "type": "string",
          "optional": true
        },
        "ownerType": {
          "type": "string",
          "optional": true
        },
        "role": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "ownerId": {
          "type": "string",
          "optional": true
        },
        "ownerLabel": {
          "type": "string",
          "optional": true
        },
        "ownerType": {
          "type": "string",
          "optional": true
        },
        "owner_id": {
          "type": "string",
          "optional": true
        },
        "owner_type": {
          "type": "string",
          "optional": true
        },
        "ownershipRole": {
          "type": "string",
          "optional": true
        },
        "role": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "PaginationBar",
    "displayName": "PaginationBar",
    "description": "Navigates between pages of a collection.",
    "categories": [
      "behavioral"
    ],
    "tags": [
      "data-loading",
      "list-behavior",
      "navigation",
      "pagination"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "list"
    ],
    "traits": [
      "Pageable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#PaginationBar"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderPaginationBar"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#PaginationBar"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#PaginationBar"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/8",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/9",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/20",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/21",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/30",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/31",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/38",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/39",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/46",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/47",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/58",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/59",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/72",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/73",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/100",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/101",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/114",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/115",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/140",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/141",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/180",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/181",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/194",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/195",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PaginationBar",
            "build record (not shipped): vue-measured.json#PaginationBar",
            "packages/components-react/evidence/react-readiness.v1.json#PaginationBar",
            "packages/components-react/test/accessibility.spec.tsx#PaginationBar",
            "packages/components-vue/evidence/vue-readiness.v1.json#PaginationBar",
            "packages/components-vue/test/accessibility.spec.ts#PaginationBar"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#PaginationBar",
            "build record (not shipped): vue-theme/report.json#PaginationBar",
            "packages/components-react/evidence/react-readiness.v1.json#PaginationBar",
            "packages/components-vue/evidence/vue-readiness.v1.json#PaginationBar"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PaginationBar",
            "build record (not shipped): vue-measured.json#PaginationBar",
            "packages/components-react/evidence/react-readiness.v1.json#PaginationBar",
            "packages/components-react/test/scenario-interactions.spec.tsx#PaginationBar",
            "packages/components-vue/evidence/vue-readiness.v1.json#PaginationBar",
            "packages/components-vue/test/scenario-interactions.spec.ts#PaginationBar"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "pageField": {
        "type": "string",
        "default": "page",
        "trait": "Pageable"
      },
      "pageSizeField": {
        "type": "string",
        "default": "pageSize",
        "trait": "Pageable"
      },
      "totalItemsField": {
        "type": "string",
        "default": "totalItems",
        "trait": "Pageable"
      },
      "totalPagesField": {
        "type": "string",
        "default": "totalPages",
        "trait": "Pageable"
      },
      "pageSizeOptionsParameter": {
        "type": "string",
        "default": "pageSizeOptions",
        "trait": "Pageable"
      },
      "showPageSizeSelectorParameter": {
        "type": "string",
        "default": "showPageSizeSelector",
        "trait": "Pageable"
      },
      "showGotoPageParameter": {
        "type": "string",
        "default": "showGotoPage",
        "trait": "Pageable"
      },
      "showItemRangeParameter": {
        "type": "string",
        "default": "showItemRange",
        "trait": "Pageable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "onChange": {
          "type": "((page: number) => void)",
          "optional": true
        },
        "onPageChange": {
          "type": "((page: number) => void)",
          "optional": true
        },
        "onPageSizeChange": {
          "type": "((pageSize: number) => void)",
          "optional": true
        },
        "onUpdate": {
          "type": "((page: number) => void)",
          "optional": true
        },
        "page": {
          "type": "number",
          "optional": true
        },
        "pageField": {
          "type": "string",
          "optional": true
        },
        "pageSize": {
          "type": "number",
          "optional": true
        },
        "pageSizeField": {
          "type": "string",
          "optional": true
        },
        "pageSizeOptions": {
          "type": "readonly number[]",
          "optional": true
        },
        "pageSizeOptionsParameter": {
          "type": "string",
          "optional": true
        },
        "showGotoPage": {
          "type": "boolean",
          "optional": true
        },
        "showGotoPageParameter": {
          "type": "string",
          "optional": true
        },
        "showItemRange": {
          "type": "boolean",
          "optional": true
        },
        "showItemRangeParameter": {
          "type": "string",
          "optional": true
        },
        "showPageSizeSelector": {
          "type": "boolean",
          "optional": true
        },
        "showPageSizeSelectorParameter": {
          "type": "string",
          "optional": true
        },
        "totalItems": {
          "type": "number",
          "optional": true
        },
        "totalItemsField": {
          "type": "string",
          "optional": true
        },
        "totalPages": {
          "type": "number",
          "optional": true
        },
        "totalPagesField": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "page": {
          "type": "number",
          "optional": true
        },
        "pageField": {
          "type": "string",
          "optional": true
        },
        "pageSize": {
          "type": "number",
          "optional": true
        },
        "pageSizeField": {
          "type": "string",
          "optional": true
        },
        "pageSizeOptions": {
          "type": "number[]",
          "optional": true
        },
        "pageSizeOptionsParameter": {
          "type": "string",
          "optional": true
        },
        "showGotoPage": {
          "type": "boolean",
          "optional": true
        },
        "showGotoPageParameter": {
          "type": "string",
          "optional": true
        },
        "showItemRange": {
          "type": "boolean",
          "optional": true
        },
        "showItemRangeParameter": {
          "type": "string",
          "optional": true
        },
        "showPageSizeSelector": {
          "type": "boolean",
          "optional": true
        },
        "showPageSizeSelectorParameter": {
          "type": "string",
          "optional": true
        },
        "totalItems": {
          "type": "number",
          "optional": true
        },
        "totalItemsField": {
          "type": "string",
          "optional": true
        },
        "totalPages": {
          "type": "number",
          "optional": true
        },
        "totalPagesField": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "PaymentEventTimeline",
    "displayName": "PaymentEventTimeline",
    "description": "Lists recorded payment events and timestamps.",
    "categories": [
      "financial"
    ],
    "tags": [
      "billing",
      "cycle",
      "financial",
      "payment",
      "recurring",
      "subscription"
    ],
    "contexts": [
      "timeline"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [
      "Billable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "alias",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#PaymentEventTimeline"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderPaymentEventTimeline"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#PaymentEventTimeline"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#PaymentEventTimeline"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/154",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/155",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PaymentEventTimeline",
            "build record (not shipped): vue-measured.json#PaymentEventTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#PaymentEventTimeline",
            "packages/components-react/test/accessibility.spec.tsx#PaymentEventTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#PaymentEventTimeline",
            "packages/components-vue/test/accessibility.spec.ts#PaymentEventTimeline"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#PaymentEventTimeline",
            "build record (not shipped): vue-theme/report.json#PaymentEventTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#PaymentEventTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#PaymentEventTimeline"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#PaymentEventTimeline",
            "build record (not shipped): vue-measured.json#PaymentEventTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#PaymentEventTimeline",
            "packages/components-react/test/scenario-interactions.spec.tsx#PaymentEventTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#PaymentEventTimeline",
            "packages/components-vue/test/scenario-interactions.spec.ts#PaymentEventTimeline"
          ],
          "reason": "PaymentEventTimeline presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "lastPaymentField": {
        "type": "string",
        "default": "last_payment_at",
        "trait": "Billable"
      },
      "nextPaymentField": {
        "type": "string",
        "default": "next_payment_due_at",
        "trait": "Billable"
      },
      "paymentStatusField": {
        "type": "string",
        "default": "payment_status",
        "trait": "Billable"
      },
      "amountField": {
        "type": "string",
        "default": "amount",
        "trait": "Billable"
      },
      "currencyField": {
        "type": "string",
        "default": "currency",
        "trait": "Billable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "event": {
          "type": "CollectionEvent",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "lastPayment": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "nextPayment": {
          "type": "string",
          "optional": true
        },
        "paymentStatus": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "event": {
          "type": "CollectionEvent",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "lastPayment": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "nextPayment": {
          "type": "string",
          "optional": true
        },
        "paymentStatus": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "PaymentTimeline",
    "displayName": "PaymentTimeline",
    "description": "Shows payment status, method and scheduled payment dates.",
    "categories": [
      "financial"
    ],
    "tags": [
      "billing",
      "cycle",
      "financial",
      "payment",
      "recurring",
      "subscription"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [
      "Billable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#PaymentTimeline"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderPaymentTimeline"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#PaymentTimeline"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#PaymentTimeline"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PaymentTimeline",
            "build record (not shipped): vue-measured.json#PaymentTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#PaymentTimeline",
            "packages/components-react/test/accessibility.spec.tsx#PaymentTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#PaymentTimeline",
            "packages/components-vue/test/accessibility.spec.ts#PaymentTimeline"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#PaymentTimeline",
            "build record (not shipped): vue-theme/report.json#PaymentTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#PaymentTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#PaymentTimeline"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#PaymentTimeline",
            "build record (not shipped): vue-measured.json#PaymentTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#PaymentTimeline",
            "packages/components-react/test/scenario-interactions.spec.tsx#PaymentTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#PaymentTimeline",
            "packages/components-vue/test/scenario-interactions.spec.ts#PaymentTimeline"
          ],
          "reason": "PaymentTimeline presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "lastPaymentField": {
        "type": "string",
        "default": "last_payment_at",
        "trait": "Billable"
      },
      "nextPaymentField": {
        "type": "string",
        "default": "next_payment_due_at",
        "trait": "Billable"
      },
      "paymentStatusField": {
        "type": "string",
        "default": "payment_status",
        "trait": "Billable"
      },
      "paymentMethodField": {
        "type": "string",
        "default": "payment_method_type",
        "trait": "Billable"
      },
      "amountField": {
        "type": "string",
        "default": "amount",
        "trait": "Billable"
      },
      "currencyField": {
        "type": "string",
        "default": "currency",
        "trait": "Billable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "lastPayment": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "nextPayment": {
          "type": "string",
          "optional": true
        },
        "paymentMethod": {
          "type": "string",
          "optional": true
        },
        "paymentStatus": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "lastPayment": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "nextPayment": {
          "type": "string",
          "optional": true
        },
        "paymentMethod": {
          "type": "string",
          "optional": true
        },
        "paymentStatus": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "PreferenceEditor",
    "displayName": "PreferenceEditor",
    "description": "Presents controls for a preference record.",
    "categories": [
      "core"
    ],
    "tags": [
      "jsonb",
      "notification",
      "preferences",
      "schema-evolution",
      "user-settings"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Preferenceable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#PreferenceEditor"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderPreferenceEditor"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceEditor"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceEditor"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/82",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/83",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/190",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/191",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PreferenceEditor",
            "build record (not shipped): vue-measured.json#PreferenceEditor",
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceEditor",
            "packages/components-react/test/accessibility.spec.tsx#PreferenceEditor",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceEditor",
            "packages/components-vue/test/accessibility.spec.ts#PreferenceEditor"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#PreferenceEditor",
            "build record (not shipped): vue-theme/report.json#PreferenceEditor",
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceEditor",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceEditor"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PreferenceEditor",
            "build record (not shipped): vue-measured.json#PreferenceEditor",
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceEditor",
            "packages/components-react/test/scenario-interactions.spec.tsx#PreferenceEditor",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceEditor",
            "packages/components-vue/test/scenario-interactions.spec.ts#PreferenceEditor"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "namespacesField": {
        "type": "string",
        "default": "preference_namespaces",
        "trait": "Preferenceable"
      },
      "documentField": {
        "type": "string",
        "default": "preference_document",
        "trait": "Preferenceable"
      },
      "registryNamespaceParameter": {
        "type": "string",
        "default": "registryNamespace",
        "trait": "Preferenceable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "document": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "json": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "namespace": {
          "type": "string",
          "optional": true
        },
        "namespaces": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "document": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "json": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "namespace": {
          "type": "string",
          "optional": true
        },
        "namespaces": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "PreferencePanel",
    "displayName": "PreferencePanel",
    "description": "Groups preference details and authored content.",
    "categories": [
      "core"
    ],
    "tags": [
      "jsonb",
      "notification",
      "preferences",
      "schema-evolution",
      "user-settings"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Preferenceable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#PreferencePanel"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderPreferencePanel"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#PreferencePanel"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferencePanel"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PreferencePanel",
            "build record (not shipped): vue-measured.json#PreferencePanel",
            "packages/components-react/evidence/react-readiness.v1.json#PreferencePanel",
            "packages/components-react/test/accessibility.spec.tsx#PreferencePanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferencePanel",
            "packages/components-vue/test/accessibility.spec.ts#PreferencePanel"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#PreferencePanel",
            "build record (not shipped): vue-theme/report.json#PreferencePanel",
            "packages/components-react/evidence/react-readiness.v1.json#PreferencePanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferencePanel"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#PreferencePanel",
            "build record (not shipped): vue-measured.json#PreferencePanel",
            "packages/components-react/evidence/react-readiness.v1.json#PreferencePanel",
            "packages/components-react/test/scenario-interactions.spec.tsx#PreferencePanel",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferencePanel",
            "packages/components-vue/test/scenario-interactions.spec.ts#PreferencePanel"
          ],
          "reason": "PreferencePanel presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "preferencesField": {
        "type": "string",
        "default": "preference_document",
        "trait": "Preferenceable"
      },
      "metadataField": {
        "type": "string",
        "default": "preference_metadata",
        "trait": "Preferenceable"
      },
      "namespaceField": {
        "type": "string",
        "default": "preference_namespaces",
        "trait": "Preferenceable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "body": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "emptyMessage": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "metadata": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "body": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "emptyMessage": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "metadata": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "PreferenceSummaryBadge",
    "displayName": "PreferenceSummaryBadge",
    "description": "Shows a compact preference summary.",
    "categories": [
      "core"
    ],
    "tags": [
      "jsonb",
      "notification",
      "preferences",
      "schema-evolution",
      "user-settings"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Preferenceable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#PreferenceSummaryBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderPreferenceSummaryBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceSummaryBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceSummaryBadge"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PreferenceSummaryBadge",
            "build record (not shipped): vue-measured.json#PreferenceSummaryBadge",
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceSummaryBadge",
            "packages/components-react/test/accessibility.spec.tsx#PreferenceSummaryBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceSummaryBadge",
            "packages/components-vue/test/accessibility.spec.ts#PreferenceSummaryBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#PreferenceSummaryBadge",
            "build record (not shipped): vue-theme/report.json#PreferenceSummaryBadge",
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceSummaryBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceSummaryBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#PreferenceSummaryBadge",
            "build record (not shipped): vue-measured.json#PreferenceSummaryBadge",
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceSummaryBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#PreferenceSummaryBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceSummaryBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#PreferenceSummaryBadge"
          ],
          "reason": "PreferenceSummaryBadge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "namespacesField": {
        "type": "string",
        "default": "preference_namespaces",
        "trait": "Preferenceable"
      },
      "versionField": {
        "type": "string",
        "default": "preference_version",
        "trait": "Preferenceable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "namespace": {
          "type": "string",
          "optional": true
        },
        "state": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        },
        "version": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "emphasis": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "namespace": {
          "type": "unknown",
          "optional": true
        },
        "state": {
          "type": "unknown",
          "optional": true
        },
        "status": {
          "type": "unknown",
          "optional": true
        },
        "text": {
          "type": "unknown",
          "optional": true
        },
        "tone": {
          "type": "unknown",
          "optional": true
        },
        "value": {
          "type": "unknown",
          "optional": true
        },
        "variant": {
          "type": "unknown",
          "optional": true
        },
        "version": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "PreferenceTimeline",
    "displayName": "PreferenceTimeline",
    "description": "Lists recorded preference changes over time.",
    "categories": [
      "core"
    ],
    "tags": [
      "jsonb",
      "notification",
      "preferences",
      "schema-evolution",
      "user-settings"
    ],
    "contexts": [
      "timeline"
    ],
    "regions": [
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#PreferenceTimeline"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderPreferenceTimeline"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceTimeline"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceTimeline"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PreferenceTimeline",
            "build record (not shipped): vue-measured.json#PreferenceTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceTimeline",
            "packages/components-react/test/accessibility.spec.tsx#PreferenceTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceTimeline",
            "packages/components-vue/test/accessibility.spec.ts#PreferenceTimeline"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#PreferenceTimeline",
            "build record (not shipped): vue-theme/report.json#PreferenceTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceTimeline"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#PreferenceTimeline",
            "build record (not shipped): vue-measured.json#PreferenceTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#PreferenceTimeline",
            "packages/components-react/test/scenario-interactions.spec.tsx#PreferenceTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#PreferenceTimeline",
            "packages/components-vue/test/scenario-interactions.spec.ts#PreferenceTimeline"
          ],
          "reason": "PreferenceTimeline presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "changes": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "events": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "changes": {
          "type": "unknown",
          "optional": true
        },
        "events": {
          "type": "unknown",
          "optional": true
        },
        "heading": {
          "type": "unknown",
          "optional": true
        },
        "history": {
          "type": "unknown",
          "optional": true
        },
        "label": {
          "type": "unknown",
          "optional": true
        },
        "name": {
          "type": "unknown",
          "optional": true
        },
        "title": {
          "type": "unknown",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "PriceBadge",
    "displayName": "PriceBadge",
    "description": "Displays a compact formatted price.",
    "categories": [
      "financial"
    ],
    "tags": [
      "billing",
      "commerce",
      "monetization",
      "pricing"
    ],
    "contexts": [
      "card",
      "list"
    ],
    "regions": [
      "card",
      "detail",
      "list"
    ],
    "traits": [
      "Priceable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#PriceBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderPriceBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#PriceBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceBadge"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/106",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/107",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/108",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/109",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/114",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/115",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/158",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/159",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PriceBadge",
            "build record (not shipped): vue-measured.json#PriceBadge",
            "packages/components-react/evidence/react-readiness.v1.json#PriceBadge",
            "packages/components-react/test/accessibility.spec.tsx#PriceBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceBadge",
            "packages/components-vue/test/accessibility.spec.ts#PriceBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#PriceBadge",
            "build record (not shipped): vue-theme/report.json#PriceBadge",
            "packages/components-react/evidence/react-readiness.v1.json#PriceBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#PriceBadge",
            "build record (not shipped): vue-measured.json#PriceBadge",
            "packages/components-react/evidence/react-readiness.v1.json#PriceBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#PriceBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#PriceBadge"
          ],
          "reason": "PriceBadge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "amountField": {
        "type": "string",
        "default": "unit_amount_cents",
        "trait": "Priceable"
      },
      "currencyField": {
        "type": "string",
        "default": "currency",
        "trait": "Priceable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "amountCents": {
          "type": "number",
          "optional": true
        },
        "amountField": {
          "type": "string",
          "optional": true
        },
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "currencyCode": {
          "type": "string",
          "optional": true
        },
        "currencyField": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "intervalField": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "ReactNode",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "minorUnitsParameter": {
          "type": "string",
          "optional": true
        },
        "unitAmount": {
          "type": "number",
          "optional": true
        },
        "unitAmountCents": {
          "type": "number",
          "optional": true
        },
        "value": {
          "type": "string | number",
          "optional": true
        }
      },
      "vue": {
        "amount": {
          "type": "number",
          "optional": true
        },
        "amountCents": {
          "type": "number",
          "optional": true
        },
        "amountField": {
          "type": "string",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "currencyCode": {
          "type": "string",
          "optional": true
        },
        "currencyField": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "intervalField": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "minorUnitsParameter": {
          "type": "string",
          "optional": true
        },
        "unitAmount": {
          "type": "number",
          "optional": true
        },
        "unitAmountCents": {
          "type": "number",
          "optional": true
        },
        "value": {
          "type": "string | number",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "PriceCardMeta",
    "displayName": "PriceCardMeta",
    "description": "Shows pricing metadata within a card.",
    "categories": [
      "financial"
    ],
    "tags": [
      "billing",
      "commerce",
      "monetization",
      "pricing"
    ],
    "contexts": [
      "card"
    ],
    "regions": [
      "card",
      "detail",
      "list"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#PriceCardMeta"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderPriceCardMeta"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#PriceCardMeta"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceCardMeta"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PriceCardMeta",
            "build record (not shipped): vue-measured.json#PriceCardMeta",
            "packages/components-react/evidence/react-readiness.v1.json#PriceCardMeta",
            "packages/components-react/test/accessibility.spec.tsx#PriceCardMeta",
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceCardMeta",
            "packages/components-vue/test/accessibility.spec.ts#PriceCardMeta"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#PriceCardMeta",
            "build record (not shipped): vue-theme/report.json#PriceCardMeta",
            "packages/components-react/evidence/react-readiness.v1.json#PriceCardMeta",
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceCardMeta"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#PriceCardMeta",
            "build record (not shipped): vue-measured.json#PriceCardMeta",
            "packages/components-react/evidence/react-readiness.v1.json#PriceCardMeta",
            "packages/components-react/test/scenario-interactions.spec.tsx#PriceCardMeta",
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceCardMeta",
            "packages/components-vue/test/scenario-interactions.spec.ts#PriceCardMeta"
          ],
          "reason": "PriceCardMeta presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "billingInterval": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "model": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "pricingModel": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "billingInterval": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "model": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "pricingModel": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "PriceSummary",
    "displayName": "PriceSummary",
    "description": "Summarizes an amount, currency and pricing model.",
    "categories": [
      "financial"
    ],
    "tags": [
      "billing",
      "commerce",
      "monetization",
      "pricing"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "list"
    ],
    "traits": [
      "Priceable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#PriceSummary"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderPriceSummary"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#PriceSummary"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceSummary"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/108",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/109",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#PriceSummary",
            "build record (not shipped): vue-measured.json#PriceSummary",
            "packages/components-react/evidence/react-readiness.v1.json#PriceSummary",
            "packages/components-react/test/accessibility.spec.tsx#PriceSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceSummary",
            "packages/components-vue/test/accessibility.spec.ts#PriceSummary"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#PriceSummary",
            "build record (not shipped): vue-theme/report.json#PriceSummary",
            "packages/components-react/evidence/react-readiness.v1.json#PriceSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceSummary"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#PriceSummary",
            "build record (not shipped): vue-measured.json#PriceSummary",
            "packages/components-react/evidence/react-readiness.v1.json#PriceSummary",
            "packages/components-react/test/scenario-interactions.spec.tsx#PriceSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#PriceSummary",
            "packages/components-vue/test/scenario-interactions.spec.ts#PriceSummary"
          ],
          "reason": "PriceSummary presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "amountField": {
        "type": "string",
        "default": "unit_amount_cents",
        "trait": "Priceable"
      },
      "currencyField": {
        "type": "string",
        "default": "currency",
        "trait": "Priceable"
      },
      "modelField": {
        "type": "string",
        "default": "pricing_model",
        "trait": "Priceable"
      },
      "intervalField": {
        "type": "string",
        "default": "billing_interval",
        "trait": "Priceable"
      },
      "taxBehaviorField": {
        "type": "string",
        "default": "tax_behavior",
        "trait": "Priceable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "amount": {
          "type": "string | number",
          "optional": true
        },
        "amountCents": {
          "type": "string | number",
          "optional": true
        },
        "billingInterval": {
          "type": "string",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "currencyCode": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "model": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "pricingModel": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "unitAmountCents": {
          "type": "string | number",
          "optional": true
        }
      },
      "vue": {
        "amount": {
          "type": "string | number",
          "optional": true
        },
        "amountCents": {
          "type": "string | number",
          "optional": true
        },
        "billingInterval": {
          "type": "string",
          "optional": true
        },
        "currency": {
          "type": "string",
          "optional": true
        },
        "currencyCode": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "interval": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "minorUnits": {
          "type": "number",
          "optional": true
        },
        "model": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "pricingModel": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "unitAmountCents": {
          "type": "string | number",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "RelativeTimestamp",
    "displayName": "RelativeTimestamp",
    "description": "Displays a timestamp relative to a reference time.",
    "categories": [
      "core",
      "lifecycle"
    ],
    "tags": [
      "audit",
      "citation",
      "evidence",
      "lifecycle",
      "lineage",
      "metadata",
      "provenance",
      "timestamp"
    ],
    "contexts": [
      "card",
      "list"
    ],
    "regions": [
      "card",
      "detail",
      "list"
    ],
    "traits": [
      "Provenanced",
      "Timestampable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#RelativeTimestamp"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderRelativeTimestamp"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#RelativeTimestamp"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#RelativeTimestamp"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/8",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/9",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/14",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/15",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/20",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/21",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/24",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/25",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/30",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/31",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/32",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/33",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/38",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/39",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/40",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/41",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/46",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/47",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/58",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/59",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/72",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/73",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/114",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/115",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/134",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/135",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/140",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/141",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/180",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/181",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/194",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/195",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#RelativeTimestamp",
            "build record (not shipped): vue-measured.json#RelativeTimestamp",
            "packages/components-react/evidence/react-readiness.v1.json#RelativeTimestamp",
            "packages/components-react/test/accessibility.spec.tsx#RelativeTimestamp",
            "packages/components-vue/evidence/vue-readiness.v1.json#RelativeTimestamp",
            "packages/components-vue/test/accessibility.spec.ts#RelativeTimestamp"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#RelativeTimestamp",
            "build record (not shipped): vue-theme/report.json#RelativeTimestamp",
            "packages/components-react/evidence/react-readiness.v1.json#RelativeTimestamp",
            "packages/components-vue/evidence/vue-readiness.v1.json#RelativeTimestamp"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#RelativeTimestamp",
            "build record (not shipped): vue-measured.json#RelativeTimestamp",
            "packages/components-react/evidence/react-readiness.v1.json#RelativeTimestamp",
            "packages/components-react/test/scenario-interactions.spec.tsx#RelativeTimestamp",
            "packages/components-vue/evidence/vue-readiness.v1.json#RelativeTimestamp",
            "packages/components-vue/test/scenario-interactions.spec.ts#RelativeTimestamp"
          ],
          "reason": "RelativeTimestamp presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "updated_at",
        "trait": "Timestampable"
      },
      "label": {
        "type": "string",
        "default": "Obtained",
        "trait": "Provenanced"
      },
      "fallbackField": {
        "type": "string",
        "default": "created_at",
        "trait": "Timestampable"
      },
      "timezoneParameter": {
        "type": "string",
        "default": "timezone",
        "trait": "Timestampable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "createdAt": {
          "type": "string | number | Date",
          "optional": true
        },
        "datetime": {
          "type": "string | number | Date",
          "optional": true
        },
        "fallbackField": {
          "type": "string",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "hideWhenEmpty": {
          "type": "boolean",
          "optional": true
        },
        "label": {
          "type": "ReactNode",
          "optional": true
        },
        "now": {
          "type": "string | number | Date",
          "optional": true
        },
        "relative": {
          "type": "ReactNode",
          "optional": true
        },
        "text": {
          "type": "ReactNode",
          "optional": true
        },
        "timestamp": {
          "type": "string | number | Date",
          "optional": true
        },
        "timezone": {
          "type": "string",
          "optional": true
        },
        "timezoneParameter": {
          "type": "string",
          "optional": true
        },
        "updatedAt": {
          "type": "string | number | Date",
          "optional": true
        },
        "value": {
          "type": "string | number | Date",
          "optional": true
        }
      },
      "vue": {
        "createdAt": {
          "type": "string",
          "optional": true
        },
        "datetime": {
          "type": "string",
          "optional": true
        },
        "fallbackField": {
          "type": "string",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "hideWhenEmpty": {
          "type": "boolean",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "now": {
          "type": "string | number | Date",
          "optional": true
        },
        "relative": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "timestamp": {
          "type": "string",
          "optional": true
        },
        "timezone": {
          "type": "string",
          "optional": true
        },
        "timezoneParameter": {
          "type": "string",
          "optional": true
        },
        "updatedAt": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "RoleAssignmentForm",
    "displayName": "RoleAssignmentForm",
    "description": "Presents controls for assigning a role.",
    "categories": [
      "core"
    ],
    "tags": [
      "authorization",
      "membership",
      "rbac",
      "saas",
      "security"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Authable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#RoleAssignmentForm"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderRoleAssignmentForm"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#RoleAssignmentForm"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#RoleAssignmentForm"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/82",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/83",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#RoleAssignmentForm",
            "build record (not shipped): vue-measured.json#RoleAssignmentForm",
            "packages/components-react/evidence/react-readiness.v1.json#RoleAssignmentForm",
            "packages/components-react/test/accessibility.spec.tsx#RoleAssignmentForm",
            "packages/components-vue/evidence/vue-readiness.v1.json#RoleAssignmentForm",
            "packages/components-vue/test/accessibility.spec.ts#RoleAssignmentForm"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#RoleAssignmentForm",
            "build record (not shipped): vue-theme/report.json#RoleAssignmentForm",
            "packages/components-react/evidence/react-readiness.v1.json#RoleAssignmentForm",
            "packages/components-vue/evidence/vue-readiness.v1.json#RoleAssignmentForm"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#RoleAssignmentForm",
            "build record (not shipped): vue-measured.json#RoleAssignmentForm",
            "packages/components-react/evidence/react-readiness.v1.json#RoleAssignmentForm",
            "packages/components-react/test/scenario-interactions.spec.tsx#RoleAssignmentForm",
            "packages/components-vue/evidence/vue-readiness.v1.json#RoleAssignmentForm",
            "packages/components-vue/test/scenario-interactions.spec.ts#RoleAssignmentForm"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "availableRolesField": {
        "type": "string",
        "default": "role_catalog",
        "trait": "Authable"
      },
      "membershipField": {
        "type": "string",
        "default": "membership_records",
        "trait": "Authable"
      },
      "defaultRoleParameter": {
        "type": "string",
        "default": "defaultRoleId",
        "trait": "Authable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "assignee": {
          "type": "string",
          "optional": true
        },
        "availableRoles": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "defaultRoleId": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "member": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "role": {
          "type": "string",
          "optional": true
        },
        "roles": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "assignee": {
          "type": "string",
          "optional": true
        },
        "availableRoles": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "defaultRoleId": {
          "type": "string",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "member": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "role": {
          "type": "string",
          "optional": true
        },
        "roles": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "RoleBadgeList",
    "displayName": "RoleBadgeList",
    "description": "Displays the roles assigned to a record.",
    "categories": [
      "core"
    ],
    "tags": [
      "authorization",
      "membership",
      "rbac",
      "saas",
      "security"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Authable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#RoleBadgeList"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderRoleBadgeList"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#RoleBadgeList"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#RoleBadgeList"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#RoleBadgeList",
            "build record (not shipped): vue-measured.json#RoleBadgeList",
            "packages/components-react/evidence/react-readiness.v1.json#RoleBadgeList",
            "packages/components-react/test/accessibility.spec.tsx#RoleBadgeList",
            "packages/components-vue/evidence/vue-readiness.v1.json#RoleBadgeList",
            "packages/components-vue/test/accessibility.spec.ts#RoleBadgeList"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#RoleBadgeList",
            "build record (not shipped): vue-theme/report.json#RoleBadgeList",
            "packages/components-react/evidence/react-readiness.v1.json#RoleBadgeList",
            "packages/components-vue/evidence/vue-readiness.v1.json#RoleBadgeList"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#RoleBadgeList",
            "build record (not shipped): vue-measured.json#RoleBadgeList",
            "packages/components-react/evidence/react-readiness.v1.json#RoleBadgeList",
            "packages/components-react/test/scenario-interactions.spec.tsx#RoleBadgeList",
            "packages/components-vue/evidence/vue-readiness.v1.json#RoleBadgeList",
            "packages/components-vue/test/scenario-interactions.spec.ts#RoleBadgeList"
          ],
          "reason": "RoleBadgeList presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "rolesField": {
        "type": "string",
        "default": "session_roles",
        "trait": "Authable"
      },
      "fallbackRoleParameter": {
        "type": "string",
        "default": "defaultRoleId",
        "trait": "Authable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "badges": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "roleLabels": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "roles": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "badges": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "roleLabels": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "roles": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "SearchInput",
    "displayName": "SearchInput",
    "description": "Edits a search query for a collection.",
    "categories": [
      "behavioral"
    ],
    "tags": [
      "discovery",
      "filtering",
      "list-behavior",
      "search"
    ],
    "contexts": [
      "detail",
      "list"
    ],
    "regions": [
      "detail",
      "list"
    ],
    "traits": [
      "Searchable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#SearchInput"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderSearchInput"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#SearchInput"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#SearchInput"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/8",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/9",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/20",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/21",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/30",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/31",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/38",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/39",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/46",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/47",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/58",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/59",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/72",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/73",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/100",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/101",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/114",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/115",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/140",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/141",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/180",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/181",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/194",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/195",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#SearchInput",
            "build record (not shipped): vue-measured.json#SearchInput",
            "packages/components-react/evidence/react-readiness.v1.json#SearchInput",
            "packages/components-react/test/accessibility.spec.tsx#SearchInput",
            "packages/components-vue/evidence/vue-readiness.v1.json#SearchInput",
            "packages/components-vue/test/accessibility.spec.ts#SearchInput"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#SearchInput",
            "build record (not shipped): vue-theme/report.json#SearchInput",
            "packages/components-react/evidence/react-readiness.v1.json#SearchInput",
            "packages/components-vue/evidence/vue-readiness.v1.json#SearchInput"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#SearchInput",
            "build record (not shipped): vue-measured.json#SearchInput",
            "packages/components-react/evidence/react-readiness.v1.json#SearchInput",
            "packages/components-react/test/scenario-interactions.spec.tsx#SearchInput",
            "packages/components-vue/evidence/vue-readiness.v1.json#SearchInput",
            "packages/components-vue/test/scenario-interactions.spec.ts#SearchInput"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "searchQuery",
        "trait": "Searchable"
      },
      "placeholderParameter": {
        "type": "string",
        "default": "placeholder",
        "trait": "Searchable"
      },
      "clearableParameter": {
        "type": "string",
        "default": "clearable",
        "trait": "Searchable"
      },
      "debounceParameter": {
        "type": "string",
        "default": "debounceMs",
        "trait": "Searchable"
      },
      "minQueryLengthParameter": {
        "type": "string",
        "default": "minQueryLength",
        "trait": "Searchable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "clearable": {
          "type": "boolean",
          "optional": true
        },
        "clearableParameter": {
          "type": "string",
          "optional": true
        },
        "debounce": {
          "type": "number",
          "optional": true
        },
        "debounceMs": {
          "type": "number",
          "optional": true
        },
        "debounceParameter": {
          "type": "string",
          "optional": true
        },
        "defaultValue": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "minQueryLength": {
          "type": "number",
          "optional": true
        },
        "minQueryLengthParameter": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "ChangeEventHandler<HTMLInputElement>",
          "optional": true
        },
        "onClear": {
          "type": "(() => void)",
          "optional": true
        },
        "onSearch": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "onUpdate": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "onValueChange": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "placeholderParameter": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "clearable": {
          "type": "boolean",
          "optional": true
        },
        "clearableParameter": {
          "type": "string",
          "optional": true
        },
        "debounce": {
          "type": "number",
          "optional": true
        },
        "debounceMs": {
          "type": "number",
          "optional": true
        },
        "debounceParameter": {
          "type": "string",
          "optional": true
        },
        "defaultValue": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "minQueryLength": {
          "type": "number",
          "optional": true
        },
        "minQueryLengthParameter": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "string",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "placeholderParameter": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "SegmentedControl",
    "displayName": "SegmentedControl",
    "description": "Chooses one of two to five options shown as joined segments.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "choice",
      "field",
      "form",
      "input",
      "interactive",
      "primitive",
      "radio",
      "segmented-control"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "form",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#SegmentedControl"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "packages/component-contracts/registry/component-intake.v1.json#SegmentedControl"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderSegmentedControl"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#SegmentedControl"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#SegmentedControl"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#SegmentedControl",
            "build record (not shipped): vue-measured.json#SegmentedControl",
            "packages/components-react/evidence/react-readiness.v1.json#SegmentedControl",
            "packages/components-vue/evidence/vue-readiness.v1.json#SegmentedControl"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#SegmentedControl",
            "build record (not shipped): vue-theme/report.json#SegmentedControl",
            "packages/components-react/evidence/react-readiness.v1.json#SegmentedControl",
            "packages/components-vue/evidence/vue-readiness.v1.json#SegmentedControl"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#SegmentedControl",
            "build record (not shipped): vue-measured.json#SegmentedControl",
            "packages/components-react/evidence/react-readiness.v1.json#SegmentedControl",
            "packages/components-vue/evidence/vue-readiness.v1.json#SegmentedControl"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "className": {
          "type": "string",
          "optional": true
        },
        "defaultValue": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": false
        },
        "label": {
          "type": "ReactNode",
          "optional": false
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "ChangeEventHandler<HTMLInputElement>",
          "optional": true
        },
        "onUpdate": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "onValueChange": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "options": {
          "type": "readonly SelectOption[]",
          "optional": false
        },
        "size": {
          "type": "\"xs\" | \"sm\" | \"md\" | \"lg\"",
          "optional": true
        },
        "style": {
          "type": "CSSProperties",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "defaultValue": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "options": {
          "type": "readonly SelectOption[]",
          "optional": true
        },
        "size": {
          "type": "\"xs\" | \"sm\" | \"md\" | \"lg\"",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "Select",
    "displayName": "Select",
    "description": "Chooses one value from a labelled list of options.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "field",
      "form",
      "input",
      "interactive",
      "primitive",
      "select"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "form",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Select"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderSelect"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Select"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Select"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/4",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/5",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/8",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/9",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/20",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/21",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/30",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/31",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/38",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/39",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/46",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/47",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/54",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/55",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/58",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/59",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/68",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/69",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/72",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/73",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/82",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/83",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/96",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/97",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/100",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/101",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/110",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/111",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/114",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/115",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/124",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/125",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/140",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/141",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/148",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/149",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/162",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/163",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/176",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/177",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/180",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/181",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/190",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/191",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/194",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/195",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Select",
            "build record (not shipped): vue-measured.json#Select",
            "packages/components-react/evidence/react-readiness.v1.json#Select",
            "packages/components-react/test/accessibility.spec.tsx#Select",
            "packages/components-vue/evidence/vue-readiness.v1.json#Select",
            "packages/components-vue/test/accessibility.spec.ts#Select"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Select",
            "build record (not shipped): vue-theme/report.json#Select",
            "packages/components-react/evidence/react-readiness.v1.json#Select",
            "packages/components-vue/evidence/vue-readiness.v1.json#Select"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Select",
            "build record (not shipped): vue-measured.json#Select",
            "packages/components-react/evidence/react-readiness.v1.json#Select",
            "packages/components-react/test/scenario-interactions.spec.tsx#Select",
            "packages/components-vue/evidence/vue-readiness.v1.json#Select",
            "packages/components-vue/test/scenario-interactions.spec.ts#Select"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "options": {
        "type": "array",
        "description": "Option list: { value, label } objects or scalars.",
        "source": "primitive-renderer"
      },
      "value": {
        "type": "string",
        "description": "Selected value (string, or array for multi-select).",
        "source": "primitive-renderer"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "className": {
          "type": "string",
          "optional": true
        },
        "defaultValue": {
          "type": "string | number | readonly string[]",
          "optional": true
        },
        "density": {
          "type": "FieldDensity",
          "optional": true
        },
        "description": {
          "type": "ReactNode",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "ReactNode",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": false
        },
        "label": {
          "type": "ReactNode",
          "optional": false
        },
        "onUpdate": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "onValueChange": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "options": {
          "type": "readonly SelectOption[]",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "requiredIndicator": {
          "type": "ReactNode",
          "optional": true
        },
        "selectClassName": {
          "type": "string",
          "optional": true
        },
        "selectStyle": {
          "type": "CSSProperties",
          "optional": true
        },
        "style": {
          "type": "CSSProperties",
          "optional": true
        },
        "validation": {
          "type": "FieldValidation",
          "optional": true
        },
        "value": {
          "type": "string | number | readonly string[]",
          "optional": true
        }
      },
      "vue": {
        "defaultValue": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "options": {
          "type": "readonly SelectOption[]",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "validation": {
          "type": "ValidationMessage",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Select } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Select />;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Select } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Select />;\n}"
  },
  {
    "name": "SortIndicator",
    "displayName": "SortIndicator",
    "description": "Shows a collection column's current sort direction.",
    "categories": [
      "behavioral"
    ],
    "tags": [
      "list-behavior",
      "ordering",
      "sorting",
      "table"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "list"
    ],
    "traits": [
      "Sortable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#SortIndicator"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderSortIndicator"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#SortIndicator"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#SortIndicator"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#SortIndicator",
            "build record (not shipped): vue-measured.json#SortIndicator",
            "packages/components-react/evidence/react-readiness.v1.json#SortIndicator",
            "packages/components-react/test/accessibility.spec.tsx#SortIndicator",
            "packages/components-vue/evidence/vue-readiness.v1.json#SortIndicator",
            "packages/components-vue/test/accessibility.spec.ts#SortIndicator"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#SortIndicator",
            "build record (not shipped): vue-theme/report.json#SortIndicator",
            "packages/components-react/evidence/react-readiness.v1.json#SortIndicator",
            "packages/components-vue/evidence/vue-readiness.v1.json#SortIndicator"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#SortIndicator",
            "build record (not shipped): vue-measured.json#SortIndicator",
            "packages/components-react/evidence/react-readiness.v1.json#SortIndicator",
            "packages/components-react/test/scenario-interactions.spec.tsx#SortIndicator",
            "packages/components-vue/evidence/vue-readiness.v1.json#SortIndicator",
            "packages/components-vue/test/scenario-interactions.spec.ts#SortIndicator"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "sortFieldProp": {
        "type": "string",
        "default": "sortField",
        "trait": "Sortable"
      },
      "sortDirectionProp": {
        "type": "string",
        "default": "sortDirection",
        "trait": "Sortable"
      },
      "sortableFieldsParameter": {
        "type": "string",
        "default": "sortableFields",
        "trait": "Sortable"
      },
      "triStateSortParameter": {
        "type": "string",
        "default": "triStateSort",
        "trait": "Sortable"
      },
      "defaultSortFieldParameter": {
        "type": "string",
        "default": "defaultSortField",
        "trait": "Sortable"
      },
      "defaultSortDirectionParameter": {
        "type": "string",
        "default": "defaultSortDirection",
        "trait": "Sortable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "data-oods-action": {
          "type": "string",
          "optional": true
        },
        "defaultSortDirection": {
          "type": "string",
          "optional": true
        },
        "defaultSortField": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((state: SortState) => void)",
          "optional": true
        },
        "sortableFields": {
          "type": "readonly string[]",
          "optional": true
        },
        "sortActive": {
          "type": "boolean",
          "optional": true
        },
        "sortDirection": {
          "type": "string",
          "optional": true
        },
        "sortField": {
          "type": "string",
          "optional": true
        },
        "triStateSort": {
          "type": "boolean",
          "optional": true
        }
      },
      "vue": {
        "defaultSortDirection": {
          "type": "string",
          "optional": true
        },
        "defaultSortField": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "sortActive": {
          "type": "boolean",
          "optional": true
        },
        "sortDirection": {
          "type": "string",
          "optional": true
        },
        "sortField": {
          "type": "string",
          "optional": true
        },
        "sortableFields": {
          "type": "readonly string[]",
          "optional": true
        },
        "triStateSort": {
          "type": "boolean",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "Stack",
    "displayName": "Stack",
    "description": "Arranges related child content vertically or horizontally.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "layout",
      "primitive",
      "structure"
    ],
    "contexts": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "regions": [
      "card",
      "contextPanel",
      "detail",
      "form",
      "list",
      "main",
      "timeline"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Stack"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderStack"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Stack"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Stack"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/0",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/1",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/2",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/3",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/4",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/5",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/6",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/7",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/8",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/9",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/10",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/11",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/14",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/15",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/16",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/17",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/18",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/19",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/20",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/21",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/22",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/23",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/24",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/25",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/26",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/27",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/28",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/29",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/30",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/31",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/32",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/33",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/34",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/35",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/36",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/37",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/38",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/39",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/40",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/41",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/42",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/43",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/44",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/45",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/46",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/47",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/48",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/49",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/50",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/51",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/52",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/53",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/54",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/55",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/56",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/57",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/58",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/59",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/60",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/61",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/64",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/65",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/66",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/67",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/68",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/69",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/70",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/71",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/72",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/73",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/74",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/75",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/78",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/79",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/82",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/83",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/84",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/85",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/88",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/89",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/92",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/93",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/94",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/95",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/96",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/97",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/98",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/99",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/100",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/101",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/102",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/103",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/106",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/107",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/108",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/109",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/110",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/111",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/112",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/113",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/114",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/115",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/116",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/117",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/120",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/121",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/122",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/123",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/124",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/125",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/126",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/127",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/130",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/131",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/134",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/135",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/136",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/137",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/138",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/139",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/140",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/141",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/142",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/143",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/144",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/145",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/148",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/149",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/150",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/151",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/154",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/155",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/158",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/159",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/162",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/163",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/164",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/165",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/168",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/169",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/172",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/173",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/174",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/175",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/176",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/177",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/178",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/179",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/180",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/181",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/182",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/183",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/186",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/187",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/190",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/191",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/192",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/193",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/194",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/195",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/196",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/197",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Stack",
            "build record (not shipped): vue-measured.json#Stack",
            "packages/components-react/evidence/react-readiness.v1.json#Stack",
            "packages/components-react/test/accessibility.spec.tsx#Stack",
            "packages/components-vue/evidence/vue-readiness.v1.json#Stack",
            "packages/components-vue/test/accessibility.spec.ts#Stack"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Stack",
            "build record (not shipped): vue-theme/report.json#Stack",
            "packages/components-react/evidence/react-readiness.v1.json#Stack",
            "packages/components-vue/evidence/vue-readiness.v1.json#Stack"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#Stack",
            "build record (not shipped): vue-measured.json#Stack",
            "packages/components-react/evidence/react-readiness.v1.json#Stack",
            "packages/components-react/test/scenario-interactions.spec.tsx#Stack",
            "packages/components-vue/evidence/vue-readiness.v1.json#Stack",
            "packages/components-vue/test/scenario-interactions.spec.ts#Stack"
          ],
          "reason": "Stack presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "align": {
          "type": "AlignItems",
          "optional": true
        },
        "direction": {
          "type": "\"row\" | \"column\"",
          "optional": true
        },
        "gap": {
          "type": "string",
          "optional": true
        },
        "justify": {
          "type": "JustifyContent",
          "optional": true
        },
        "wrap": {
          "type": "boolean",
          "optional": true
        }
      },
      "vue": {
        "align": {
          "type": "string",
          "optional": true
        },
        "direction": {
          "type": "\"row\" | \"column\"",
          "optional": true
        },
        "gap": {
          "type": "string",
          "optional": true
        },
        "justify": {
          "type": "string",
          "optional": true
        },
        "wrap": {
          "type": "boolean",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Stack } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Stack>...</Stack>;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Stack } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Stack>...</Stack>;\n}"
  },
  {
    "name": "StateTransitionEvent",
    "displayName": "StateTransitionEvent",
    "description": "Describes a recorded transition between lifecycle states.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "audit",
      "governance",
      "lifecycle",
      "state",
      "status",
      "workflow"
    ],
    "contexts": [
      "timeline"
    ],
    "regions": [
      "badges",
      "card",
      "detail",
      "forms",
      "timeline"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#StateTransitionEvent"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderStateTransitionEvent"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#StateTransitionEvent"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#StateTransitionEvent"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#StateTransitionEvent",
            "build record (not shipped): vue-measured.json#StateTransitionEvent",
            "packages/components-react/evidence/react-readiness.v1.json#StateTransitionEvent",
            "packages/components-react/test/accessibility.spec.tsx#StateTransitionEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#StateTransitionEvent",
            "packages/components-vue/test/accessibility.spec.ts#StateTransitionEvent"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#StateTransitionEvent",
            "build record (not shipped): vue-theme/report.json#StateTransitionEvent",
            "packages/components-react/evidence/react-readiness.v1.json#StateTransitionEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#StateTransitionEvent"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#StateTransitionEvent",
            "build record (not shipped): vue-measured.json#StateTransitionEvent",
            "packages/components-react/evidence/react-readiness.v1.json#StateTransitionEvent",
            "packages/components-react/test/scenario-interactions.spec.tsx#StateTransitionEvent",
            "packages/components-vue/evidence/vue-readiness.v1.json#StateTransitionEvent",
            "packages/components-vue/test/scenario-interactions.spec.ts#StateTransitionEvent"
          ],
          "reason": "StateTransitionEvent presents declared trait values and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "archivedAt": {
          "type": "string | null",
          "optional": true
        },
        "archivedBy": {
          "type": "string | null",
          "optional": true
        },
        "code": {
          "type": "string | null",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string | null",
          "optional": true
        },
        "restoredAt": {
          "type": "string | null",
          "optional": true
        },
        "showActor": {
          "type": "boolean",
          "optional": true
        },
        "showReason": {
          "type": "boolean",
          "optional": true
        },
        "status": {
          "type": "string | null",
          "optional": true
        },
        "timestamp": {
          "type": "string | null",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "archivedAt": {
          "type": "string | null",
          "optional": true
        },
        "archivedBy": {
          "type": "string | null",
          "optional": true
        },
        "code": {
          "type": "string | null",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "reason": {
          "type": "string | null",
          "optional": true
        },
        "restoredAt": {
          "type": "string | null",
          "optional": true
        },
        "showActor": {
          "type": "boolean",
          "optional": true
        },
        "showReason": {
          "type": "boolean",
          "optional": true
        },
        "status": {
          "type": "string | null",
          "optional": true
        },
        "timestamp": {
          "type": "string | null",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "StatusBadge",
    "displayName": "StatusBadge",
    "description": "Displays a readable lifecycle status with its semantic tone.",
    "categories": [
      "core",
      "lifecycle",
      "visual"
    ],
    "tags": [
      "accessibility",
      "assessment",
      "audit",
      "badge",
      "banner",
      "evidence",
      "governance",
      "lifecycle",
      "lineage",
      "non-verdict",
      "presentation",
      "provenance",
      "registry",
      "result",
      "saas",
      "semantic",
      "state",
      "status",
      "supersession",
      "tone",
      "versioning",
      "workflow"
    ],
    "contexts": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "traits": [
      "Assessable",
      "Stateful",
      "Statusable",
      "Supersedable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#StatusBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderStatusBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#StatusBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusBadge"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/0",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/1",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/2",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/3",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/8",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/9",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/14",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/15",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/16",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/17",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/18",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/19",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/20",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/21",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/24",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/25",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/28",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/29",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/30",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/31",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/32",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/33",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/36",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/37",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/38",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/39",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/40",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/41",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/42",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/43",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/44",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/45",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/46",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/47",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/50",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/51",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/52",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/53",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/56",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/57",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/58",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/59",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/64",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/65",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/66",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/67",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/72",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/73",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/78",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/79",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/92",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/93",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/94",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/95",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/98",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/99",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/100",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/101",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/106",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/107",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/108",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/109",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/114",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/115",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/120",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/121",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/122",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/123",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/138",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/139",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/144",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/145",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/150",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/151",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/158",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/159",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/164",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/165",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/172",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/173",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/174",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/175",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/178",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/179",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/180",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/181",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/186",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/187",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/192",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/193",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/194",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/195",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#StatusBadge",
            "build record (not shipped): vue-measured.json#StatusBadge",
            "packages/components-react/evidence/react-readiness.v1.json#StatusBadge",
            "packages/components-react/test/accessibility.spec.tsx#StatusBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusBadge",
            "packages/components-vue/test/accessibility.spec.ts#StatusBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#StatusBadge",
            "build record (not shipped): vue-theme/report.json#StatusBadge",
            "packages/components-react/evidence/react-readiness.v1.json#StatusBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#StatusBadge",
            "build record (not shipped): vue-measured.json#StatusBadge",
            "packages/components-react/evidence/react-readiness.v1.json#StatusBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#StatusBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#StatusBadge"
          ],
          "reason": "StatusBadge presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "statusField": {
        "type": "string",
        "default": "supersession_status",
        "trait": "Supersedable"
      },
      "domain": {
        "type": "string",
        "default": "result",
        "trait": "Assessable"
      },
      "emphasis": {
        "type": "string",
        "default": "subtle",
        "trait": "Supersedable"
      },
      "showIcon": {
        "type": "boolean",
        "default": false,
        "trait": "Supersedable"
      },
      "field": {
        "type": "string",
        "default": "status",
        "trait": "Stateful"
      },
      "variant": {
        "type": "string",
        "default": "subtle",
        "trait": "Stateful"
      },
      "tone": {
        "type": "string",
        "default": "lifecycle",
        "trait": "Stateful"
      },
      "domainField": {
        "type": "string",
        "default": "domain",
        "trait": "Statusable"
      },
      "readOnly": {
        "type": "boolean",
        "default": true,
        "trait": "Statusable"
      },
      "compact": {
        "type": "boolean",
        "default": true,
        "trait": "Statusable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "compact": {
          "type": "boolean",
          "optional": true
        },
        "content": {
          "type": "ReactNode",
          "optional": true
        },
        "domain": {
          "type": "string",
          "optional": true
        },
        "domainField": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "icon": {
          "type": "ReactNode",
          "optional": true
        },
        "iconPosition": {
          "type": "\"start\" | \"end\"",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "readOnly": {
          "type": "boolean",
          "optional": true
        },
        "showIcon": {
          "type": "boolean",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "statusField": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone | \"lifecycle\"",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "compact": {
          "type": "boolean",
          "optional": true
        },
        "content": {
          "type": "string | number",
          "optional": true
        },
        "domain": {
          "type": "string",
          "optional": true
        },
        "domainField": {
          "type": "string",
          "optional": true
        },
        "emphasis": {
          "type": "ComponentEmphasis",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "readOnly": {
          "type": "boolean",
          "optional": true
        },
        "showIcon": {
          "type": "boolean",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "statusField": {
          "type": "string",
          "optional": true
        },
        "tone": {
          "type": "ComponentTone | \"lifecycle\"",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        },
        "variant": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "StatusColorLegend",
    "displayName": "StatusColorLegend",
    "description": "Explains the colors assigned to lifecycle states.",
    "categories": [
      "visual"
    ],
    "tags": [
      "accessibility",
      "color",
      "oklch",
      "semantic",
      "status",
      "theming",
      "tokens"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Colorized"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#StatusColorLegend"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderStatusColorLegend"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#StatusColorLegend"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusColorLegend"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#StatusColorLegend",
            "build record (not shipped): vue-measured.json#StatusColorLegend",
            "packages/components-react/evidence/react-readiness.v1.json#StatusColorLegend",
            "packages/components-react/test/accessibility.spec.tsx#StatusColorLegend",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusColorLegend",
            "packages/components-vue/test/accessibility.spec.ts#StatusColorLegend"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#StatusColorLegend",
            "build record (not shipped): vue-theme/report.json#StatusColorLegend",
            "packages/components-react/evidence/react-readiness.v1.json#StatusColorLegend",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusColorLegend"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#StatusColorLegend",
            "build record (not shipped): vue-measured.json#StatusColorLegend",
            "packages/components-react/evidence/react-readiness.v1.json#StatusColorLegend",
            "packages/components-react/test/scenario-interactions.spec.tsx#StatusColorLegend",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusColorLegend",
            "packages/components-vue/test/scenario-interactions.spec.ts#StatusColorLegend"
          ],
          "reason": "StatusColorLegend presents declared trait values and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "parameter": {
        "type": "string",
        "default": "colorStates",
        "trait": "Colorized"
      },
      "badgeField": {
        "type": "string",
        "default": "color_state",
        "trait": "Colorized"
      },
      "showTokenReferences": {
        "type": "boolean",
        "default": true,
        "trait": "Colorized"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "colorStates": {
          "type": "readonly string[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "showTokenReferences": {
          "type": "boolean",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "colorStates": {
          "type": "readonly string[]",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "showTokenReferences": {
          "type": "boolean",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "StatusSelector",
    "displayName": "StatusSelector",
    "description": "Selects a record's lifecycle status.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "audit",
      "governance",
      "lifecycle",
      "state",
      "status",
      "workflow"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Stateful"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#StatusSelector"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderStatusSelector"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#StatusSelector"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusSelector"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/4",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/5",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/68",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/69",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/82",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/83",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/110",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/111",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/124",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/125",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/148",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/149",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/162",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/163",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/190",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/191",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#StatusSelector",
            "build record (not shipped): vue-measured.json#StatusSelector",
            "packages/components-react/evidence/react-readiness.v1.json#StatusSelector",
            "packages/components-react/test/accessibility.spec.tsx#StatusSelector",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusSelector",
            "packages/components-vue/test/accessibility.spec.ts#StatusSelector"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#StatusSelector",
            "build record (not shipped): vue-theme/report.json#StatusSelector",
            "packages/components-react/evidence/react-readiness.v1.json#StatusSelector",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusSelector"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#StatusSelector",
            "build record (not shipped): vue-measured.json#StatusSelector",
            "packages/components-react/evidence/react-readiness.v1.json#StatusSelector",
            "packages/components-react/test/scenario-interactions.spec.tsx#StatusSelector",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusSelector",
            "packages/components-vue/test/scenario-interactions.spec.ts#StatusSelector"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "status",
        "trait": "Stateful"
      },
      "optionsParameter": {
        "type": "string",
        "default": "states",
        "trait": "Stateful"
      },
      "initialParameter": {
        "type": "string",
        "default": "initialState",
        "trait": "Stateful"
      },
      "allowedTransitionsField": {
        "type": "string",
        "default": "allowed_transitions",
        "trait": "Stateful"
      },
      "requireReasonParameter": {
        "type": "string",
        "default": "requireTransitionReason",
        "trait": "Stateful"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "help": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "ChangeEventHandler<HTMLSelectElement>",
          "optional": true
        },
        "onUpdate": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "onValueChange": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "options": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "states": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "help": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "string",
          "optional": true
        },
        "options": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "states": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "StatusTimeline",
    "displayName": "StatusTimeline",
    "description": "Shows the current status and recorded lifecycle events.",
    "categories": [
      "lifecycle"
    ],
    "tags": [
      "audit",
      "governance",
      "lifecycle",
      "state",
      "status",
      "workflow"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Stateful"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#StatusTimeline"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderStatusTimeline"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#StatusTimeline"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusTimeline"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/2",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/3",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/66",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/67",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/108",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/109",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/122",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/123",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#StatusTimeline",
            "build record (not shipped): vue-measured.json#StatusTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#StatusTimeline",
            "packages/components-react/test/accessibility.spec.tsx#StatusTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusTimeline",
            "packages/components-vue/test/accessibility.spec.ts#StatusTimeline"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#StatusTimeline",
            "build record (not shipped): vue-theme/report.json#StatusTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#StatusTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusTimeline"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#StatusTimeline",
            "build record (not shipped): vue-measured.json#StatusTimeline",
            "packages/components-react/evidence/react-readiness.v1.json#StatusTimeline",
            "packages/components-react/test/scenario-interactions.spec.tsx#StatusTimeline",
            "packages/components-vue/evidence/vue-readiness.v1.json#StatusTimeline",
            "packages/components-vue/test/scenario-interactions.spec.ts#StatusTimeline"
          ],
          "reason": "StatusTimeline presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "status",
        "trait": "Stateful"
      },
      "historyField": {
        "type": "string",
        "default": "state_history",
        "trait": "Stateful"
      },
      "statesParameter": {
        "type": "string",
        "default": "states",
        "trait": "Stateful"
      },
      "showActorId": {
        "type": "boolean",
        "default": true,
        "trait": "Stateful"
      },
      "showReason": {
        "type": "boolean",
        "default": true,
        "trait": "Stateful"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "allowedTransitions": {
          "type": "readonly string[]",
          "optional": true
        },
        "auditLogField": {
          "type": "string",
          "optional": true
        },
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "createdField": {
          "type": "string",
          "optional": true
        },
        "entries": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "eventField": {
          "type": "string",
          "optional": true
        },
        "eventOptionsParameter": {
          "type": "string",
          "optional": true
        },
        "events": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "eventTimestampField": {
          "type": "string",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "history": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "historyField": {
          "type": "string",
          "optional": true
        },
        "maxVisible": {
          "type": "number",
          "optional": true
        },
        "showActorId": {
          "type": "boolean",
          "optional": true
        },
        "showFromState": {
          "type": "boolean",
          "optional": true
        },
        "showReason": {
          "type": "boolean",
          "optional": true
        },
        "stateHistory": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "statesParameter": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "ReactNode",
          "optional": true
        },
        "updatedField": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "allowedTransitions": {
          "type": "string[]",
          "optional": true
        },
        "auditLog": {
          "type": "unknown[]",
          "optional": true
        },
        "auditLogField": {
          "type": "string",
          "optional": true
        },
        "createdField": {
          "type": "string",
          "optional": true
        },
        "entries": {
          "type": "unknown[]",
          "optional": true
        },
        "eventField": {
          "type": "string",
          "optional": true
        },
        "eventOptionsParameter": {
          "type": "string",
          "optional": true
        },
        "eventTimestampField": {
          "type": "string",
          "optional": true
        },
        "events": {
          "type": "unknown[]",
          "optional": true
        },
        "field": {
          "type": "string",
          "optional": true
        },
        "history": {
          "type": "unknown[]",
          "optional": true
        },
        "historyField": {
          "type": "string",
          "optional": true
        },
        "maxVisible": {
          "type": "number",
          "optional": true
        },
        "showActorId": {
          "type": "boolean",
          "optional": true
        },
        "showFromState": {
          "type": "boolean",
          "optional": true
        },
        "showReason": {
          "type": "boolean",
          "optional": true
        },
        "source": {
          "type": "unknown[]",
          "optional": true
        },
        "stateHistory": {
          "type": "unknown[]",
          "optional": true
        },
        "statesParameter": {
          "type": "string",
          "optional": true
        },
        "status": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "updatedField": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "Switch",
    "displayName": "Switch",
    "description": "Turns a labelled setting on or off at once.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "boolean",
      "field",
      "form",
      "input",
      "interactive",
      "primitive",
      "switch"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "form",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Switch"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "packages/component-contracts/registry/component-intake.v1.json#Switch"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderSwitch"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Switch"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Switch"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Switch",
            "build record (not shipped): vue-measured.json#Switch",
            "packages/components-react/evidence/react-readiness.v1.json#Switch",
            "packages/components-vue/evidence/vue-readiness.v1.json#Switch"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Switch",
            "build record (not shipped): vue-theme/report.json#Switch",
            "packages/components-react/evidence/react-readiness.v1.json#Switch",
            "packages/components-vue/evidence/vue-readiness.v1.json#Switch"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Switch",
            "build record (not shipped): vue-measured.json#Switch",
            "packages/components-react/evidence/react-readiness.v1.json#Switch",
            "packages/components-vue/evidence/vue-readiness.v1.json#Switch"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "checked": {
          "type": "boolean",
          "optional": true
        },
        "className": {
          "type": "string",
          "optional": true
        },
        "defaultChecked": {
          "type": "boolean",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "ReactNode",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": false
        },
        "label": {
          "type": "ReactNode",
          "optional": false
        },
        "onCheckedChange": {
          "type": "((checked: boolean) => void)",
          "optional": true
        },
        "onUpdate": {
          "type": "((checked: boolean) => void)",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "size": {
          "type": "\"sm\" | \"md\"",
          "optional": true
        },
        "style": {
          "type": "CSSProperties",
          "optional": true
        },
        "validation": {
          "type": "FieldValidation",
          "optional": true
        }
      },
      "vue": {
        "checked": {
          "type": "boolean",
          "optional": true
        },
        "defaultChecked": {
          "type": "boolean",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "boolean",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "size": {
          "type": "\"sm\" | \"md\"",
          "optional": true
        },
        "validation": {
          "type": "ValidationMessage",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "Table",
    "displayName": "Table",
    "description": "Displays labelled columns and rows of tabular data.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "data",
      "primitive",
      "table"
    ],
    "contexts": [
      "detail",
      "list"
    ],
    "regions": [
      "detail",
      "list",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Table"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderTable"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Table"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Table"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Table",
            "build record (not shipped): vue-measured.json#Table",
            "packages/components-react/evidence/react-readiness.v1.json#Table",
            "packages/components-react/test/accessibility.spec.tsx#Table",
            "packages/components-vue/evidence/vue-readiness.v1.json#Table",
            "packages/components-vue/test/accessibility.spec.ts#Table"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Table",
            "build record (not shipped): vue-theme/report.json#Table",
            "packages/components-react/evidence/react-readiness.v1.json#Table",
            "packages/components-vue/evidence/vue-readiness.v1.json#Table"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Table",
            "build record (not shipped): vue-measured.json#Table",
            "packages/components-react/evidence/react-readiness.v1.json#Table",
            "packages/components-react/test/scenario-interactions.spec.tsx#Table",
            "packages/components-vue/evidence/vue-readiness.v1.json#Table",
            "packages/components-vue/test/scenario-interactions.spec.ts#Table"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "columns": {
        "type": "array",
        "description": "Column definitions: { key, label } objects or plain strings.",
        "source": "primitive-renderer"
      },
      "rows": {
        "type": "array",
        "description": "Row data: objects keyed by column, arrays, or scalars.",
        "source": "primitive-renderer"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "caption": {
          "type": "ReactNode",
          "optional": true
        },
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "columns": {
          "type": "readonly TableColumn<Row>[]",
          "optional": true
        },
        "containerClassName": {
          "type": "string",
          "optional": true
        },
        "containerStyle": {
          "type": "CSSProperties",
          "optional": true
        },
        "density": {
          "type": "FieldDensity",
          "optional": true
        },
        "onRowActivate": {
          "type": "((id: string, row: Row, event: MouseEvent<HTMLElement, MouseEvent> | KeyboardEvent<HTMLElement>) => void)",
          "optional": true
        },
        "rows": {
          "type": "readonly Row[]",
          "optional": true
        },
        "selectable": {
          "type": "boolean",
          "optional": true
        },
        "showCaption": {
          "type": "boolean",
          "optional": true
        }
      },
      "vue": {
        "caption": {
          "type": "string",
          "optional": true
        },
        "columns": {
          "type": "readonly TableColumn[]",
          "optional": true
        },
        "density": {
          "type": "\"compact\" | \"default\"",
          "optional": true
        },
        "rows": {
          "type": "readonly TableRecord[]",
          "optional": true
        },
        "selectable": {
          "type": "boolean",
          "optional": true
        },
        "showCaption": {
          "type": "boolean",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Table } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Table />;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Table } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Table />;\n}"
  },
  {
    "name": "Tabs",
    "displayName": "Tabs",
    "description": "Switches between labelled panels of related content.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "navigation",
      "primitive",
      "tabs"
    ],
    "contexts": [
      "detail",
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Tabs"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderTabs"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Tabs"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Tabs"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/2",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/3",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/16",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/17",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/26",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/27",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/34",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/35",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/42",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/43",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/52",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/53",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/66",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/67",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/94",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/95",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/108",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/109",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/122",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/123",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/136",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/137",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/174",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/175",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Tabs",
            "build record (not shipped): vue-measured.json#Tabs",
            "packages/components-react/evidence/react-readiness.v1.json#Tabs",
            "packages/components-react/test/accessibility.spec.tsx#Tabs",
            "packages/components-vue/evidence/vue-readiness.v1.json#Tabs",
            "packages/components-vue/test/accessibility.spec.ts#Tabs"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Tabs",
            "build record (not shipped): vue-theme/report.json#Tabs",
            "packages/components-react/evidence/react-readiness.v1.json#Tabs",
            "packages/components-vue/evidence/vue-readiness.v1.json#Tabs"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Tabs",
            "build record (not shipped): vue-measured.json#Tabs",
            "packages/components-react/evidence/react-readiness.v1.json#Tabs",
            "packages/components-react/test/scenario-interactions.spec.tsx#Tabs",
            "packages/components-vue/evidence/vue-readiness.v1.json#Tabs",
            "packages/components-vue/test/scenario-interactions.spec.ts#Tabs"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "tabs": {
        "type": "array",
        "description": "Tab definitions: { id, label, panel|content } objects or plain strings.",
        "source": "primitive-renderer"
      },
      "activeTab": {
        "type": "string",
        "description": "Id of the initially active tab (defaults to the first tab).",
        "source": "primitive-renderer"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "ariaLabel": {
          "type": "string",
          "optional": true
        },
        "defaultSelectedId": {
          "type": "string",
          "optional": true
        },
        "items": {
          "type": "readonly TabItem[]",
          "optional": false
        },
        "onChange": {
          "type": "((id: string) => void)",
          "optional": true
        },
        "onUpdate": {
          "type": "((id: string) => void)",
          "optional": true
        },
        "overflowLabel": {
          "type": "string",
          "optional": true
        },
        "selectedId": {
          "type": "string",
          "optional": true
        },
        "size": {
          "type": "ComponentSize",
          "optional": true
        }
      },
      "vue": {
        "ariaLabel": {
          "type": "string",
          "optional": true
        },
        "defaultSelectedId": {
          "type": "string",
          "optional": true
        },
        "items": {
          "type": "readonly TabItem[]",
          "optional": true
        },
        "overflowLabel": {
          "type": "string",
          "optional": true
        },
        "selectedId": {
          "type": "string",
          "optional": true
        },
        "size": {
          "type": "ComponentSize",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Tabs } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Tabs />;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Tabs } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Tabs />;\n}"
  },
  {
    "name": "TagInput",
    "displayName": "TagInput",
    "description": "Edits the tags assigned to a record.",
    "categories": [
      "behavioral"
    ],
    "tags": [
      "classification",
      "discovery",
      "governance",
      "metadata",
      "tagging",
      "taxonomy"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Taggable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#TagInput"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderTagInput"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#TagInput"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#TagInput"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/82",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/83",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/124",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/125",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/190",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/191",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#TagInput",
            "build record (not shipped): vue-measured.json#TagInput",
            "packages/components-react/evidence/react-readiness.v1.json#TagInput",
            "packages/components-react/test/accessibility.spec.tsx#TagInput",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagInput",
            "packages/components-vue/test/accessibility.spec.ts#TagInput"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#TagInput",
            "build record (not shipped): vue-theme/report.json#TagInput",
            "packages/components-react/evidence/react-readiness.v1.json#TagInput",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagInput"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#TagInput",
            "build record (not shipped): vue-measured.json#TagInput",
            "packages/components-react/evidence/react-readiness.v1.json#TagInput",
            "packages/components-react/test/scenario-interactions.spec.tsx#TagInput",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagInput",
            "packages/components-vue/test/scenario-interactions.spec.ts#TagInput"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "tags",
        "trait": "Taggable"
      },
      "maxTagsParameter": {
        "type": "string",
        "default": "maxTags",
        "trait": "Taggable"
      },
      "allowCustomParameter": {
        "type": "string",
        "default": "allowCustomTags",
        "trait": "Taggable"
      },
      "allowListParameter": {
        "type": "string",
        "default": "allowedTags",
        "trait": "Taggable"
      },
      "minLengthParameter": {
        "type": "string",
        "default": "tagMinLength",
        "trait": "Taggable"
      },
      "maxLengthParameter": {
        "type": "string",
        "default": "tagMaxLength",
        "trait": "Taggable"
      },
      "synonymParameter": {
        "type": "string",
        "default": "synonymResolution",
        "trait": "Taggable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "ChangeEventHandler<HTMLInputElement>",
          "optional": true
        },
        "onUpdate": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "onValueChange": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "tags": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "tags": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "TagManager",
    "displayName": "TagManager",
    "description": "Presents a list of tags with tag editing controls.",
    "categories": [
      "behavioral"
    ],
    "tags": [
      "classification",
      "discovery",
      "governance",
      "metadata",
      "tagging",
      "taxonomy"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#TagManager"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderTagManager"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#TagManager"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#TagManager"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#TagManager",
            "build record (not shipped): vue-measured.json#TagManager",
            "packages/components-react/evidence/react-readiness.v1.json#TagManager",
            "packages/components-react/test/accessibility.spec.tsx#TagManager",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagManager",
            "packages/components-vue/test/accessibility.spec.ts#TagManager"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#TagManager",
            "build record (not shipped): vue-theme/report.json#TagManager",
            "packages/components-react/evidence/react-readiness.v1.json#TagManager",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagManager"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#TagManager",
            "build record (not shipped): vue-measured.json#TagManager",
            "packages/components-react/evidence/react-readiness.v1.json#TagManager",
            "packages/components-react/test/scenario-interactions.spec.tsx#TagManager",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagManager",
            "packages/components-vue/test/scenario-interactions.spec.ts#TagManager"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "tags": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "readonly unknown[]",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "tags": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "readonly unknown[]",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "TagPills",
    "displayName": "TagPills",
    "description": "Displays tags as individual compact labels.",
    "categories": [
      "behavioral"
    ],
    "tags": [
      "classification",
      "discovery",
      "governance",
      "metadata",
      "tagging",
      "taxonomy"
    ],
    "contexts": [
      "card",
      "list"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Taggable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#TagPills"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderTagPills"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#TagPills"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#TagPills"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/78",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/79",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/86",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/87",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/120",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/121",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/128",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/129",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/186",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/187",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/194",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/195",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#TagPills",
            "build record (not shipped): vue-measured.json#TagPills",
            "packages/components-react/evidence/react-readiness.v1.json#TagPills",
            "packages/components-react/test/accessibility.spec.tsx#TagPills",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagPills",
            "packages/components-vue/test/accessibility.spec.ts#TagPills"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#TagPills",
            "build record (not shipped): vue-theme/report.json#TagPills",
            "packages/components-react/evidence/react-readiness.v1.json#TagPills",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagPills"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#TagPills",
            "build record (not shipped): vue-measured.json#TagPills",
            "packages/components-react/evidence/react-readiness.v1.json#TagPills",
            "packages/components-react/test/scenario-interactions.spec.tsx#TagPills",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagPills",
            "packages/components-vue/test/scenario-interactions.spec.ts#TagPills"
          ],
          "reason": "TagPills presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "tags",
        "trait": "Taggable"
      },
      "maxVisible": {
        "type": "number",
        "default": 3,
        "trait": "Taggable"
      },
      "overflowLabel": {
        "type": "string",
        "default": "+{{ tag_count }}",
        "trait": "Taggable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "maxVisible": {
          "type": "string | number",
          "optional": true
        },
        "overflowLabel": {
          "type": "string",
          "optional": true
        },
        "tags": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "value": {
          "type": "readonly unknown[]",
          "optional": true
        }
      },
      "vue": {
        "maxVisible": {
          "type": "string | number",
          "optional": true
        },
        "overflowLabel": {
          "type": "string",
          "optional": true
        },
        "tags": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "value": {
          "type": "readonly unknown[]",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "TagSummary",
    "displayName": "TagSummary",
    "description": "Summarizes a record's tags.",
    "categories": [
      "behavioral"
    ],
    "tags": [
      "classification",
      "discovery",
      "governance",
      "metadata",
      "tagging",
      "taxonomy"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Taggable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#TagSummary"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderTagSummary"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#TagSummary"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#TagSummary"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/122",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/123",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#TagSummary",
            "build record (not shipped): vue-measured.json#TagSummary",
            "packages/components-react/evidence/react-readiness.v1.json#TagSummary",
            "packages/components-react/test/accessibility.spec.tsx#TagSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagSummary",
            "packages/components-vue/test/accessibility.spec.ts#TagSummary"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#TagSummary",
            "build record (not shipped): vue-theme/report.json#TagSummary",
            "packages/components-react/evidence/react-readiness.v1.json#TagSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagSummary"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#TagSummary",
            "build record (not shipped): vue-measured.json#TagSummary",
            "packages/components-react/evidence/react-readiness.v1.json#TagSummary",
            "packages/components-react/test/scenario-interactions.spec.tsx#TagSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#TagSummary",
            "packages/components-vue/test/scenario-interactions.spec.ts#TagSummary"
          ],
          "reason": "TagSummary presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "tags",
        "trait": "Taggable"
      },
      "countField": {
        "type": "string",
        "default": "tag_count",
        "trait": "Taggable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "count": {
          "type": "string | number",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "tagCount": {
          "type": "string | number",
          "optional": true
        },
        "tags": {
          "type": "string | readonly unknown[]",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "count": {
          "type": "string | number",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "summary": {
          "type": "string",
          "optional": true
        },
        "tagCount": {
          "type": "string | number",
          "optional": true
        },
        "tags": {
          "type": "string | readonly unknown[]",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "TemplatePicker",
    "displayName": "TemplatePicker",
    "description": "Selects a template from supplied choices.",
    "categories": [
      "communication"
    ],
    "tags": [
      "conversation",
      "delivery",
      "messaging",
      "notification",
      "template"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "Communicable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#TemplatePicker"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderTemplatePicker"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#TemplatePicker"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#TemplatePicker"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/82",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/83",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/190",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/191",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#TemplatePicker",
            "build record (not shipped): vue-measured.json#TemplatePicker",
            "packages/components-react/evidence/react-readiness.v1.json#TemplatePicker",
            "packages/components-react/test/accessibility.spec.tsx#TemplatePicker",
            "packages/components-vue/evidence/vue-readiness.v1.json#TemplatePicker",
            "packages/components-vue/test/accessibility.spec.ts#TemplatePicker"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#TemplatePicker",
            "build record (not shipped): vue-theme/report.json#TemplatePicker",
            "packages/components-react/evidence/react-readiness.v1.json#TemplatePicker",
            "packages/components-vue/evidence/vue-readiness.v1.json#TemplatePicker"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#TemplatePicker",
            "build record (not shipped): vue-measured.json#TemplatePicker",
            "packages/components-react/evidence/react-readiness.v1.json#TemplatePicker",
            "packages/components-react/test/scenario-interactions.spec.tsx#TemplatePicker",
            "packages/components-vue/evidence/vue-readiness.v1.json#TemplatePicker",
            "packages/components-vue/test/scenario-interactions.spec.ts#TemplatePicker"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "experimental",
    "propSchema": {
      "templatesField": {
        "type": "string",
        "default": "template_catalog",
        "trait": "Communicable"
      },
      "channelsField": {
        "type": "string",
        "default": "channel_catalog",
        "trait": "Communicable"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "string",
          "optional": true
        },
        "channels": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "options": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "templateId": {
          "type": "string",
          "optional": true
        },
        "templates": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "string",
          "optional": true
        },
        "channels": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "description": {
          "type": "string",
          "optional": true
        },
        "heading": {
          "type": "string",
          "optional": true
        },
        "hint": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "options": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "optional": true
        },
        "templateId": {
          "type": "string",
          "optional": true
        },
        "templates": {
          "type": "readonly unknown[]",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "Text",
    "displayName": "Text",
    "description": "Displays text with a chosen semantic HTML element.",
    "categories": [
      "core",
      "lifecycle",
      "primitive"
    ],
    "tags": [
      "citation",
      "content",
      "evidence",
      "lifecycle",
      "lineage",
      "primitive",
      "provenance",
      "supersession",
      "typography",
      "versioning"
    ],
    "contexts": [
      "card",
      "detail",
      "form",
      "list",
      "timeline"
    ],
    "regions": [
      "card",
      "contextPanel",
      "detail",
      "form",
      "list",
      "main",
      "timeline"
    ],
    "traits": [
      "Provenanced",
      "Supersedable"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Text"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderText"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Text"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Text"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/2",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/3",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/14",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/15",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/16",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/17",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/20",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/21",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/22",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/23",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/24",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/25",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/26",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/27",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/30",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/31",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/32",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/33",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/34",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/35",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/38",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/39",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/40",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/41",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/42",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/43",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/46",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/47",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/48",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/49",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/52",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/53",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/58",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/59",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/60",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/61",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/66",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/67",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/80",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/81",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/94",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/95",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/100",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/101",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/102",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/103",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/104",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/105",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/108",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/109",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/122",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/123",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/134",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/135",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/136",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/137",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/140",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/141",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/142",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/143",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/152",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/153",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/154",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/155",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/160",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/161",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/166",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/167",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/168",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/169",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/174",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/175",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/180",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/181",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/182",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/183",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/188",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/189",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/194",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/195",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/196",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/197",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/198",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/199"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Text",
            "build record (not shipped): vue-measured.json#Text",
            "packages/components-react/evidence/react-readiness.v1.json#Text",
            "packages/components-react/test/accessibility.spec.tsx#Text",
            "packages/components-vue/evidence/vue-readiness.v1.json#Text",
            "packages/components-vue/test/accessibility.spec.ts#Text"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Text",
            "build record (not shipped): vue-theme/report.json#Text",
            "packages/components-react/evidence/react-readiness.v1.json#Text",
            "packages/components-vue/evidence/vue-readiness.v1.json#Text"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#Text",
            "build record (not shipped): vue-measured.json#Text",
            "packages/components-react/evidence/react-readiness.v1.json#Text",
            "packages/components-react/test/scenario-interactions.spec.tsx#Text",
            "packages/components-vue/evidence/vue-readiness.v1.json#Text",
            "packages/components-vue/test/scenario-interactions.spec.ts#Text"
          ],
          "reason": "Text presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "supersession_reason",
        "trait": "Supersedable"
      },
      "label": {
        "type": "string",
        "default": "Record",
        "trait": "Provenanced"
      },
      "text": {
        "type": "string",
        "description": "Text content (primary). Falls back to `value`, then the node label.",
        "source": "primitive-renderer"
      },
      "value": {
        "type": "string",
        "description": "Alternate text content used when `text` is absent.",
        "source": "primitive-renderer"
      },
      "as": {
        "type": "string",
        "description": "HTML tag override: p, span, small, strong, em, label, or h1–h6 (default p).",
        "source": "primitive-renderer"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "as": {
          "type": "SafeTextElement",
          "optional": true
        },
        "children": {
          "type": "ReactNode",
          "optional": true
        },
        "content": {
          "type": "ReactNode",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "size": {
          "type": "ComponentSize",
          "optional": true
        },
        "weight": {
          "type": "\"regular\" | \"medium\" | \"semibold\"",
          "optional": true
        }
      },
      "vue": {
        "as": {
          "type": "TextElement",
          "optional": true
        },
        "content": {
          "type": "string | number",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "size": {
          "type": "ComponentSize",
          "optional": true
        },
        "weight": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Text } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Text>...</Text>;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Text } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Text>...</Text>;\n}"
  },
  {
    "name": "Textarea",
    "displayName": "Textarea",
    "description": "Edits a multiline text value.",
    "categories": [
      "primitive"
    ],
    "tags": [
      "field",
      "form",
      "input",
      "interactive",
      "multiline",
      "primitive",
      "text"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "form",
      "main"
    ],
    "traits": [],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "native",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#Textarea"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderTextarea"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#Textarea"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#Textarea"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/4",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/5",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/110",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/111",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/124",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/125",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/162",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/163",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/170",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/171"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Textarea",
            "build record (not shipped): vue-measured.json#Textarea",
            "packages/components-react/evidence/react-readiness.v1.json#Textarea",
            "packages/components-react/test/accessibility.spec.tsx#Textarea",
            "packages/components-vue/evidence/vue-readiness.v1.json#Textarea",
            "packages/components-vue/test/accessibility.spec.ts#Textarea"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#Textarea",
            "build record (not shipped): vue-theme/report.json#Textarea",
            "packages/components-react/evidence/react-readiness.v1.json#Textarea",
            "packages/components-vue/evidence/vue-readiness.v1.json#Textarea"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#Textarea",
            "build record (not shipped): vue-measured.json#Textarea",
            "packages/components-react/evidence/react-readiness.v1.json#Textarea",
            "packages/components-react/test/scenario-interactions.spec.tsx#Textarea",
            "packages/components-vue/evidence/vue-readiness.v1.json#Textarea",
            "packages/components-vue/test/scenario-interactions.spec.ts#Textarea"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {},
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "className": {
          "type": "string",
          "optional": true
        },
        "defaultValue": {
          "type": "string | number | readonly string[]",
          "optional": true
        },
        "density": {
          "type": "FieldDensity",
          "optional": true
        },
        "description": {
          "type": "ReactNode",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "ReactNode",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": false
        },
        "label": {
          "type": "ReactNode",
          "optional": false
        },
        "onUpdate": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "onValueChange": {
          "type": "((value: string) => void)",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "readOnly": {
          "type": "boolean",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "requiredIndicator": {
          "type": "ReactNode",
          "optional": true
        },
        "rows": {
          "type": "number",
          "optional": true
        },
        "style": {
          "type": "CSSProperties",
          "optional": true
        },
        "textareaClassName": {
          "type": "string",
          "optional": true
        },
        "textareaStyle": {
          "type": "CSSProperties",
          "optional": true
        },
        "validation": {
          "type": "FieldValidation",
          "optional": true
        },
        "value": {
          "type": "string | number | readonly string[]",
          "optional": true
        }
      },
      "vue": {
        "defaultValue": {
          "type": "string",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "help": {
          "type": "string",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "max": {
          "type": "string",
          "optional": true
        },
        "min": {
          "type": "string",
          "optional": true
        },
        "modelValue": {
          "type": "string",
          "optional": true
        },
        "name": {
          "type": "string",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "readOnly": {
          "type": "boolean",
          "optional": true
        },
        "required": {
          "type": "boolean",
          "optional": true
        },
        "rows": {
          "type": "number",
          "optional": true
        },
        "step": {
          "type": "string | number",
          "optional": true
        },
        "validation": {
          "type": "ValidationMessage",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps",
    "codeReferences": [
      {
        "kind": "code-connect",
        "path": "stories/components/ReactNucleus.stories.tsx",
        "snippet": "import { Textarea } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Textarea />;\n}",
        "title": "Components/React nucleus"
      }
    ],
    "codeSnippet": "import { Textarea } from '../../packages/components-react/src/index.js';\n\nexport function Example() {\n  return <Textarea />;\n}"
  },
  {
    "name": "TimelineEntryLabel",
    "displayName": "TimelineEntryLabel",
    "description": "Labels a timeline entry with a title and supporting text.",
    "categories": [
      "content"
    ],
    "tags": [
      "content",
      "copy",
      "description",
      "label",
      "metadata"
    ],
    "contexts": [
      "timeline"
    ],
    "regions": [
      "card",
      "detail",
      "form",
      "inline",
      "list",
      "timeline"
    ],
    "traits": [
      "Labelled"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#TimelineEntryLabel"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderTimelineEntryLabel"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#TimelineEntryLabel"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#TimelineEntryLabel"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/10",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/11",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/12",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/13",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/74",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/75",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/76",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/77",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/88",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/89",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/90",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/91",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/116",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/117",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/118",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/119",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/130",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/131",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#TimelineEntryLabel",
            "build record (not shipped): vue-measured.json#TimelineEntryLabel",
            "packages/components-react/evidence/react-readiness.v1.json#TimelineEntryLabel",
            "packages/components-react/test/accessibility.spec.tsx#TimelineEntryLabel",
            "packages/components-vue/evidence/vue-readiness.v1.json#TimelineEntryLabel",
            "packages/components-vue/test/accessibility.spec.ts#TimelineEntryLabel"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#TimelineEntryLabel",
            "build record (not shipped): vue-theme/report.json#TimelineEntryLabel",
            "packages/components-react/evidence/react-readiness.v1.json#TimelineEntryLabel",
            "packages/components-vue/evidence/vue-readiness.v1.json#TimelineEntryLabel"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#TimelineEntryLabel",
            "build record (not shipped): vue-measured.json#TimelineEntryLabel",
            "packages/components-react/evidence/react-readiness.v1.json#TimelineEntryLabel",
            "packages/components-react/test/scenario-interactions.spec.tsx#TimelineEntryLabel",
            "packages/components-vue/evidence/vue-readiness.v1.json#TimelineEntryLabel",
            "packages/components-vue/test/scenario-interactions.spec.ts#TimelineEntryLabel"
          ],
          "reason": "TimelineEntryLabel presents derived content and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "stable",
    "propSchema": {
      "field": {
        "type": "string",
        "default": "label",
        "trait": "Labelled"
      },
      "compact": {
        "type": "boolean",
        "default": true,
        "trait": "Labelled"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "compact": {
          "type": "boolean",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "maxLength": {
          "type": "string | number",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      },
      "vue": {
        "compact": {
          "type": "boolean",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "maxLength": {
          "type": "string | number",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "string",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "VizAreaControls",
    "displayName": "VizAreaControls",
    "description": "Edits the settings for an area chart.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "area",
      "band",
      "mark",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "MarkArea"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizAreaControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizAreaControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizAreaControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAreaControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizAreaControls",
            "build record (not shipped): vue-measured.json#VizAreaControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizAreaControls",
            "packages/components-react/test/accessibility.spec.tsx#VizAreaControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAreaControls",
            "packages/components-vue/test/accessibility.spec.ts#VizAreaControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizAreaControls",
            "build record (not shipped): vue-theme/report.json#VizAreaControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizAreaControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAreaControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizAreaControls",
            "build record (not shipped): vue-measured.json#VizAreaControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizAreaControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizAreaControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAreaControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizAreaControls"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "MarkArea"
      },
      "curveField": {
        "type": "string",
        "default": "viz_area_curve",
        "trait": "MarkArea"
      },
      "opacityField": {
        "type": "string",
        "default": "viz_area_opacity",
        "trait": "MarkArea"
      },
      "baselineField": {
        "type": "string",
        "default": "viz_area_baseline",
        "trait": "MarkArea"
      },
      "tensionField": {
        "type": "string",
        "default": "viz_area_tension",
        "trait": "MarkArea"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizAreaPreview",
    "displayName": "VizAreaPreview",
    "description": "Displays an area chart from bound chart data.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "area",
      "band",
      "mark",
      "viz"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "MarkArea"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizAreaPreview"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizAreaPreview"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizAreaPreview"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAreaPreview"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizAreaPreview",
            "build record (not shipped): vue-measured.json#VizAreaPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizAreaPreview",
            "packages/components-react/test/accessibility.spec.tsx#VizAreaPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAreaPreview",
            "packages/components-vue/test/accessibility.spec.ts#VizAreaPreview"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizAreaPreview",
            "build record (not shipped): vue-theme/report.json#VizAreaPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizAreaPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAreaPreview"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizAreaPreview",
            "build record (not shipped): vue-measured.json#VizAreaPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizAreaPreview",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizAreaPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAreaPreview",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizAreaPreview"
          ],
          "reason": "VizAreaPreview presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "curveField": {
        "type": "string",
        "default": "viz_area_curve",
        "trait": "MarkArea"
      },
      "opacityField": {
        "type": "string",
        "default": "viz_area_opacity",
        "trait": "MarkArea"
      },
      "svgParameter": {
        "type": "string",
        "default": "previewSvg",
        "trait": "MarkArea"
      },
      "baselineField": {
        "type": "string",
        "default": "viz_area_baseline",
        "trait": "MarkArea"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizAxisControls",
    "displayName": "VizAxisControls",
    "description": "Edits axis labels, visibility and formatting.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "encoding",
      "position",
      "viz",
      "x-axis",
      "y-axis"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "EncodingPositionX",
      "EncodingPositionY"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizAxisControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizAxisControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizAxisControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAxisControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizAxisControls",
            "build record (not shipped): vue-measured.json#VizAxisControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizAxisControls",
            "packages/components-react/test/accessibility.spec.tsx#VizAxisControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAxisControls",
            "packages/components-vue/test/accessibility.spec.ts#VizAxisControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizAxisControls",
            "build record (not shipped): vue-theme/report.json#VizAxisControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizAxisControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAxisControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizAxisControls",
            "build record (not shipped): vue-measured.json#VizAxisControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizAxisControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizAxisControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAxisControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizAxisControls"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingPositionY"
      },
      "channel": {
        "type": "string",
        "default": "y",
        "trait": "EncodingPositionY"
      },
      "axis": {
        "type": "string",
        "default": "y",
        "trait": "EncodingPositionY"
      },
      "fieldField": {
        "type": "string",
        "default": "viz_encoding_y_field",
        "trait": "EncodingPositionY"
      },
      "kindField": {
        "type": "string",
        "default": "viz_encoding_y_field_kind",
        "trait": "EncodingPositionY"
      },
      "scaleField": {
        "type": "string",
        "default": "viz_encoding_y_scale",
        "trait": "EncodingPositionY"
      },
      "titleField": {
        "type": "string",
        "default": "viz_encoding_y_axis_title",
        "trait": "EncodingPositionY"
      },
      "zeroField": {
        "type": "string",
        "default": "viz_encoding_y_include_zero",
        "trait": "EncodingPositionY"
      },
      "sortField": {
        "type": "string",
        "default": "viz_encoding_x_sort",
        "trait": "EncodingPositionX"
      },
      "aggregateField": {
        "type": "string",
        "default": "viz_encoding_y_aggregate",
        "trait": "EncodingPositionY"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizAxisSummary",
    "displayName": "VizAxisSummary",
    "description": "Summarizes the configured chart axes.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "encoding",
      "position",
      "viz",
      "x-axis",
      "y-axis"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "EncodingPositionX",
      "EncodingPositionY"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizAxisSummary"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizAxisSummary"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizAxisSummary"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAxisSummary"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizAxisSummary",
            "build record (not shipped): vue-measured.json#VizAxisSummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizAxisSummary",
            "packages/components-react/test/accessibility.spec.tsx#VizAxisSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAxisSummary",
            "packages/components-vue/test/accessibility.spec.ts#VizAxisSummary"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizAxisSummary",
            "build record (not shipped): vue-theme/report.json#VizAxisSummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizAxisSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAxisSummary"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizAxisSummary",
            "build record (not shipped): vue-measured.json#VizAxisSummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizAxisSummary",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizAxisSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizAxisSummary",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizAxisSummary"
          ],
          "reason": "VizAxisSummary displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingPositionY"
      },
      "channel": {
        "type": "string",
        "default": "y",
        "trait": "EncodingPositionY"
      },
      "axis": {
        "type": "string",
        "default": "y",
        "trait": "EncodingPositionY"
      },
      "titleField": {
        "type": "string",
        "default": "viz_encoding_y_axis_title",
        "trait": "EncodingPositionY"
      },
      "scaleField": {
        "type": "string",
        "default": "viz_encoding_y_scale",
        "trait": "EncodingPositionY"
      },
      "zeroField": {
        "type": "string",
        "default": "viz_encoding_y_include_zero",
        "trait": "EncodingPositionY"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizColorControls",
    "displayName": "VizColorControls",
    "description": "Edits the chart's color encoding.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "color",
      "encoding",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "EncodingColor"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizColorControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizColorControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizColorControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizColorControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizColorControls",
            "build record (not shipped): vue-measured.json#VizColorControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizColorControls",
            "packages/components-react/test/accessibility.spec.tsx#VizColorControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizColorControls",
            "packages/components-vue/test/accessibility.spec.ts#VizColorControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizColorControls",
            "build record (not shipped): vue-theme/report.json#VizColorControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizColorControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizColorControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizColorControls",
            "build record (not shipped): vue-measured.json#VizColorControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizColorControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizColorControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizColorControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizColorControls"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingColor"
      },
      "schemeField": {
        "type": "string",
        "default": "viz_encoding_color_scheme",
        "trait": "EncodingColor"
      },
      "channelField": {
        "type": "string",
        "default": "viz_encoding_color_channel",
        "trait": "EncodingColor"
      },
      "redundancyField": {
        "type": "string",
        "default": "viz_encoding_color_redundancy",
        "trait": "EncodingColor"
      },
      "contrastField": {
        "type": "string",
        "default": "viz_encoding_color_min_contrast",
        "trait": "EncodingColor"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizColorLegendConfig",
    "displayName": "VizColorLegendConfig",
    "description": "Configures the chart's color legend.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "color",
      "encoding",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "EncodingColor"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizColorLegendConfig"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizColorLegendConfig"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizColorLegendConfig"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizColorLegendConfig"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizColorLegendConfig",
            "build record (not shipped): vue-measured.json#VizColorLegendConfig",
            "packages/components-react/evidence/react-readiness.v1.json#VizColorLegendConfig",
            "packages/components-react/test/accessibility.spec.tsx#VizColorLegendConfig",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizColorLegendConfig",
            "packages/components-vue/test/accessibility.spec.ts#VizColorLegendConfig"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizColorLegendConfig",
            "build record (not shipped): vue-theme/report.json#VizColorLegendConfig",
            "packages/components-react/evidence/react-readiness.v1.json#VizColorLegendConfig",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizColorLegendConfig"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizColorLegendConfig",
            "build record (not shipped): vue-measured.json#VizColorLegendConfig",
            "packages/components-react/evidence/react-readiness.v1.json#VizColorLegendConfig",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizColorLegendConfig",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizColorLegendConfig",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizColorLegendConfig"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingColor"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizEncodingBadge",
    "displayName": "VizEncodingBadge",
    "description": "Labels a field's visual encoding.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "color",
      "encoding",
      "position",
      "size",
      "viz",
      "x-axis",
      "y-axis"
    ],
    "contexts": [
      "detail",
      "list"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "EncodingColor",
      "EncodingPositionX",
      "EncodingPositionY",
      "EncodingSize"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizEncodingBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizEncodingBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizEncodingBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizEncodingBadge"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizEncodingBadge",
            "build record (not shipped): vue-measured.json#VizEncodingBadge",
            "packages/components-react/evidence/react-readiness.v1.json#VizEncodingBadge",
            "packages/components-react/test/accessibility.spec.tsx#VizEncodingBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizEncodingBadge",
            "packages/components-vue/test/accessibility.spec.ts#VizEncodingBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizEncodingBadge",
            "build record (not shipped): vue-theme/report.json#VizEncodingBadge",
            "packages/components-react/evidence/react-readiness.v1.json#VizEncodingBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizEncodingBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizEncodingBadge",
            "build record (not shipped): vue-measured.json#VizEncodingBadge",
            "packages/components-react/evidence/react-readiness.v1.json#VizEncodingBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizEncodingBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizEncodingBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizEncodingBadge"
          ],
          "reason": "VizEncodingBadge displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingSize"
      },
      "channel": {
        "type": "string",
        "default": "size",
        "trait": "EncodingSize"
      },
      "axis": {
        "type": "string",
        "default": "size",
        "trait": "EncodingSize"
      },
      "fieldField": {
        "type": "string",
        "default": "viz_encoding_size_field",
        "trait": "EncodingSize"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizGraphPreview",
    "displayName": "VizGraphPreview",
    "description": "Displays a graph or network chart from bound data.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "graph",
      "mark",
      "relationship",
      "viz"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail"
    ],
    "traits": [
      "MarkGraph"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizGraphPreview"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "traits/viz/mark-graph.trait.yaml"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizGraphPreview"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizGraphPreview"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizGraphPreview"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/122",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/123",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/132",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/133"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizGraphPreview",
            "build record (not shipped): vue-measured.json#VizGraphPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizGraphPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizGraphPreview"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizGraphPreview",
            "build record (not shipped): vue-theme/report.json#VizGraphPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizGraphPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizGraphPreview"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizGraphPreview",
            "build record (not shipped): vue-measured.json#VizGraphPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizGraphPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizGraphPreview"
          ],
          "reason": "VizGraphPreview displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "svgParameter": {
        "type": "string",
        "default": "previewSvg",
        "trait": "MarkGraph"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "VizHeatmapControls",
    "displayName": "VizHeatmapControls",
    "description": "Edits the settings for a heatmap.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "authoring",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form"
    ],
    "traits": [
      "MarkRect"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizHeatmapControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizHeatmapControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizHeatmapControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizHeatmapControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizHeatmapControls",
            "build record (not shipped): vue-measured.json#VizHeatmapControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizHeatmapControls",
            "packages/components-react/test/accessibility.spec.tsx#VizHeatmapControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizHeatmapControls",
            "packages/components-vue/test/accessibility.spec.ts#VizHeatmapControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizHeatmapControls",
            "build record (not shipped): vue-theme/report.json#VizHeatmapControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizHeatmapControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizHeatmapControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizHeatmapControls",
            "build record (not shipped): vue-measured.json#VizHeatmapControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizHeatmapControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizHeatmapControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizHeatmapControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizHeatmapControls"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "MarkRect"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizHeatmapPreview",
    "displayName": "VizHeatmapPreview",
    "description": "Displays a heatmap from bound chart data.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "authoring",
      "viz"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form"
    ],
    "traits": [
      "MarkRect"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizHeatmapPreview"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizHeatmapPreview"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizHeatmapPreview"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizHeatmapPreview"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizHeatmapPreview",
            "build record (not shipped): vue-measured.json#VizHeatmapPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizHeatmapPreview",
            "packages/components-react/test/accessibility.spec.tsx#VizHeatmapPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizHeatmapPreview",
            "packages/components-vue/test/accessibility.spec.ts#VizHeatmapPreview"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizHeatmapPreview",
            "build record (not shipped): vue-theme/report.json#VizHeatmapPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizHeatmapPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizHeatmapPreview"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizHeatmapPreview",
            "build record (not shipped): vue-measured.json#VizHeatmapPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizHeatmapPreview",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizHeatmapPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizHeatmapPreview",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizHeatmapPreview"
          ],
          "reason": "VizHeatmapPreview displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "svgParameter": {
        "type": "string",
        "default": "previewSvg",
        "trait": "MarkRect"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizLineControls",
    "displayName": "VizLineControls",
    "description": "Edits the settings for a line chart.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "line",
      "mark",
      "trend",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "dashboard",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "MarkLine"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizLineControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizLineControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizLineControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizLineControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizLineControls",
            "build record (not shipped): vue-measured.json#VizLineControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizLineControls",
            "packages/components-react/test/accessibility.spec.tsx#VizLineControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizLineControls",
            "packages/components-vue/test/accessibility.spec.ts#VizLineControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizLineControls",
            "build record (not shipped): vue-theme/report.json#VizLineControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizLineControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizLineControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizLineControls",
            "build record (not shipped): vue-measured.json#VizLineControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizLineControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizLineControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizLineControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizLineControls"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "MarkLine"
      },
      "curveField": {
        "type": "string",
        "default": "viz_line_curve",
        "trait": "MarkLine"
      },
      "strokeField": {
        "type": "string",
        "default": "viz_line_stroke_width",
        "trait": "MarkLine"
      },
      "joinField": {
        "type": "string",
        "default": "viz_line_join",
        "trait": "MarkLine"
      },
      "markersField": {
        "type": "string",
        "default": "viz_line_markers",
        "trait": "MarkLine"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizLinePreview",
    "displayName": "VizLinePreview",
    "description": "Displays a line chart from bound chart data.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "line",
      "mark",
      "trend",
      "viz"
    ],
    "contexts": [
      "dashboard",
      "detail"
    ],
    "regions": [
      "dashboard",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "MarkLine"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizLinePreview"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizLinePreview"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizLinePreview"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizLinePreview"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/174",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/175",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/184",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/185"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizLinePreview",
            "build record (not shipped): vue-measured.json#VizLinePreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizLinePreview",
            "packages/components-react/test/accessibility.spec.tsx#VizLinePreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizLinePreview",
            "packages/components-vue/test/accessibility.spec.ts#VizLinePreview"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizLinePreview",
            "build record (not shipped): vue-theme/report.json#VizLinePreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizLinePreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizLinePreview"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizLinePreview",
            "build record (not shipped): vue-measured.json#VizLinePreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizLinePreview",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizLinePreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizLinePreview",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizLinePreview"
          ],
          "reason": "VizLinePreview displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "svgParameter": {
        "type": "string",
        "default": "previewSvg",
        "trait": "MarkLine"
      },
      "curveField": {
        "type": "string",
        "default": "viz_line_curve",
        "trait": "MarkLine"
      },
      "strokeWidthField": {
        "type": "string",
        "default": "viz_line_stroke_width",
        "trait": "MarkLine"
      },
      "markersField": {
        "type": "string",
        "default": "viz_line_markers",
        "trait": "MarkLine"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "VizMarkControls",
    "displayName": "VizMarkControls",
    "description": "Edits the mark settings for a chart.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "bar",
      "comparison",
      "mark",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "dashboard",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "MarkBar"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizMarkControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizMarkControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizMarkControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizMarkControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizMarkControls",
            "build record (not shipped): vue-measured.json#VizMarkControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizMarkControls",
            "packages/components-react/test/accessibility.spec.tsx#VizMarkControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizMarkControls",
            "packages/components-vue/test/accessibility.spec.ts#VizMarkControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizMarkControls",
            "build record (not shipped): vue-theme/report.json#VizMarkControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizMarkControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizMarkControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizMarkControls",
            "build record (not shipped): vue-measured.json#VizMarkControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizMarkControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizMarkControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizMarkControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizMarkControls"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "MarkBar"
      },
      "orientationField": {
        "type": "string",
        "default": "viz_mark_orientation",
        "trait": "MarkBar"
      },
      "paddingField": {
        "type": "string",
        "default": "viz_mark_band_padding",
        "trait": "MarkBar"
      },
      "stackingField": {
        "type": "string",
        "default": "viz_mark_stacking",
        "trait": "MarkBar"
      },
      "cornerRadiusField": {
        "type": "string",
        "default": "viz_mark_corner_radius",
        "trait": "MarkBar"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizMarkPreview",
    "displayName": "VizMarkPreview",
    "description": "Displays a chart using the bound mark specification.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "bar",
      "comparison",
      "mark",
      "viz"
    ],
    "contexts": [
      "dashboard",
      "detail"
    ],
    "regions": [
      "dashboard",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "MarkBar"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizMarkPreview"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizMarkPreview"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizMarkPreview"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizMarkPreview"
          ]
        },
        "generatedConsumer": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/52",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/53",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/62",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/63",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/146",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/147",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/156",
            "packages/mcp-server/registry/runtime-cells.v1.json#/rows/157"
          ]
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizMarkPreview",
            "build record (not shipped): vue-measured.json#VizMarkPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizMarkPreview",
            "packages/components-react/test/accessibility.spec.tsx#VizMarkPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizMarkPreview",
            "packages/components-vue/test/accessibility.spec.ts#VizMarkPreview"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizMarkPreview",
            "build record (not shipped): vue-theme/report.json#VizMarkPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizMarkPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizMarkPreview"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizMarkPreview",
            "build record (not shipped): vue-measured.json#VizMarkPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizMarkPreview",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizMarkPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizMarkPreview",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizMarkPreview"
          ],
          "reason": "VizMarkPreview displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "svgParameter": {
        "type": "string",
        "default": "previewSvg",
        "trait": "MarkBar"
      },
      "typeField": {
        "type": "string",
        "default": "viz_mark_type",
        "trait": "MarkBar"
      },
      "orientationField": {
        "type": "string",
        "default": "viz_mark_orientation",
        "trait": "MarkBar"
      },
      "stackingField": {
        "type": "string",
        "default": "viz_mark_stacking",
        "trait": "MarkBar"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "proven-in-generated-apps"
  },
  {
    "name": "VizOpacityControls",
    "displayName": "VizOpacityControls",
    "description": "Edits the chart's opacity encoding.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "authoring",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form"
    ],
    "traits": [
      "EncodingOpacity"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizOpacityControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizOpacityControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizOpacityControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizOpacityControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizOpacityControls",
            "build record (not shipped): vue-measured.json#VizOpacityControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizOpacityControls",
            "packages/components-react/test/accessibility.spec.tsx#VizOpacityControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizOpacityControls",
            "packages/components-vue/test/accessibility.spec.ts#VizOpacityControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizOpacityControls",
            "build record (not shipped): vue-theme/report.json#VizOpacityControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizOpacityControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizOpacityControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizOpacityControls",
            "build record (not shipped): vue-measured.json#VizOpacityControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizOpacityControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizOpacityControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizOpacityControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizOpacityControls"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingOpacity"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizOpacitySummary",
    "displayName": "VizOpacitySummary",
    "description": "Summarizes the configured opacity encoding.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "authoring",
      "viz"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form"
    ],
    "traits": [
      "EncodingOpacity"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizOpacitySummary"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizOpacitySummary"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizOpacitySummary"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizOpacitySummary"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizOpacitySummary",
            "build record (not shipped): vue-measured.json#VizOpacitySummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizOpacitySummary",
            "packages/components-react/test/accessibility.spec.tsx#VizOpacitySummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizOpacitySummary",
            "packages/components-vue/test/accessibility.spec.ts#VizOpacitySummary"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizOpacitySummary",
            "build record (not shipped): vue-theme/report.json#VizOpacitySummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizOpacitySummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizOpacitySummary"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizOpacitySummary",
            "build record (not shipped): vue-measured.json#VizOpacitySummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizOpacitySummary",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizOpacitySummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizOpacitySummary",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizOpacitySummary"
          ],
          "reason": "VizOpacitySummary displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingOpacity"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizPointControls",
    "displayName": "VizPointControls",
    "description": "Edits the settings for point marks.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "distribution",
      "mark",
      "point",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "MarkPoint"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizPointControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizPointControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizPointControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizPointControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizPointControls",
            "build record (not shipped): vue-measured.json#VizPointControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizPointControls",
            "packages/components-react/test/accessibility.spec.tsx#VizPointControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizPointControls",
            "packages/components-vue/test/accessibility.spec.ts#VizPointControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizPointControls",
            "build record (not shipped): vue-theme/report.json#VizPointControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizPointControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizPointControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizPointControls",
            "build record (not shipped): vue-measured.json#VizPointControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizPointControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizPointControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizPointControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizPointControls"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "MarkPoint"
      },
      "shapeField": {
        "type": "string",
        "default": "viz_point_shape",
        "trait": "MarkPoint"
      },
      "sizeField": {
        "type": "string",
        "default": "viz_point_size",
        "trait": "MarkPoint"
      },
      "opacityField": {
        "type": "string",
        "default": "viz_point_opacity",
        "trait": "MarkPoint"
      },
      "strokeField": {
        "type": "string",
        "default": "viz_point_stroke_width",
        "trait": "MarkPoint"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizPointPreview",
    "displayName": "VizPointPreview",
    "description": "Displays point marks from bound chart data.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "distribution",
      "mark",
      "point",
      "viz"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "MarkPoint"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizPointPreview"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizPointPreview"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizPointPreview"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizPointPreview"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizPointPreview",
            "build record (not shipped): vue-measured.json#VizPointPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizPointPreview",
            "packages/components-react/test/accessibility.spec.tsx#VizPointPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizPointPreview",
            "packages/components-vue/test/accessibility.spec.ts#VizPointPreview"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizPointPreview",
            "build record (not shipped): vue-theme/report.json#VizPointPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizPointPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizPointPreview"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizPointPreview",
            "build record (not shipped): vue-measured.json#VizPointPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizPointPreview",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizPointPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizPointPreview",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizPointPreview"
          ],
          "reason": "VizPointPreview displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "svgParameter": {
        "type": "string",
        "default": "previewSvg",
        "trait": "MarkPoint"
      },
      "shapeField": {
        "type": "string",
        "default": "viz_point_shape",
        "trait": "MarkPoint"
      },
      "sizeField": {
        "type": "string",
        "default": "viz_point_size",
        "trait": "MarkPoint"
      },
      "fillField": {
        "type": "string",
        "default": "viz_point_fill",
        "trait": "MarkPoint"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizRoleBadge",
    "displayName": "VizRoleBadge",
    "description": "Labels a field's role in a chart.",
    "categories": [
      "viz.mark"
    ],
    "tags": [
      "area",
      "band",
      "bar",
      "comparison",
      "distribution",
      "line",
      "mark",
      "point",
      "trend",
      "viz"
    ],
    "contexts": [
      "list"
    ],
    "regions": [
      "dashboard",
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "MarkArea",
      "MarkBar",
      "MarkLine",
      "MarkPoint"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizRoleBadge"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizRoleBadge"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizRoleBadge"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizRoleBadge"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizRoleBadge",
            "build record (not shipped): vue-measured.json#VizRoleBadge",
            "packages/components-react/evidence/react-readiness.v1.json#VizRoleBadge",
            "packages/components-react/test/accessibility.spec.tsx#VizRoleBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizRoleBadge",
            "packages/components-vue/test/accessibility.spec.ts#VizRoleBadge"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizRoleBadge",
            "build record (not shipped): vue-theme/report.json#VizRoleBadge",
            "packages/components-react/evidence/react-readiness.v1.json#VizRoleBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizRoleBadge"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizRoleBadge",
            "build record (not shipped): vue-measured.json#VizRoleBadge",
            "packages/components-react/evidence/react-readiness.v1.json#VizRoleBadge",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizRoleBadge",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizRoleBadge",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizRoleBadge"
          ],
          "reason": "VizRoleBadge displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "MarkPoint"
      },
      "labelField": {
        "type": "string",
        "default": "viz_mark_role",
        "trait": "MarkPoint"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizScaleControls",
    "displayName": "VizScaleControls",
    "description": "Edits scale settings for a visual encoding.",
    "categories": [
      "viz.scale"
    ],
    "tags": [
      "linear",
      "scale",
      "temporal",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form"
    ],
    "traits": [
      "ScaleLinear",
      "ScaleTemporal"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizScaleControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizScaleControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizScaleControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScaleControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizScaleControls",
            "build record (not shipped): vue-measured.json#VizScaleControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizScaleControls",
            "packages/components-react/test/accessibility.spec.tsx#VizScaleControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScaleControls",
            "packages/components-vue/test/accessibility.spec.ts#VizScaleControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizScaleControls",
            "build record (not shipped): vue-theme/report.json#VizScaleControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizScaleControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScaleControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizScaleControls",
            "build record (not shipped): vue-measured.json#VizScaleControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizScaleControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizScaleControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScaleControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizScaleControls"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "ScaleTemporal"
      },
      "type": {
        "type": "string",
        "default": "temporal",
        "trait": "ScaleTemporal"
      },
      "domainMinField": {
        "type": "string",
        "default": "viz_scale_temporal_domain_start",
        "trait": "ScaleTemporal"
      },
      "domainMaxField": {
        "type": "string",
        "default": "viz_scale_temporal_domain_end",
        "trait": "ScaleTemporal"
      },
      "rangeMinField": {
        "type": "string",
        "default": "viz_scale_temporal_range_min",
        "trait": "ScaleTemporal"
      },
      "rangeMaxField": {
        "type": "string",
        "default": "viz_scale_temporal_range_max",
        "trait": "ScaleTemporal"
      },
      "zeroField": {
        "type": "string",
        "default": "viz_scale_linear_zero_baseline",
        "trait": "ScaleLinear"
      },
      "modeField": {
        "type": "string",
        "default": "viz_scale_linear_mode",
        "trait": "ScaleLinear"
      },
      "niceField": {
        "type": "string",
        "default": "viz_scale_temporal_nice",
        "trait": "ScaleTemporal"
      },
      "formatField": {
        "type": "string",
        "default": "viz_scale_temporal_output_format",
        "trait": "ScaleTemporal"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizScaleSummary",
    "displayName": "VizScaleSummary",
    "description": "Summarizes the configured visual scales.",
    "categories": [
      "viz.scale"
    ],
    "tags": [
      "linear",
      "scale",
      "temporal",
      "viz"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form"
    ],
    "traits": [
      "ScaleLinear",
      "ScaleTemporal"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizScaleSummary"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizScaleSummary"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizScaleSummary"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScaleSummary"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizScaleSummary",
            "build record (not shipped): vue-measured.json#VizScaleSummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizScaleSummary",
            "packages/components-react/test/accessibility.spec.tsx#VizScaleSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScaleSummary",
            "packages/components-vue/test/accessibility.spec.ts#VizScaleSummary"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizScaleSummary",
            "build record (not shipped): vue-theme/report.json#VizScaleSummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizScaleSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScaleSummary"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizScaleSummary",
            "build record (not shipped): vue-measured.json#VizScaleSummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizScaleSummary",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizScaleSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScaleSummary",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizScaleSummary"
          ],
          "reason": "VizScaleSummary displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "ScaleTemporal"
      },
      "type": {
        "type": "string",
        "default": "temporal",
        "trait": "ScaleTemporal"
      },
      "domainMinField": {
        "type": "string",
        "default": "viz_scale_temporal_domain_start",
        "trait": "ScaleTemporal"
      },
      "domainMaxField": {
        "type": "string",
        "default": "viz_scale_temporal_domain_end",
        "trait": "ScaleTemporal"
      },
      "modeField": {
        "type": "string",
        "default": "viz_scale_linear_mode",
        "trait": "ScaleLinear"
      },
      "zeroField": {
        "type": "string",
        "default": "viz_scale_linear_zero_baseline",
        "trait": "ScaleLinear"
      },
      "niceField": {
        "type": "string",
        "default": "viz_scale_temporal_nice",
        "trait": "ScaleTemporal"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizScatterControls",
    "displayName": "VizScatterControls",
    "description": "Edits the settings for a scatter plot.",
    "categories": [
      "viz.pattern"
    ],
    "tags": [
      "authoring",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form"
    ],
    "traits": [
      "ScatterPlot"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizScatterControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizScatterControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizScatterControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScatterControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizScatterControls",
            "build record (not shipped): vue-measured.json#VizScatterControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizScatterControls",
            "packages/components-react/test/accessibility.spec.tsx#VizScatterControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScatterControls",
            "packages/components-vue/test/accessibility.spec.ts#VizScatterControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizScatterControls",
            "build record (not shipped): vue-theme/report.json#VizScatterControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizScatterControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScatterControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizScatterControls",
            "build record (not shipped): vue-measured.json#VizScatterControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizScatterControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizScatterControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScatterControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizScatterControls"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "ScatterPlot"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizScatterPreview",
    "displayName": "VizScatterPreview",
    "description": "Displays a scatter plot from bound chart data.",
    "categories": [
      "viz.pattern"
    ],
    "tags": [
      "authoring",
      "viz"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form"
    ],
    "traits": [
      "ScatterPlot"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizScatterPreview"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizScatterPreview"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizScatterPreview"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScatterPreview"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizScatterPreview",
            "build record (not shipped): vue-measured.json#VizScatterPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizScatterPreview",
            "packages/components-react/test/accessibility.spec.tsx#VizScatterPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScatterPreview",
            "packages/components-vue/test/accessibility.spec.ts#VizScatterPreview"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizScatterPreview",
            "build record (not shipped): vue-theme/report.json#VizScatterPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizScatterPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScatterPreview"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizScatterPreview",
            "build record (not shipped): vue-measured.json#VizScatterPreview",
            "packages/components-react/evidence/react-readiness.v1.json#VizScatterPreview",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizScatterPreview",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizScatterPreview",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizScatterPreview"
          ],
          "reason": "VizScatterPreview displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "svgParameter": {
        "type": "string",
        "default": "previewSvg",
        "trait": "ScatterPlot"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      },
      "vue": {
        "description": {
          "type": "string",
          "optional": true
        },
        "height": {
          "type": "number",
          "optional": true
        },
        "svg": {
          "type": "string",
          "optional": true
        },
        "svgDark": {
          "type": "string",
          "optional": true
        },
        "svgDarkNarrow": {
          "type": "string",
          "optional": true
        },
        "svgDarkWide": {
          "type": "string",
          "optional": true
        },
        "svgHc": {
          "type": "string",
          "optional": true
        },
        "svgHcNarrow": {
          "type": "string",
          "optional": true
        },
        "svgHcWide": {
          "type": "string",
          "optional": true
        },
        "svgNarrow": {
          "type": "string",
          "optional": true
        },
        "svgWide": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "width": {
          "type": "number",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizShapeControls",
    "displayName": "VizShapeControls",
    "description": "Edits the chart's shape encoding.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "authoring",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "form"
    ],
    "traits": [
      "EncodingShape"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizShapeControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizShapeControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizShapeControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizShapeControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizShapeControls",
            "build record (not shipped): vue-measured.json#VizShapeControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizShapeControls",
            "packages/components-react/test/accessibility.spec.tsx#VizShapeControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizShapeControls",
            "packages/components-vue/test/accessibility.spec.ts#VizShapeControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizShapeControls",
            "build record (not shipped): vue-theme/report.json#VizShapeControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizShapeControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizShapeControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizShapeControls",
            "build record (not shipped): vue-measured.json#VizShapeControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizShapeControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizShapeControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizShapeControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizShapeControls"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingShape"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizShapeLegend",
    "displayName": "VizShapeLegend",
    "description": "Explains the shapes assigned to chart categories.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "authoring",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "form"
    ],
    "traits": [
      "EncodingShape"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizShapeLegend"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizShapeLegend"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizShapeLegend"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizShapeLegend"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizShapeLegend",
            "build record (not shipped): vue-measured.json#VizShapeLegend",
            "packages/components-react/evidence/react-readiness.v1.json#VizShapeLegend",
            "packages/components-react/test/accessibility.spec.tsx#VizShapeLegend",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizShapeLegend",
            "packages/components-vue/test/accessibility.spec.ts#VizShapeLegend"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizShapeLegend",
            "build record (not shipped): vue-theme/report.json#VizShapeLegend",
            "packages/components-react/evidence/react-readiness.v1.json#VizShapeLegend",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizShapeLegend"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizShapeLegend",
            "build record (not shipped): vue-measured.json#VizShapeLegend",
            "packages/components-react/evidence/react-readiness.v1.json#VizShapeLegend",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizShapeLegend",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizShapeLegend",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizShapeLegend"
          ]
        }
      }
    },
    "status": "stable",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingShape"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizSizeControls",
    "displayName": "VizSizeControls",
    "description": "Edits the chart's size encoding.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "encoding",
      "size",
      "viz"
    ],
    "contexts": [
      "form"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "EncodingSize"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizSizeControls"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizSizeControls"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizSizeControls"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizSizeControls"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizSizeControls",
            "build record (not shipped): vue-measured.json#VizSizeControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizSizeControls",
            "packages/components-react/test/accessibility.spec.tsx#VizSizeControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizSizeControls",
            "packages/components-vue/test/accessibility.spec.ts#VizSizeControls"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizSizeControls",
            "build record (not shipped): vue-theme/report.json#VizSizeControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizSizeControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizSizeControls"
          ]
        },
        "interaction": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizSizeControls",
            "build record (not shipped): vue-measured.json#VizSizeControls",
            "packages/components-react/evidence/react-readiness.v1.json#VizSizeControls",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizSizeControls",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizSizeControls",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizSizeControls"
          ]
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingSize"
      },
      "strategyField": {
        "type": "string",
        "default": "viz_encoding_size_strategy",
        "trait": "EncodingSize"
      },
      "minField": {
        "type": "string",
        "default": "viz_encoding_size_range_min",
        "trait": "EncodingSize"
      },
      "maxField": {
        "type": "string",
        "default": "viz_encoding_size_range_max",
        "trait": "EncodingSize"
      },
      "minAreaField": {
        "type": "string",
        "default": "viz_encoding_size_min_area",
        "trait": "EncodingSize"
      },
      "maxAreaField": {
        "type": "string",
        "default": "viz_encoding_size_max_area",
        "trait": "EncodingSize"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "onChange": {
          "type": "((value: VizIntentFragment) => void)",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "\"x\" | \"y\"",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  },
  {
    "name": "VizSizeSummary",
    "displayName": "VizSizeSummary",
    "description": "Summarizes the configured size encoding.",
    "categories": [
      "viz.encoding"
    ],
    "tags": [
      "encoding",
      "size",
      "viz"
    ],
    "contexts": [
      "detail"
    ],
    "regions": [
      "detail",
      "form",
      "list"
    ],
    "traits": [
      "EncodingSize"
    ],
    "productReality": {
      "schemaVersion": "1.0.0",
      "proposedClassification": "recipe",
      "reconciliationState": "proposed-awaiting-approval",
      "surfaces": {
        "contract": {
          "state": "versioned-v1",
          "evidence": [
            "packages/component-contracts/src/contracts.ts#VizSizeSummary"
          ]
        },
        "metadata": {
          "state": "available",
          "evidence": [
            "artifacts/structured-data/oods-components-2026-03-06.json"
          ]
        },
        "html": {
          "state": "mapped",
          "evidence": [
            "packages/mcp-server/src/render/component-map.ts#renderVizSizeSummary"
          ]
        },
        "react": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-react/evidence/react-readiness.v1.json#VizSizeSummary"
          ]
        },
        "vue": {
          "state": "implemented-evidence-complete",
          "evidence": [
            "packages/components-vue/evidence/vue-readiness.v1.json#VizSizeSummary"
          ]
        },
        "generatedConsumer": {
          "state": "unavailable",
          "evidence": [
            "packages/mcp-server/registry/runtime-cells.v1.json"
          ],
          "reason": "No current runtime cell places this component; historical receipts do not establish current coverage."
        },
        "accessibility": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-measured.json#VizSizeSummary",
            "build record (not shipped): vue-measured.json#VizSizeSummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizSizeSummary",
            "packages/components-react/test/accessibility.spec.tsx#VizSizeSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizSizeSummary",
            "packages/components-vue/test/accessibility.spec.ts#VizSizeSummary"
          ]
        },
        "theme": {
          "state": "verified",
          "evidence": [
            "build record (not shipped): react-theme/report.json#VizSizeSummary",
            "build record (not shipped): vue-theme/report.json#VizSizeSummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizSizeSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizSizeSummary"
          ]
        },
        "interaction": {
          "state": "not-applicable",
          "evidence": [
            "build record (not shipped): react-measured.json#VizSizeSummary",
            "build record (not shipped): vue-measured.json#VizSizeSummary",
            "packages/components-react/evidence/react-readiness.v1.json#VizSizeSummary",
            "packages/components-react/test/scenario-interactions.spec.tsx#VizSizeSummary",
            "packages/components-vue/evidence/vue-readiness.v1.json#VizSizeSummary",
            "packages/components-vue/test/scenario-interactions.spec.ts#VizSizeSummary"
          ],
          "reason": "VizSizeSummary displays an authored chart input or rendered static SVG and owns no focusable control or consumer action."
        }
      }
    },
    "status": "stable",
    "maturity": "alpha",
    "propSchema": {
      "intentParameter": {
        "type": "string",
        "default": "renderIntent",
        "trait": "EncodingSize"
      },
      "field": {
        "type": "string",
        "default": "viz_encoding_size_field",
        "trait": "EncodingSize"
      },
      "strategyField": {
        "type": "string",
        "default": "viz_encoding_size_strategy",
        "trait": "EncodingSize"
      },
      "minField": {
        "type": "string",
        "default": "viz_encoding_size_range_min",
        "trait": "EncodingSize"
      },
      "maxField": {
        "type": "string",
        "default": "viz_encoding_size_range_max",
        "trait": "EncodingSize"
      }
    },
    "propSchemaTarget": "html",
    "propTypes": {
      "react": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      },
      "vue": {
        "channel": {
          "type": "VizChannel",
          "optional": true
        },
        "id": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "value": {
          "type": "VizIntentFragment",
          "optional": true
        }
      }
    },
    "slots": {},
    "readiness": "react-and-vue"
  }
]
