# PostSync Pro — Learning Workspace

**Working folder for RAG / vector learning.**  
All new learning-model work happens here before it is wired into `src/lib/rag/`.

---

## Prefer this: independent vertical channel data

Reusable learning data is **separated by channel → destination → media** (not combined):

**[`data/vertical/`](./data/vertical/)** — Facebook account/page, LinkedIn account/page, Instagram, YouTube, Twitter × content / image / video

### Knowledge-base RAG (customer audience → GPT-4o mini)

Source MD: [`../knowledge_base/`](../knowledge_base/)  
Independent vectors (untouched vertical/legacy indexes):

| Platform | Vectors |
|----------|---------|
| Facebook | `../data/knowledge/facebook/chunks.json` |
| LinkedIn | `../data/knowledge/linkedin/chunks.json` |
| Instagram | `../data/knowledge/instagram/chunks.json` |

```bash
npm run learning:build-knowledge
node learning/scripts/query-knowledge.mjs facebook "Create IT manager audience"
```

| Slice example | Path |
|---------------|------|
| FB Page images | `data/vertical/facebook/page/image/posts.json` |
| FB Page image vectors | `data/vertical/facebook/page/vectors/image.chunks.json` |
| LI Company Page text | `data/vertical/linkedin/page/content/posts.json` |
| LI member videos | `data/vertical/linkedin/account/video/posts.json` |

How to reuse: [`data/vertical/HOW-TO-REUSE.md`](./data/vertical/HOW-TO-REUSE.md)

```bash
npm run learning:seed-vertical
npm run learning:build-vertical
node learning/scripts/query-vertical.mjs facebook page image "launch photo"
node learning/scripts/query-vertical.mjs linkedin page content "company announcement"
```

---

## Quick answers

| Question | Answer |
|----------|--------|
| Where is the **learning model**? | [`model/`](./model/) + [`LEARNING-MODEL.md`](./LEARNING-MODEL.md) |
| Where is **channel learning data**? | [`data/vertical/{channel}/{destination}/`](./data/vertical/) — **separate files** |
| Where are **per-slice vectors**? | `data/vertical/.../vectors/{content\|image\|video}.chunks.json` |
| Old combined vectors? | `data/vectors/chunks.json` (legacy demo only — do not use for channel reuse) |
| Do I **need** vectors in the database? | **Not for v1.** Separate files first. Optional: `sql/009_rag_chunks.sql` with channel filters. |

---

## SDLC layout

| Phase | Folder |
|-------|--------|
| 1 Requirements | [`sdlc/01-requirements/`](./sdlc/01-requirements/) |
| 2 Analysis & Design | [`sdlc/02-analysis-design/`](./sdlc/02-analysis-design/) |
| 3 Implementation | [`sdlc/03-implementation/`](./sdlc/03-implementation/) |
| 4 Testing | [`sdlc/04-testing/`](./sdlc/04-testing/) |
| 5 Deployment | [`sdlc/05-deployment/`](./sdlc/05-deployment/) |
| 6 Maintenance | [`sdlc/06-maintenance/`](./sdlc/06-maintenance/) |

---

## Folder map

```
learning/
├── README.md
├── LEARNING-MODEL.md
├── sdlc/
├── model/
├── scripts/          # seed-vertical, build-vertical, query-vertical
├── data/
│   ├── vertical/     # ★ independent channel learning data
│   ├── sources/      # legacy combined sources
│   └── vectors/      # legacy combined vectors
└── sql/
```
