{
  "schemaVersion": "1.0.0",
  "purpose": "Known reusable UI inventory that is recorded but not yet promised as a stable package export.",
  "candidates": [
    {
      "id": "calendar-popover",
      "classification": "planned-primitive",
      "priority": "P1",
      "referenceSources": ["launcher", "task-manager"],
      "expectedPackage": "@nodedc/ui-react",
      "dependsOn": ["dropdown", "button", "field"],
      "requiredBehavior": ["portal", "locale-aware labels", "single date", "date range", "keyboard navigation"],
      "reasonNotBaseline": "Current Launcher and Task Manager implementations must be reconciled before one API is declared canonical."
    },
    {
      "id": "profile-menu",
      "classification": "planned-pattern",
      "priority": "P1",
      "referenceSources": ["launcher", "task-manager"],
      "expectedPackage": "@nodedc/ui-react",
      "dependsOn": ["dropdown", "button", "status-badge"],
      "requiredBehavior": ["avatar trigger", "identity summary", "role/workspace switch", "logout action"],
      "reasonNotBaseline": "Identity and role data contracts differ between Hub and Ops and must remain application-owned."
    },
    {
      "id": "action-dropdown",
      "classification": "planned-pattern",
      "priority": "P1",
      "referenceSources": ["task-manager", "launcher"],
      "expectedPackage": "@nodedc/ui-react",
      "dependsOn": ["dropdown"],
      "requiredBehavior": ["commands", "disabled rows", "danger row", "optional groups", "keyboard navigation"],
      "reasonNotBaseline": "Floating behavior is stable; command-row API still needs validation against Ops consumers."
    },
    {
      "id": "data-table",
      "classification": "planned-pattern",
      "priority": "P1",
      "referenceSources": ["launcher", "task-manager"],
      "expectedPackage": "@nodedc/ui-react",
      "dependsOn": ["button", "select", "status-badge", "field"],
      "requiredBehavior": ["toolbar", "responsive overflow", "row actions", "editable cells", "loading", "empty state"],
      "reasonNotBaseline": "The library should own presentation and interaction slots, not adopt Launcher entity schemas or Plane table models."
    },
    {
      "id": "avatar-stack",
      "classification": "planned-primitive",
      "priority": "P1",
      "referenceSources": ["engine", "task-manager"],
      "expectedPackage": "@nodedc/ui-react",
      "dependsOn": ["dropdown"],
      "requiredBehavior": ["overflow count", "presence", "picker mode", "fallback initials"],
      "reasonNotBaseline": "Engine picker behavior and Task Manager presence semantics must not be coupled accidentally."
    },
    {
      "id": "service-rail-card",
      "classification": "product-pattern",
      "priority": "P2",
      "referenceSources": ["launcher"],
      "expectedPackage": "@nodedc/ui-react",
      "dependsOn": ["glass-surface", "status-badge", "button"],
      "requiredBehavior": ["ambient media", "access status", "selected state", "open/request action"],
      "reasonNotBaseline": "Likely reusable for product catalogs, but current contract is tightly connected to Launcher service data."
    },
    {
      "id": "work-item-card",
      "classification": "product-pattern",
      "priority": "P2",
      "referenceSources": ["task-manager"],
      "expectedPackage": "@nodedc/ui-react",
      "dependsOn": ["glass-surface", "avatar-stack", "status-badge", "action-dropdown"],
      "requiredBehavior": ["selected state", "drag state", "assignees", "dates", "quick actions"],
      "reasonNotBaseline": "The visual pattern is mature, but task-domain fields must be separated from the reusable card shell."
    },
    {
      "id": "tooltip",
      "classification": "missing-primitive",
      "priority": "P2",
      "referenceSources": ["launcher", "task-manager", "engine"],
      "expectedPackage": "@nodedc/ui-react",
      "dependsOn": ["dropdown"],
      "requiredBehavior": ["hover", "focus", "delay", "viewport placement"],
      "reasonNotBaseline": "Needs a small dedicated accessibility contract rather than reuse of an application tooltip."
    },
    {
      "id": "empty-loading-error",
      "classification": "planned-pattern",
      "priority": "P2",
      "referenceSources": ["launcher", "seo", "task-manager"],
      "expectedPackage": "@nodedc/ui-react",
      "dependsOn": ["button", "status-badge"],
      "requiredBehavior": ["empty message", "retry", "loading progress", "fatal error"],
      "reasonNotBaseline": "Copy and domain actions vary; the layout contract still needs examples from all product families."
    }
  ]
}
