<!-- source-hash: 46c409eeb72da32ccf9384919a0c8ba0 -->
React card component for displaying product release information in two density variants (`lg` and `sm`), used across OpenFrame's releases catalog, Flamingo's DevCenter, and related-content rails.

## Key Components

### Types & Interfaces

| Export | Description |
|--------|-------------|
| `ProductReleaseCardSize` | Union type `'lg' \| 'sm'` controlling card density |
| `ProductReleaseCardAnchorProps` | Structural `<a>` prop bundle for consumer-controlled routing (href, target, rel, onClick) |
| `ProductReleaseCardProps` | Full prop surface for the card component |

### `ProductReleaseCard`

The primary export. Renders in two layout modes:

- **`lg` (default):** Three-zone rich card — hero (16:9 cover + version pill + title + summary), changelog stats strip (features/fixes/improvements/breaking counts), and a 4-cell metadata grid (Type · Status · Released · Author). Author cell falls back to an `EMPTY_AUTHOR_PLACEHOLDER` shape to prevent skeleton reflow.
- **`sm`:** Compact horizontal layout (~80px tall) for chat messages and tight inline surfaces. Replaces `<h3>` with `<span>`, uses a `<span>`-anchored link wrapper, and renders: 56px icon + 1-line title + version/date meta.

## Usage Example

```typescript
import { ProductReleaseCard } from './product-release-card'

// Large catalog card with full metadata
<ProductReleaseCard
  size="lg"
  title="OpenFrame 2.1.0"
  summary="Unified AI-driven interface improvements and new automation hooks."
  version="2.1.0"
  formattedDate="May 2026"
  coverImage="https://cdn.flamingo.run/releases/2.1.0.jpg"
  releaseType="minor"
  releaseStatus="stable"
  releaseTypeBadgeColor="success"
  changelogCounts={{ features: 8, fixes: 5, improvements: 3, breaking: 0 }}
  author={{ full_name: "Jane Doe", avatar_url: null, job_title: "Engineer" }}
  anchorProps={{ href: "/releases/2.1.0", onClick: handleNav }}
/>

// Compact inline card (e.g., inside a chat message)
<ProductReleaseCard
  size="sm"
  title="OpenFrame 2.1.0"
  version="2.1.0"
  formattedDate="May 2026"
  anchorProps={{ href: "/releases/2.1.0" }}
/>
```

## Notes

- **Routing:** Prefer `anchorProps` (from the hub's `useNavLink`) over the legacy `onClick` prop. When both are provided, `anchorProps` wins.
- **Author cell:** Always rendered using `effectiveAuthor` (falls back to `{ full_name: '—', avatar_url: null, job_title: 'Unknown' }`) to maintain a fixed 4-column grid and prevent skeleton reflow.
- **Inline duplication policy:** The `lg` metadata grid intentionally duplicates the hub's `<EntityAuthorCard>` visuals — the OSS lib carries zero hub imports by design. Keep both in lockstep when cell padding, divider styles, or avatar sizes change.