<!-- source-hash: c5cc84322439cd96dae36a797cb9a2cb -->
Defines the `ContentRef` interface — the unified shape for link/embed references stored in JSONB columns across entities such as investor updates and performance baselines that surface "related content" rails.

## Key Components

### `ContentRef` Interface

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `type` | `string` | ✅ | Content type identifier (e.g., `"video"`, `"article"`) |
| `id` | `string` | ✅ | Unique content identifier |
| `slug` | `string` | ✅ | URL-friendly slug |
| `url` | `string` | ✅ | Canonical URL of the referenced content |
| `targetPlatform` | `string \| null` | ❌ | Platform hint (e.g., `"youtube"`, `"notion"`) |
| `title` | `string` | ✅ | Display title |
| `summary` | `string` | ❌ | Short description or excerpt |
| `image_url` | `string` | ❌ | Thumbnail or preview image URL |
| `image_bg_color` | `string` | ❌ | Background color for image placeholder |
| `visibility` | `'public' \| 'internal'` | ✅ | Access scope |
| `display_order` | `number` | ✅ | Sort position within its parent list |

## Usage Example

```typescript
import type { ContentRef } from './content-ref';

const ref: ContentRef = {
  type: 'video',
  id: 'abc123',
  slug: 'q1-investor-update',
  url: 'https://www.youtube.com/watch?v=abc123',
  targetPlatform: 'youtube',
  title: 'Q1 2025 Investor Update',
  summary: 'Quarterly performance highlights and roadmap preview.',
  image_url: 'https://img.youtube.com/vi/abc123/hqdefault.jpg',
  visibility: 'internal',
  display_order: 1,
};
```

> **Note:** This type is shared across client and server. Server-side data utilities (e.g., JSONB serialization, fetch helpers) remain hub-side and should import this interface rather than redeclare it locally.