# Vertical Learning Data (Separate Channels)

**Independent, reusable learning datasets** — one channel / destination / media type at a time.  
**Nothing is combined** into a single mega-file for production use.

## Layout rule

```
learning/data/vertical/
  {channel}/
    {destination}/          # account | page | business | channel
      schema.json           # API + field contract (reusable)
      content/posts.json    # text-only learning posts
      image/posts.json      # image + caption learning posts
      video/posts.json      # video + caption learning posts
      vectors/
        content.chunks.json
        image.chunks.json
        video.chunks.json
        manifest.json
```

## Channels

| Channel | Destinations | Media folders |
|---------|--------------|---------------|
| `facebook` | `account`, `page` | content, image, video |
| `linkedin` | `account` (member), `page` (company) | content, image, video |
| `instagram` | `business` | content, image, video |
| `youtube` | `channel` | content, image, video |
| `twitter` | `account` | content, image, video |

## Rebuild separate vectors

```bash
node learning/scripts/build-vertical-vectors.mjs
# or one slice:
node learning/scripts/build-vertical-vectors.mjs facebook page image
```

## Query one slice only

```bash
node learning/scripts/query-vertical.mjs facebook page image "product launch photo post"
node learning/scripts/query-vertical.mjs linkedin page content "company page announcement"
```

## Catalog

See [`catalog.json`](./catalog.json) for every path and status.
